Check Igmp Static Group

IGMP static groups allow configuring multicast group membership statically on an interface, without requiring dynamic IGMP joins from hosts. This test verifies that two VMs can exchange multicast traffic when a static group is configured.

Test IGMP Static Group

Description

This scenario demonstrates how to configure a static IGMP group on DUT0 to forward multicast traffic from DUT1 to DUT2. Unlike dynamic IGMP membership, the static group ensures that multicast traffic for the specified group is always forwarded to the interface, regardless of IGMP join messages from hosts.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 vif 101 address 10.0.0.1/24
set interfaces ethernet eth1 vif 102 address 20.0.0.1/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 vif 101 address 10.0.0.2/24
set interfaces ethernet eth0 vif 101 traffic policy out TTL
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy TTL rule 1 set ttl 64

Step 3: Set the following configuration in DUT2 :

set interfaces ethernet eth0 vif 102 address 20.0.0.2/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Note

After configuring IGMP with a static group on DUT0, the group 239.1.1.1 should be present without requiring any IGMP join from DUT2.

Step 4: Modify the following configuration lines in DUT0 :

set interfaces ethernet eth0 vif 101 ip pim
set interfaces ethernet eth1 vif 102 ip pim
set protocols pim rp address 10.0.0.1 group 224.0.0.0/4

Step 5: Modify the following configuration lines in DUT1 :

set interfaces ethernet eth0 vif 101 ip igmp
set interfaces ethernet eth0 vif 101 ip pim
set protocols pim rp address 10.0.0.1 group 224.0.0.0/4
set protocols static route 224.0.0.0/4 interface eth0.101

Step 6: Modify the following configuration lines in DUT0 :

set interfaces ethernet eth1 vif 102 ip igmp query-interval 24
set interfaces ethernet eth1 vif 102 ip igmp static-group 239.1.1.1

Note

After configuring IGMP with a static group on DUT0, the group 239.1.1.1 should be present without requiring any IGMP join from DUT2.

Step 7: Run command protocols igmp show static-group at DUT0 and check if output contains the following tokens:

239.1.1.1
Show output
Interface        Address         Source          Group
eth1.102         20.0.0.1        *               239.1.1.1

Step 8: Run command protocols ip show multicast route at DUT0 and check if output matches the following regular expressions:

[*]\s+239.1.1.1
Show output
IP Multicast Routing Table
Flags: S - Sparse, D - Dense, C - Connected, P - Pruned
       R - SGRpt Pruned, F - Register flag, T - SPT-bit set
 Source  Group      Flags  Proto  Input     Output    TTL  Uptime
 *       239.1.1.1  SC     IGMP   eth0.101  pimreg    1    00:00:01
                           IGMP             eth1.102  1

Note

Start tcpdump on DUT0 input interface to verify multicast arrives

Step 9: Run command traffic dump monitor interface eth0.101 at DUT0.

Note

DUT0 listening

Show output
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening

Note

Start socat on DUT1 to send multicast traffic

Step 10: Run command monitor test connection client 239.1.1.1 1234 udp source-port 1235 at DUT1.

Note

Send message from DUT1 to DUT2

Show output
Hello multicast static group test

Note

Verify packet is captured on DUT0

Show output
 on eth0.101, link-type EN10MB (Ethernet), snapshot length 262144 bytes
13:51:14.731874 IP 10.0.0.2.1235 > 239.1.1.1.1234: UDP