[c-nsp] IPv4 Multicast Service Reflection
Eugene Grosbein
eugen at grosbein.net
Mon Jul 3 21:35:53 EDT 2023
Hi!
We implemented IPv4 Multicast Service Reflection (for IPTV) several years ago
and it worked just fine until several weeks ago our reflectors started corrupting a picture.
To be specific: we have a vlan 412 with upstream IPv4 multicast source
for about 100 multicast groups/IPTV channels from same provider that supports
both of IGMP join and PIM. This source comes via single 1Gbps optical L2 port
to our 7600 RSP720-3C-GE core router, the port load is 357Mbps at max.
We also use several Cisco 7201 routers connected to the same vlan as PIM routers
and Multicast Service Reflectors. Each of 7201 routers joins nonoverlapping set of groups on its Gi0/0,
performs multicast-to-multicast reflection and sends result over its Gi0/1.14 back
to the same 7600 core router that is a PIM router, too.
CPU load of 7201 routers is steady and less than 60%.
Incoming streams contain nice and clean pictures and until recently reflected streams were fine, too.
Suddenly reflected streams went bad with visual artefacts due to severe skipped frames (over 2.2%)
and discontinues in transport streams and I started looking closely. No errors at physical layer,
no bad CRC, no packet drops, no full buffers. However, physical ports load graphs show that
7600 started flooding some part of reflected multicasts back to the vlan 412 and
now 7201 routers have to receive and drop extra multicast traffic received over its Gi0/1 ports, upto 100Mbps.
Gi0/1 ports of 7201 routers are supposed to have nearly zero input load but that's not true anymore.
I suspect this may be the source of the problem as I already tried to replace 7201 routers,
switch their connections to the 7600 from copper ports to optical ones and vise versa, no changes at all.
Also, I rebooted 7600 core router having uptime over 6 years, no changes too.
I also mirrored traffic sent inadequately from 7600 to Gi0/1 of 7201 and my packet analyzer
shows reflected streams there. I cannot understand why. 7600 has IGMP snooping and PIM snooping enabled
and should not behave so, to my understanding...
Some part of 7600 router configuration running image c7600rsp72043-adventerprisek9-mz.152-4.S6:
! bidir unused really, PIM-SM in use only
ip pim bidir-enable
ip pim rp-address A.A.A.A list1 override
ip pim rp-address B.B.B.B list2 override
...
ip pim rp-address F.F.F.F list6 override
ip pim autorp listener
ip pim send-rp-announce Loopback0 scope 4 group-list Bars
ip pim send-rp-discovery Loopback0 scope 4
ip pim rp-announce-filter rp-list iptv-rp group-list all-multicast
ip pim snooping
no ip pim snooping dr-flood
!
interface Vlan412
description "IPTV source"
ip address 172.31.0.2 255.255.255.0
ip pim sparse-mode
ip pim snooping
ip igmp query-interval 125
!
interface Vlan14
description "IPTV reflected"
ip address X.X.X.X 255.255.255.240
! Real PIM DR of upstream has priority 100 and 7201 routers have defaults of 1
ip pim dr-priority 10
ip pim sparse-mode
ip pim snooping
ip igmp query-interval 125
ip igmp snooping querier
end
Some part of 7201 routers configuration:
buffers small permanent 60
buffers small max-free 180
buffers small min-free 25
buffers middle permanent 30
buffers middle max-free 180
buffers middle min-free 15
buffers big permanent 500
buffers big max-free 1500
buffers big min-free 50
buffers verybig permanent 500
buffers verybig max-free 50
buffers verybig min-free 50
!
ip pim rp-address A.A.A.A list1 override
ip pim rp-address B.B.B.B list2 override
...
ip pim rp-address F.F.F.F list6 override
ip pim send-rp-announce Loopback0 scope 4 group-list reflected
ip pim register-rate-limit 8000
!
interface GigabitEthernet0/0
description "Source"
mtu 1636
ip address 172.31.0.11 255.255.255.0
ip pim sparse-mode
ip igmp query-interval 125
load-interval 30
duplex auto
speed 1000
media-type rj45
negotiation auto
hold-queue 4096 in
!
interface GigabitEthernet0/1
mtu 1636
no ip address
! unused, no Netflow generation really
ip flow ingress
load-interval 30
duplex auto
speed 1000
media-type rj45
negotiation auto
hold-queue 4096 in
hold-queue 4096 out
!
interface GigabitEthernet0/1.14
description "Reflected"
encapsulation dot1Q 14
ip address X.X.X.A 255.255.255.240
ip pim sparse-mode
!
interface Vif1
ip address 172.18.0.1 255.255.255.252
! An example for one of multiple reflected groups
ip service reflect GigabitEthernet0/0 destination 239.13.0.1 to 239.45.1.128 mask-len 32 source 172.18.0.2
ip pim sparse-mode
ip igmp static-group 239.13.0.1
!
I'm ready to supply more information, if needed.
More information about the cisco-nsp
mailing list