[f-nsp] Multicast is being switched by LP CPU on MLXe?

Wilbur Smith wsmith at brocade.com
Wed Mar 30 13:45:40 EDT 2016


High CPU on the LP means that there's something that's preventing hardware programming on the LP's packet processor (FPGA). As unlikely as it sounds, when I usually see this on an LP it's because there's a duplicate multicast source IP or a duplicate MAC address. 

Recently, I had a customer using a Linux server as an encoder. An admin just copy and pasted the network ifcfg files of this server onto a new server, but didn't remove or change the MAC address in original config. This created multicast sources with different IPs, but with the same MAC address. There's nothing inside the MLXe that knows there's a duplication (because it's not supposed to happen), so the router is constantly re-programming the Packet Processor back and forth between the two MACs. This constant churn prevents the FID entry from ever being used, so the CPU on the LP tries to handle all of the switching.  But...this may not be a multicast issue. If you still see high CPU after you disable IGMP Snooping, I could temporarily disable the multicast source (if you  can) and see if this reduces the CPU. 

When everything is working correctly, you shouldn't see any real CPU utilization on an LP over a 1 min average. I have a customer pushing 1.2 Terabits of multicast on an original MLX-32 with all LPs running at 1-2%, so the CPU level isn't related to the amount of traffic. What you want to keep in mind is that high LP CPU is usually a symptom of lots of churning of the FID tables on the Packet Processor, so work back from there and think about what could cause that. If you have high matching CPU on the Management Modules? Do you see a spike in the L2 process when you run a Show CPU Proc? Is there a possibility of a L2 loop somewhere? Do you have another process like BGP, OSPF, or STP using a lot of CPU cycles?

Hope this helps as a starting point.

Wilbur  

-----Original Message-----
From: foundry-nsp [mailto:foundry-nsp-bounces at puck.nether.net] On Behalf Of Alexander Shikoff
Sent: Tuesday, March 29, 2016 6:20 AM
To: foundry-nsp at puck.nether.net
Subject: [f-nsp] Multicast is being switched by LP CPU on MLXe?

Hello!

I have some VLANs configured between certain ports on MLXe box (MLXe-16, 5.7.0e).
All ports are in 'no route-only' mode. For example:

telnet at lsr1-gdr.ki(config)#show vlan 720

PORT-VLAN 720, Name V720, Priority Level 0, Priority Force 0, Creation Type STATIC
Topo HW idx    : 65535    Topo SW idx: 257    Topo next vlan: 0
L2 protocols   : NONE
Statically tagged Ports    : ethe 7/1 ethe 9/5 ethe 10/6 ethe 11/6 ethe 13/3 
Associated Virtual Interface Id: NONE
----------------------------------------------------------
Port  Type      Tag-Mode  Protocol  State     
7/1   TRUNK     TAGGED    NONE      FORWARDING
9/5   TRUNK     TAGGED    NONE      FORWARDING
10/6  TRUNK     TAGGED    NONE      FORWARDING
11/6  TRUNK     TAGGED    NONE      FORWARDING
13/3  PHYSICAL  TAGGED    NONE      FORWARDING
Arp Inspection: 0
DHCP Snooping: 0
IPv4 Multicast Snooping: Enabled - Passive
IPv6 Multicast Snooping: Disabled

No Virtual Interfaces configured for this vlan



As you may notice, passive multicast snooping is enabled on that VLAN.
The problem is that multicast traffic is being switched by LP CPU, causing high CPU utilization and packet loss.

It is clearly seen on rconsole:

LP-11#debug packet capture rx include src-port me/6 vlan-id 720 dst-address 233.191.133.96 [...]
**********************************************************************
[ppcr_tx_packet] ACTION: Forward packet using fid 0xa06d
[ppcr_rx_packet]: Packet received
Time stamp : 56 day(s) 20h 48m 05s:,
TM Header: [ 0564 0aa3 0080 ]
Type: Fabric Unicast(0x00000000) Size: 1380 Class: 0 Src sys port: 2723 Dest Port: 0  Drop Prec: 2 Ing Q Sig: 0 Out mirr dis: 0x0 Excl src: 0 Sys mc: 0
**********************************************************************
Packet size: 1374, XPP reason code: 0x000095cc
00: 05f0 0003 5c50 02d0-7941 fffe 8000 0000  FID     = 0x05f0
10: 0100 5e3f 85b0 e4d3-f17d a7c5 0800 4516  Offset  = 0x10
20: 0540 0000 4000 7e11-f89f b060 df26 e9bf  VLAN    = 720(0x02d0)
30: 85b0 04d2 04d2 052c-0000 4701 3717 8134  CAM     = 0x0ffff(R)
40: 01d0 92de c56f 18f6-dc4f 8d00 1273 cdb3  SFLOW   = 0
50: c3ff 3da8 2600 5a37-cfbe 993f dbfd c927  DBL TAG = 0
60: 8000 8290 ef9b 7638-9089 9a50 5000 8611
70: 2026 0079 8de2 a404-1013 dffd 04e0 1404
Pri CPU MON SRC   PType US BRD DAV SAV DPV SV ER TXA SAS Tag MVID
0   0   0   11/6  3     0  1   0   1   1   1  0  0   0   1   0

176.96.223.38 -> 233.191.133.176 UDP [1234 -> 1234]
**********************************************************************

As far as I understand documentation that should not happen.
The situation remains the same if I disable IGMP snooping.

Any ideas/suggestions is kindly appreciated!

Thanks in advance.

--
MINO-RIPE
_______________________________________________
foundry-nsp mailing list
foundry-nsp at puck.nether.net
https://urldefense.proofpoint.com/v2/url?u=http-3A__puck.nether.net_mailman_listinfo_foundry-2Dnsp&d=CwICAg&c=IL_XqQWOjubgfqINi2jTzg&r=l86Fj-WC0GHHSCjQjuUvTzxOj0iW25AHL3VIC5Dog8o&m=WPk4eVQmFKiXCfefjUdaL3F5XLDDJiGTkS5lzLjgtHk&s=CIQiBvRtCiKC8nH_4Cm4bNCUKrkySL6Zvqi9MEzYn7s&e= 


More information about the foundry-nsp mailing list