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.1Show 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.1Show 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