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 address 10.0.0.1/24
set interfaces ethernet eth1 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 address 10.0.0.2/24
set interfaces ethernet eth0 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 eth1 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 ip pim
set interfaces ethernet eth1 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 ip igmp
set interfaces ethernet eth0 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

Step 6: Modify the following configuration lines in DUT0 :

set interfaces ethernet eth1 ip igmp query-interval 24
set interfaces ethernet eth1 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 the command protocols igmp show static-group on DUT0 and check whether the output contains the following tokens:

239.1.1.1
Show output
Interface        Address         Source          Group
eth1             20.0.0.1        *               239.1.1.1

Step 8: Run the command protocols ip show multicast route on DUT0 and check whether the 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   pimreg  1    00:00:01
                           IGMP          eth1    1

Note

Start tcpdump on DUT0 input interface to verify multicast arrives

Step 9: Run the command traffic dump monitor interface eth0 on 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 the command monitor test connection client 239.1.1.1 1234 udp source-port 1235 on 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, link-type EN10MB (Ethernet), snapshot length 262144 bytes
13:35:28.702076 IP 10.0.0.2.1235 > 239.1.1.1.1234: UDP