Page MenuHomeVyOS Platform

Multicast does not forward after reboot
Closed, ResolvedPublicBUG

Description

It is difficult to reproduce this issue because it depends on the hardware or virtual environment.
Network diagram:
VyOS as a multicast router has 2 vlans on one physical interface.
One vlan is for the multicast sender, the other one is for the multicast receiver.
In my lab I use GNS3 with VMWare Workstation.
Receiver and Sender - Windows 10 with VLC

Configuration:

set interfaces dummy dum0 address '10.1.100.1/32'
set interfaces ethernet eth2 duplex 'auto'
set interfaces ethernet eth2 hw-id '0c:74:22:d5:00:02'
set interfaces ethernet eth2 speed 'auto'
set interfaces ethernet eth2 vif 95 address '10.1.95.1/24'
set interfaces ethernet eth2 vif 95 description 'Sender'
set interfaces ethernet eth2 vif 95 mac '7c:5a:1c:da:0f:95'
set interfaces ethernet eth2 vif 96 address '10.1.96.1/24'
set interfaces ethernet eth2 vif 96 description 'Receiver'
set interfaces ethernet eth2 vif 96 mac '7c:5a:1c:da:0f:96'
set protocols igmp interface dum0
set protocols igmp interface eth2.94
set protocols igmp interface eth2.95
set protocols igmp interface eth2.96
set protocols pim interface dum0
set protocols pim interface eth2.94
set protocols pim interface eth2.95
set protocols pim interface eth2.96
set protocols pim rp address 10.1.100.1 group '224.0.0.0/4'
set protocols static
set service snmp community snmpbi
set service snmp community test-lab
set service snmp contact 'test1234'
set service snmp listen-address 10.1.95.1 port '161'
set service snmp location 'test-lab'
set service ssh port '22'
set system config-management commit-revisions '100'
set system conntrack modules tftp
set system host-name 'vyos'
set system ipv6 disable
set system ipv6 disable-forwarding
set system syslog global facility all level 'info'
set system syslog global facility protocols level 'debug'
set system syslog host 10.0.2.106 facility all level 'info'
set system time-zone 'UTC'

Sender IP: 10.1.95.10
Receiver IP: 10.1.96.10

Logs:

vyos@vyos:~$ show ip pim state
Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN, M -> Muted
Active Source           Group            RPT  IIF               OIL
0      *                239.255.95.23    y    <iif?>
1      10.1.95.10       239.255.95.23    n    eth2.95

vyos@vyos:~$ show ip pim interfaces
Interface         State          Address  PIM Nbrs           PIM DR  FHR IfChannels
dum0                 up       10.1.100.1         0          0.0.0.0    0          0
eth2.94              up        10.1.94.1         0          0.0.0.0    0          0
eth2.95              up        10.1.95.1         0          0.0.0.0    0          0
eth2.96              up        10.1.96.1         0          0.0.0.0    0          0
pimreg               up          0.0.0.0         0            local    0          0

vyos@vyos:~$ show ip igmp groups
Total IGMP groups: 3
Watermark warn limit(Not Set): 0
Interface        Address         Group           Mode Timer    Srcs V Uptime
eth2.96          10.1.96.1       239.255.95.23   EXCL 00:03:52    1 3 00:02:09

vyos@vyos:~$ show ip igmp interfaces
Interface         State          Address  V  Querier  Query Timer    Uptime
dum0                 up       10.1.100.1  3    local     00:00:56  00:22:30
eth2.94              up        10.1.94.1  3    local     00:00:57  00:22:29
eth2.95              up        10.1.95.1  3    local     00:00:57  00:22:29
eth2.96              up        10.1.96.1  3    local     00:00:57  00:22:29


vyos@vyos:~$ show ip igmp sources
Interface        Address         Group           Source          Timer Fwd Uptime
eth2.96          10.1.96.1       239.255.95.23   *               02:55   N 00:03:05

Debug of FRR:

May 17 08:17:21 vyos pimd[1347]:     Recv IGMP report v3 from 10.1.96.10 on eth2.96: record=0 type=2 auxdatalen=0 sources=0 group=239.255.95.23
May 17 08:17:21 vyos pimd[1347]: igmpv3_report_isex: from 10.1.96.10 on eth2.96: group=239.255.95.23 sources=0
May 17 08:17:21 vyos pimd[1347]: Resetting source * timer to GMI=260.000 sec for group 239.255.95.23 on eth2.96
May 17 08:17:21 vyos pimd[1347]: Cancelling TIMER event for group 239.255.95.23 source * on eth2.96
May 17 08:17:21 vyos pimd[1347]: Scheduling 260.000 sec TIMER event for group 239.255.95.23 source * on eth2.96
May 17 08:17:21 vyos pimd[1347]: igmp_source_forward_start: (S,G)=(*,239.255.95.23) igmp_sock=17 oif=eth2.96 fwd=0
May 17 08:17:21 vyos pimd[1347]: igmp_source_forward_start: (*,239.255.95.23) was received on eth2.96 interface but we are not DR for that interface
May 17 08:17:21 vyos pimd[1347]: Resetting group 239.255.95.23 timer to GMI=260.000 sec on eth2.96
May 17 08:17:21 vyos pimd[1347]: Cancelling TIMER event for group 239.255.95.23 on eth2.96
May 17 08:17:21 vyos pimd[1347]: Scheduling 260.000 sec TIMER event for group 239.255.95.23 on eth2.96

Multicast is not forwarded
If I disable eth2 and enable it again, Multicast starts forwarding.
After reboot, Multicast is not forwarded.

Deleting the next commands helped in my environment, but did not help in others.

set system ipv6 disable
set system ipv6 disable-forwarding

The solution to this problem was to add execution priority to the IGMP config script.
I added the same priority as for the PIM config script

vyos@vyos:~$ sudo cat /opt/vyatta/share/vyatta-cfg/templates/protocols/igmp/node.def
priority: 400
help: Internet Group Management Protocol (IGMP)
end: sudo sh -c "${vyshim} ${vyos_conf_scripts_dir}/protocols_igmp.py"

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.3.7
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

a.apostoliuk triaged this task as Normal priority.
a.apostoliuk changed the task status from Open to In progress.May 17 2024, 8:35 AM
a.apostoliuk claimed this task.
a.apostoliuk changed the task status from In progress to Needs testing.May 22 2024, 7:58 AM