<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: X670 CPU defend against broadcast, multicast, IPV6 in ExtremeSwitching (EXOS/Switch Engine)</title>
    <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71165#M18870</link>
    <description>&lt;P&gt;You should be aware that in some of the old platforms, rate limiting works very differently from what at least I expect and it can give surprising results. The switch tops up the token bucket and counts packets every 1/64000 seconds (which equals 15.625 microseconds). This is true for X440, X460 and also X670(-G1) as it’s the same generation platform.&lt;/P&gt;&lt;P&gt;“To process one packet, 64000 tokens are required.“&lt;/P&gt;&lt;P&gt;&lt;A href="https://extremeportal.force.com/ExtrArticleDetail?an=000083176" target="_blank" rel="nofollow noreferrer noopener"&gt;https://extremeportal.force.com/ExtrArticleDetail?an=000083176&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The article gets very technical and complicated very quickly. Thus, you cannot say “I want to pass 200 pps”. You can only say “I want to top up the token bucket with, say, 200 tokens every 1/64000 seconds”. You do this by writing:&lt;/P&gt;&lt;P&gt;configure port 1 rate-limit flood broadcast 200&lt;/P&gt;&lt;P&gt;It will then take 200/64000 seconds to fill the token bucket enough to let one packet through, that is ~3 ms. If a broadcast packet is received after 2.99 ms, it will be blocked.&lt;/P&gt;&lt;P&gt;It’s not entirely clear, but it seems the bucket is emptied every second. That means that if you have a rate of 200 configured and don’t receive any broadcasts for 998 ms, you will have tokens enough to pass 199 packets back-to back (no pause between them). This, however, will not be true if the 199 packets happen to come at a time recently after the bucket is emptied. This means that regardless of what limit you set, you can end up with multiple packets being allowed sometimes and blocked sometimes, depending on when in the second they happen to arrive.&lt;/P&gt;&lt;P&gt;I know, it’s complicated...&lt;/P&gt;&lt;P&gt;If your X670 can use EXOS 21, the algorithms have changed fundamentally and rate limiting will work more like one would expect.&lt;/P&gt;</description>
    <pubDate>Tue, 02 Mar 2021 02:32:33 GMT</pubDate>
    <dc:creator>FredrikB</dc:creator>
    <dc:date>2021-03-02T02:32:33Z</dc:date>
    <item>
      <title>X670 CPU defend against broadcast, multicast, IPV6</title>
      <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71161#M18866</link>
      <description>&lt;P&gt;Hi. Im preparing pair of x670-G1 for mlag production and in process of testing&amp;nbsp;some fail scenarios in lab.&amp;nbsp;Since production switches working in heavy l2 load enviroment, i have potential probability of broadcast\multicast storm.&lt;/P&gt; &lt;P&gt;X670 platform control plane protection&amp;nbsp;desingn сompared to similar Huawei or Juniper Trident+ devices looks very poor.&lt;/P&gt; &lt;P&gt;Im running on 16.1\16,2 trail.&amp;nbsp;&lt;BR /&gt; Digging in to XOS guide gives me following:&lt;BR /&gt;&lt;BR /&gt; Normally, x670 will send to CPU following packets:&lt;/P&gt; &lt;P&gt;0 : Broadcast and IPv6 packets&lt;/P&gt; &lt;P&gt;1 : sFlow packets&lt;/P&gt; &lt;P&gt;2 : vMAC destined packets (VRRP MAC and ESRP MAC)&lt;/P&gt; &lt;P&gt;3 : L3 Miss packets (ARP request not resolved) or L2 Miss packets (Software MAC learning)&lt;/P&gt; &lt;P&gt;&amp;nbsp;4 : Multicast traffic not hitting hardware ipmc table (224.0.0.0/4 normal IP multicast packets neither IGMP nor PIM)&lt;/P&gt; &lt;P&gt;&amp;nbsp;5 : ARP reply packets or packets destined for switch itself&lt;/P&gt; &lt;P&gt;&amp;nbsp;6 : IGMP or PIM packets&lt;/P&gt; &lt;P&gt;&amp;nbsp;7 : Packets whose TOS field is "0xc0" and Ethertype is "0x0800", or STP, EAPS, EDP, OSPF packets&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;Mitigation:&lt;/P&gt; &lt;P&gt;Like been said, XOS have not any centralised control plane policy like others. You cannot set rate of ARP or any other protocol hitting CPU.&lt;/P&gt; &lt;P&gt;1)Storm control on XOS 16.x is very coarse and cant preciesely control rate of BUM traffic - this is related to&amp;nbsp;15.625 ms time slots. So, if i have rate of 300pps on&amp;nbsp;ports, setting flood control rate of 10000 will drop some little amount of packets.&amp;nbsp; This will help, but not much.&lt;/P&gt; &lt;P&gt;This behavior is fixed in 22.x trail, but since im on G1 devices, i cant upgrade, so no luck here.&lt;BR /&gt;&lt;BR /&gt; 2)Yes, i know about&amp;nbsp;dos-protect, but it will not help me in case of storm. Too much source-destination pairs.&lt;/P&gt; &lt;P&gt;3)Policy. Yep, i can use optins like&amp;nbsp;deny-cpu matching broadcast and IPV6.&amp;nbsp; But, i have complex scenario, where L3 ring, MPLS\VPLS. ERPS and OSPF is runnig. Maintainng this with such policy installed will be pure design.&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;After some testing, have some questions here:&amp;nbsp;&lt;BR /&gt; 1)Why switch sends to CPU IPV6 Neighbor Advertisement , Neighbor Solicitation etc frames, when i dont have any IPv6 interface configured ?&amp;nbsp; Can i change&amp;nbsp;this behavior ?&lt;BR /&gt; 2) Same for ARP broadcast - i dont have any L3 interfaces in those vlans.&lt;/P&gt; &lt;P&gt;Currently on production switches i have following rates hitting CPU :&lt;/P&gt; &lt;P&gt;MC_PERQ_PKT(0).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;35,948,519,436 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+7,961,581 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1,064/s&lt;BR /&gt; MC_PERQ_PKT(3).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1,844,892,096 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+1,545,150 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1/s&lt;BR /&gt; MC_PERQ_PKT(4).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;28,464,148 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +10,055&lt;BR /&gt; MC_PERQ_PKT(5).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3,008,692,593 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+714,726 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;80/s&lt;BR /&gt; MC_PERQ_PKT(6).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 191,770,235 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +67,442 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10/s&lt;BR /&gt; MC_PERQ_PKT(7).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,289,556,745 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+667,560 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;88/s&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;Will be glad to hear and advice about CPU protection on X670 platform.&lt;BR /&gt; &amp;nbsp;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2020 16:07:01 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71161#M18866</guid>
      <dc:creator>Nikolay_Chernya</dc:creator>
      <dc:date>2020-02-13T16:07:01Z</dc:date>
    </item>
    <item>
      <title>Re: X670 CPU defend against broadcast, multicast, IPV6</title>
      <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71162#M18867</link>
      <description>&lt;P&gt;Hello Nikolay Chernyaev,&lt;/P&gt; &lt;P&gt;The interface cpu0 is the same kind of interfaces which are belongs to l2 domain. So by hardware design all broadcast should be replicated to all intefaces including cpu0.&lt;BR /&gt; That is why you could observe broadcast ARPs and IPv6 lifted up to the CPU in the MC_PERQ_PKT(0) queue. This is expected and could not be changed. In a case of a pure l2 vlan you could safely flood this in hardware and avoid them (acl action "redirect-vlan"). However for L3 vlans the hosts sending huge broadcast should be controlled.&lt;/P&gt; &lt;P&gt;Example for multicast case - &lt;A href="https://gtacknowledge.extremenetworks.com/articles/How_To/How-to-flood-service-multicast-in-a-hardware-instead-of-lifting-to-the-CPU/" target="_blank" rel="nofollow noreferrer noopener"&gt;https://gtacknowledge.extremenetworks.com/articles/How_To/How-to-flood-service-multicast-in-a-hardware-instead-of-lifting-to-the-CPU/&lt;/A&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;Best Regards,&lt;BR /&gt; Nikolay&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2020 18:34:14 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71162#M18867</guid>
      <dc:creator>Necheporenko__N</dc:creator>
      <dc:date>2020-02-13T18:34:14Z</dc:date>
    </item>
    <item>
      <title>Re: X670 CPU defend against broadcast, multicast, IPV6</title>
      <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71163#M18868</link>
      <description>&lt;P&gt;Have just tested in lab. Action&amp;nbsp;"redirect-vlan"&amp;nbsp; have no effect, packets reaches cpu anyway in other queue.&lt;BR /&gt; Packets are matched, couners is grouing.&lt;/P&gt; &lt;P&gt;In dump i can see broadcast arp.&lt;/P&gt; &lt;P&gt;MC_PERQ_PKT(2).cpu0 &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4,511,330 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+1,311,178 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;38,188/s&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;Tested with&amp;nbsp;“deny-cpu” action, packets are just flooded with no CPU hit&amp;nbsp;&amp;nbsp;&lt;BR /&gt; 15Mpps storm just passing thru, with around 15% CPU usage.&lt;BR /&gt; But, as been said, this is pure design in complex enviroment, to put such policy on all ports.&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;Any more thoughts ?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2020 19:57:11 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71163#M18868</guid>
      <dc:creator>Nikolay_Chernya</dc:creator>
      <dc:date>2020-02-13T19:57:11Z</dc:date>
    </item>
    <item>
      <title>Re: X670 CPU defend against broadcast, multicast, IPV6</title>
      <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71164#M18869</link>
      <description>&lt;P&gt;In ExtremeXOS 16.2.5-Patch1-22 (Apr 2020) storm-control fix was announced:&lt;BR /&gt;xos0063205 Even though the traffic rate is below the configured flood rate limit, traffic is dropped.&lt;BR /&gt;&lt;BR /&gt;But here is also issue with that fix:&lt;BR /&gt;Port config:&lt;BR /&gt;configure port 1 rate-limit flood broadcast 500 out-actions log disable-port&lt;BR /&gt;configure port 1 rate-limit flood multicast 500 out-actions log disable-port&lt;BR /&gt;configure port 1 rate-limit flood unknown-destmac 500 out-actions log&lt;BR /&gt;&lt;BR /&gt;So, if host connected to port 1 will flood unknown unicast, this traffic should be just rate limited to 500pps.&lt;BR /&gt;Actualy,&amp;nbsp;"disable-port” is triggered instead of just “log”.&lt;BR /&gt;just tested and confirmed in lab on&amp;nbsp;16.2.5.4 16.2.5.4-patch1-29.&lt;/P&gt;</description>
      <pubDate>Mon, 15 Feb 2021 20:42:04 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71164#M18869</guid>
      <dc:creator>Nikolay_Chernya</dc:creator>
      <dc:date>2021-02-15T20:42:04Z</dc:date>
    </item>
    <item>
      <title>Re: X670 CPU defend against broadcast, multicast, IPV6</title>
      <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71165#M18870</link>
      <description>&lt;P&gt;You should be aware that in some of the old platforms, rate limiting works very differently from what at least I expect and it can give surprising results. The switch tops up the token bucket and counts packets every 1/64000 seconds (which equals 15.625 microseconds). This is true for X440, X460 and also X670(-G1) as it’s the same generation platform.&lt;/P&gt;&lt;P&gt;“To process one packet, 64000 tokens are required.“&lt;/P&gt;&lt;P&gt;&lt;A href="https://extremeportal.force.com/ExtrArticleDetail?an=000083176" target="_blank" rel="nofollow noreferrer noopener"&gt;https://extremeportal.force.com/ExtrArticleDetail?an=000083176&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The article gets very technical and complicated very quickly. Thus, you cannot say “I want to pass 200 pps”. You can only say “I want to top up the token bucket with, say, 200 tokens every 1/64000 seconds”. You do this by writing:&lt;/P&gt;&lt;P&gt;configure port 1 rate-limit flood broadcast 200&lt;/P&gt;&lt;P&gt;It will then take 200/64000 seconds to fill the token bucket enough to let one packet through, that is ~3 ms. If a broadcast packet is received after 2.99 ms, it will be blocked.&lt;/P&gt;&lt;P&gt;It’s not entirely clear, but it seems the bucket is emptied every second. That means that if you have a rate of 200 configured and don’t receive any broadcasts for 998 ms, you will have tokens enough to pass 199 packets back-to back (no pause between them). This, however, will not be true if the 199 packets happen to come at a time recently after the bucket is emptied. This means that regardless of what limit you set, you can end up with multiple packets being allowed sometimes and blocked sometimes, depending on when in the second they happen to arrive.&lt;/P&gt;&lt;P&gt;I know, it’s complicated...&lt;/P&gt;&lt;P&gt;If your X670 can use EXOS 21, the algorithms have changed fundamentally and rate limiting will work more like one would expect.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Mar 2021 02:32:33 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71165#M18870</guid>
      <dc:creator>FredrikB</dc:creator>
      <dc:date>2021-03-02T02:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: X670 CPU defend against broadcast, multicast, IPV6</title>
      <link>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71166#M18871</link>
      <description>&lt;P&gt;I beleve token bucket algoritm was replaced here :&lt;BR /&gt;In ExtremeXOS 16.2.5-Patch1-22 (Apr 2020) storm-control fix was announced:&lt;BR /&gt;xos0063205 Even though the traffic rate is below the configured flood rate limit, traffic is dropped.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Mar 2021 22:31:11 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremeswitching-exos-switch/x670-cpu-defend-against-broadcast-multicast-ipv6/m-p/71166#M18871</guid>
      <dc:creator>Nikolay_Chernya</dc:creator>
      <dc:date>2021-03-05T22:31:11Z</dc:date>
    </item>
  </channel>
</rss>

