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

Alexander Shikoff minotaur at crete.org.ua
Wed Mar 30 06:21:46 EDT 2016


On Wed, Mar 30, 2016 at 12:24:03PM +0300, Alexander Shikoff wrote:
> Hi!
> 
> On Wed, Mar 30, 2016 at 08:34:43AM +0000, Jan Pedersen wrote:
> >    Multicast cpu-protection and snooping is not possible at the same time.
> > 
> > 
> >    Have you configured both multicast passive and multicast pimsm-snooping under the vlan
> >    configuration for vlan 720?
> Nope, there is no PIM in VLAN 720 et-all.
> Customers are using IGMP v2 in order to access multicast streams.
> Anyway, I've configured both multicast passive and multicast pimsm-snooping,
> and that didn't help. Multicast packets are still forwarded by CPU.
> 
> The only thing which helped a bit is 'multicast-flooding' in VLAN 
> configuration, but it seems that then IGMP packets does not pass that VLAN...
> I'm debugging that right now.

Well,

1. Let's consider following configuration:

telnet at lsr1-gdr.ki#show run | b 980
vlan 980 name V980
 tagged ethe 5/8 ethe 7/1 ethe 9/5 ethe 10/6 ethe 11/6 
 no multicast-passive
 

With such config. I see IGMP reports/queries from both customer and IPTV provider:

12:57:13.907825 e4:d3:f1:7d:a7:e8 > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 176.96.223.203 > 224.0.0.1: igmp query v2
12:57:22.228748 d8:fe:e3:a8:5c:cc > 01:00:5e:3f:85:b0, ethertype IPv4 (0x0800), length 42: 192.168.210.2 > 233.191.133.176: igmp v2 report 233.191.133.176
12:58:14.065293 e4:d3:f1:7d:a7:e8 > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 176.96.223.203 > 224.0.0.1: igmp query v2
12:58:23.078744 d8:fe:e3:a8:5c:cc > 01:00:5e:3f:85:b0, ethertype IPv4 (0x0800), length 42: 192.168.210.2 > 233.191.133.176: igmp v2 report 233.191.133.176

But multicast packets are forwarded by CPU:
**********************************************************************
[ppcr_tx_packet] ACTION: Forward packet using fid 0xa01a
[ppcr_rx_packet]: Packet received
Time stamp : 57 day(s) 18h 30m 28s:,
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: 0x00006fa4
00: 05f0 0003 5c50 03d4-7941 fffe 8000 0000  FID     = 0x05f0
10: 0100 5e3f 85b0 e4d3-f17d a7e8 0800 4516  Offset  = 0x10
20: 0540 0000 4000 7e11-f89f b060 df26 e9bf  VLAN    = 980(0x03d4)
30: 85b0 04d2 04d2 052c-0000 4701 3716 c04f  CAM     = 0x0ffff(R)
40: c309 9f38 2400 3805-bf85 0d2b c00e 804c  SFLOW   = 0
50: 5a40 3521 e001 823c-5a33 fc82 244d e058  DBL TAG = 0
60: a1b8 9ef8 8170 0d64-0c00 6e43 2900 0bc0
70: 3501 8935 29c1 5971-08a2 6e00 cc04 e199
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] 
**********************************************************************



2. Let's enable multicast-passive to monitor groups:
vlan 980 name V980
 tagged ethe 5/8 ethe 7/1 ethe 9/5 ethe 10/6 ethe 11/6 
  multicast passive
  
  Now I see groups, for example

telnet at lsr1-gdr.ki#show ip multicast vlan 980 233.191.133.176
----------+-----+---------+---------------+-----+-----+------
VLAN       State Mode      Active          Time (*, G)(S, G) 
                           Querier         Query Count Count 
----------+-----+---------+---------------+-----+-----+------
980        Ena   Passive   176.96.223.203  37    9     7     
----------+-----+---------+---------------+-----+-----+------

Router ports: 11/6 (40s)

Flags-  R: Router Port,  V2|V3: IGMP Receiver,  P_G|P_SG: PIM Join

  1    (*, 233.191.133.176) 00:02:56    NumOIF: 2       profile: none
          Outgoing Interfaces:
               e9/5 vlan 980 ( V2) 00:02:35/32s
               e11/6 vlan 980 ( R) 00:02:40/40s

  1    (176.96.223.38, 233.191.133.176) in e11/6 vlan 980 00:02:56      NumOIF: 1  profile: none
          Outgoing Interfaces:
               TR(e9/5,e9/5) vlan 980 ( V2) 00:02:35/0s
          FID: 0xa0ac     MVID: None     

Also I see IGMP reports/queries as previously:
13:06:15.369744 e4:d3:f1:7d:a7:e8 > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 176.96.223.203 > 224.0.0.1: igmp query v2
13:06:22.174711 d8:fe:e3:a8:5c:cc > 01:00:5e:3f:85:b0, ethertype IPv4 (0x0800), length 42: 192.168.210.2 > 233.191.133.176: igmp v2 report 233.191.133.176
13:07:15.523997 e4:d3:f1:7d:a7:e8 > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 176.96.223.203 > 224.0.0.1: igmp query v2
13:07:25.274359 d8:fe:e3:a8:5c:cc > 01:00:5e:3f:85:b0, ethertype IPv4 (0x0800), length 42: 192.168.210.2 > 233.191.133.176: igmp v2 report 233.191.133.176


But multicast packets are still forwarded by CPU:
**********************************************************************
[ppcr_tx_packet] ACTION: Forward packet using fid 0xa099
[ppcr_rx_packet]: Packet received
Time stamp : 57 day(s) 18h 34m 24s:,
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: 0x0000a7a8
00: 05f0 0003 5c50 03d4-7941 fffe 8000 0000  FID     = 0x05f0
10: 0100 5e3f 85b0 e4d3-f17d a7e8 0800 4516  Offset  = 0x10
20: 0540 0000 4000 7e11-f89f b060 df26 e9bf  VLAN    = 980(0x03d4)
30: 85b0 04d2 04d2 052c-0000 4701 371d ddd4  CAM     = 0x0ffff(R)
40: 3e36 f772 8008 63de-be1d 24a0 537b b599  SFLOW   = 0
50: 1cf8 584f 5c3e 8267-fed6 f8ab ad00 63a2  DBL TAG = 0
60: b4e1 914c 884b 6fb8-d5e0 02ac f4af 5243
70: 77c0 1ab7 1589 5b7c-5711 e2f8 d0e0 84b0
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]
**********************************************************************



3. Let's enable multicast-flooding:

vlan 980 name V980
 tagged ethe 5/8 ethe 7/1 ethe 9/5 ethe 10/6 ethe 11/6 
 no multicast passive
 multicast-flooding

Now packets are forwarded (to be more precise, flooded) in hardware,
but now I don't see IGMP queries from IPTV provider, and IPTV provider
does not see IGMP reports from me.

As workaround, provider con make static multicast groups but that
is not an option if multicast VLAN has a lot of ports...

-- 
MINO-RIPE


More information about the foundry-nsp mailing list