Page MenuHomeVyOS Platform

Fix source address handling in static joins
Closed, ResolvedPublicBUG

Description

The following command expects to join source-specific multicast group 239.1.2.3 on interface eth0,
where the source address is 192.0.2.1.

set protocols igmp interface eth0 join 239.1.2.3 source 192.0.2.1

This command should generate FRR config:

interface eth0
   ip igmp
   ip igmp join 239.1.2.3 192.0.2.1
exit

However, there is a bug in the Jinja template where condition ifaces[iface].gr_join[group] is mostly evaluated as false because iface is a loop variable from another loop.

Details

Difficulty level
Easy (less than an hour)
Version
1.4
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Related Objects

Mentioned In
1.3.6

Event Timeline

syncer changed the task status from Open to Backport pending.Sep 3 2023, 11:43 AM
syncer assigned this task to Viacheslav.
syncer moved this task from Need Triage to Backport Candidates on the VyOS 1.4 Sagitta board.
syncer added subscribers: Viacheslav, syncer.

@Viacheslav, can you backport this to 1.3

syncer triaged this task as Normal priority.Sep 3 2023, 5:44 PM

@syncer At first glance, the generated config is correct for VyOS 1.3-stable-202308240442

set protocols igmp interface eth0 join 239.1.2.3 source '192.0.2.1'
set protocols igmp interface eth1 join 239.1.2.3
set protocols igmp interface eth2

Generated FRR

!
interface eth0
 ip igmp
 ip igmp join 239.1.2.3 192.0.2.1
!
interface eth1
 ip igmp
 ip igmp join 239.1.2.3
!
interface eth2
 ip igmp
!