Добрый день
Ситуация следующая - имеется cisco 7606 в ядре сети, куда подключены источники мультикаста и на котором собственно настроена RP, и от нее кольцом подключены несколько Cisco WS-C4900M, к каждой из которых подключено несколько l3 коммутаторов других вендоров. Трафик будем считать везде плюс минус одинаковый.
Между всеми железками настроен PIM-SM и OSPF. Оговорюсь, мультикаст везде работает, но. На одной конкретной 4900 имеется проблема с высокой загрузкой CPU, грузятся процессы Cat4k Mgmt HiPri и K5CpuMan Review. Когда решил посмотреть что попадает на процессор(ч/з debug platform packet all buffer) с удивлением увидел, что на проц ложится рандомный мультикаст
Пример:
42 days 9:41:26:513252 - RxVlan: 1013, RxPort: Te1/8
Priority: High, Tag: No Tag, Event: L3 Forward, Flags: 0x40, Size: 1362
Eth: Src 68:EF:BD:B5:F1:BF Dst 01:00:5E:7F:05:C5 Type/Len 0x0800
Ip: ver:IpVersion4 len:20 tos:192 totLen:1344 id:0 fragOffset:0 ttl:19 proto:udp
src: 172.16.255.6 dst: 239.255.5.197 firstFragment lastFragment
Где Te1/8 аплинковый интерфейс откуда приходит мультикаст
При этом если посмотреть через show ip mroute(другая группа в примере)
(*, 239.255.5.102), 00:00:43/00:02:46, RP 172.23.176.252, flags: S
Incoming interface: TenGigabitEthernet1/8, RPF nbr 172.23.176.69
Outgoing interface list:
TenGigabitEthernet1/1, Forward/Sparse, 00:00:43/00:02:46
Мы имеем входящий интерфейс, исходящий, но при этом отсутствует запись вида (S,G)
После этого я поставил дебаг pim и заметил странные различия
1. Сообщения когда появляется (S,G) запись и нет нагрузки на CPU
PIM(0): Received v2 Join/Prune on TenGigabitEthernet1/4 from 172.23.177.114, to us
PIM(0): Join-list: (*, 239.255.2.19), RPT-bit set, WC-bit set, S-bit set
PIM(0): Update TenGigabitEthernet1/4/172.23.177.114 to (*, 239.255.2.19), Forward state, by PIM *G Join
PIM(0): Update TenGigabitEthernet1/4/172.23.177.114 to (172.16.2.250, 239.255.2.19), Forward state, by PIM *G Join
PIM(0): Received v2 Join/Prune on TenGigabitEthernet1/4 from 172.23.177.114, to us
PIM(0): Join-list: (*, 239.255.2.19), RPT-bit set, WC-bit set, S-bit set
PIM(0): Update TenGigabitEthernet1/4/172.23.177.114 to (*, 239.255.2.19), Forward state, by PIM *G Join
PIM(0): Update TenGigabitEthernet1/4/172.23.177.114 to (172.16.2.250, 239.255.2.19), Forward state, by PIM *G Join
PIM(0): Received v2 Join/Prune on TenGigabitEthernet1/4 from 172.23.177.114, to us
PIM(0): Join-list: (172.16.2.250/32, 239.255.2.19), S-bit set
PIM(0): Update TenGigabitEthernet1/4/172.23.177.114 to (172.16.2.250, 239.255.2.19), Forward state, by PIM SG Join
PIM(0): Received v2 Join/Prune on TenGigabitEthernet1/4 from 172.23.177.114, to us
PIM(0): Join-list: (172.16.2.250/32, 239.255.2.19), S-bit set
PIM(0): Update TenGigabitEthernet1/4/172.23.177.114 to (172.16.2.250, 239.255.2.19), Forward state, by PIM SG Join
2. При работающем мультикасте, но отсутствующей S,G записью
PIM(0): Received v2 Join/Prune on TenGigabitEthernet1/2 from 172.23.178.130, to us
PIM(0): Join-list: (*, 239.255.40.232), RPT-bit set, WC-bit set, S-bit set
PIM(0): Check RP 172.23.176.252 into the (*, 239.255.40.232) entry
PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 239.255.40.232
PIM(0): Add TenGigabitEthernet1/2/172.23.178.130 to (*, 239.255.40.232), Forward state, by PIM *G Join
PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 239.255.40.232
PIM(0): Insert (*,239.255.40.232) join in nbr 172.23.176.69's queue
PIM(0): Received v2 Join/Prune on TenGigabitEthernet1/2 from 172.23.178.130, to us
PIM(0): Join-list: (*, 239.255.40.232), RPT-bit set, WC-bit set, S-bit set
PIM(0): Update TenGigabitEthernet1/2/172.23.178.130 to (*, 239.255.40.232), Forward state, by PIM *G Join
PIM(0): Building Join/Prune packet for nbr 172.23.176.69
PIM(0): Adding v2 (172.23.176.252/32, 239.255.40.232), WC-bit, RPT-bit, S-bit Join
PIM(0): Send v2 join/prune to 172.23.176.69 (TenGigabitEthernet1/8)
В итоге загрузка в ЧНН достигает 80%(когда на остальных меньше 10) и мне это не нравится. Версия ПО везде одинаковая 15.1(2)SG(только на аплинковом соседе 12.2(53)SG1, но там тоже проблем с мультикастом нет)