How to distribute packets to all cores with fmc rate limit ?
Hello,
I'm trying to limit the frame rate on T2080RDB. I used this policy and config:
<netpcd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="xmlProject/pcd.xsd" name="example"
description="Bridging configuration">
<policer name="policer_10g">
<algorithm>rfc2698</algorithm>
<color_mode>color_blind</color_mode>
<CIR>120000</CIR>
<EIR>340000</EIR>
<CBS>560000</CBS>
<EBS>780000</EBS>
<unit>packet</unit>
<action condition="on-red" type="drop"/>
</policer>
<distribution name="rp_dist">
<queue count="128" base="0x3800"/>
<action name="policer_10g" type="policer"/>
</distribution>
<policy name="rp1">
<dist_order>
<distributionref name="rp_dist"/>
</dist_order>
</policy>
</netpcd>
<cfgdata>
<config>
<engine name="fm0">
<port type="MAC" number="1" policy="rp1"/>
</engine>
</config>
</cfgdata>
currently rate limit work (with SDK1.9 and SDK2.0); but just one core process all the frames. Is there any way to use all cores with rate limit ?
Thanks.
Hello ömer faruk er,
Ensure that the stream configuration of the traffic generator generates multiple streams.
According to your description, it seems that you only generate on stream in your application.
Please generate multiple streams to do verification, one stream will be assigned to one core, so all cores will be used.
In case the streams have all same IP destination and/or source, the distribution of traffic across multiple cores
wouldn't happen.
Thanks,
Yiping
Thank you for your answer. I want to use one stream and that stream to be processed by all cores. Is it possible to do this ? If anything needs to be changed in my policy, I can change policer or distribution.
Thanks.
Dedicated channels, which are always serviced by a single entity.
Pool channels, which are serviced by pool of like entities, such as a pool of processor cores.
Each interface used by default one pool channel across all software portals and also the dedicated channels of each CPU.
In Linux Kernel, PCD Frame queues in Linux Kernel use dedicated channels.