Two ways to force an IGMP join

By stretch | Monday, July 21, 2008 at 3:30 a.m. UTC

In some situations it is desirable to manually configure multicast group membership on a router interface, particularly during testing and in the absence of IGMP-capable recipients. IOS provides two commands to statically designate group membership on an interface: ip igmp join-group and ip igmp static-group. So what's the difference? The join-group command makes the router behave as a member of the specified group, whereas the static-group command allows for fast-switching of group traffic out the designated interface(s).

igmp_lab.png

Assume we wish to forward multicast traffic for the 239.10.10.10 group to the 192.168.10.0/24 subnet. To do this, we apply ip igmp join-group 239.10.10.10 to R2's F0/1 interface:

R2(config)# interface f0/1
R2(config-if)# ip igmp join-group 239.10.10.10

We can verify that R1 and R2 now have a multicast route for this group:

R2# show ip mroute 239.10.10.10
...

(*, 239.10.10.10), 00:01:58/00:02:26, RP 1.1.1.1, flags: SJCL
  Incoming interface: FastEthernet0/0, RPF nbr 10.0.0.1
  Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:01:58/00:02:26

A ping to the group from R1 receives a response from R2 (note that two pings are actually sent from R1, thus two replies):

R1# ping 239.10.10.10

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.10.10.10, timeout is 2 seconds:

Reply to request 0 from 10.0.0.2, 16 ms
Reply to request 0 from 10.0.0.2, 24 ms

Now we'll replace the join-group command with static-group. After removing join-group we clear the multicast routing table on both routers and apply ip igmp static-group 239.10.10.10 to R2's F0/1 interface:

R2(config)# interface f0/1
R2(config-if)# no ip igmp join-group 239.10.10.10
R2(config-if)# do clear ip mroute *
R2(config-if)# ip igmp static-group 239.10.10.10

Examining the multicast routing table verifies that we again have and entry for the 239.10.10.10 group on both routers:

R2# show ip mroute 239.10.10.10
...

(*, 239.10.10.10), 00:03:32/stopped, RP 1.1.1.1, flags: SJC
  Incoming interface: FastEthernet0/0, RPF nbr 10.0.0.1
  Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:03:32/00:02:28

However, a ping to the group from R1 fails this time:

R1# ping 239.10.10.10 repeat 5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 239.10.10.10, timeout is 2 seconds:
.....

The ping fails because R2, configured with the static-group command, no longer acts a group member itself; instead, it merely fast-switches multicast traffic out F0/1.

About the Author

Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.

Posted in Multicast

Comments


Chrles (guest)
March 20, 2009 at 4:17 p.m. UTC

This is a great website for network admins. Keep up the great work.


Saad (guest)
February 22, 2010 at 7:04 p.m. UTC

Hi,

I have a question regarding static group command, If I have a switch with interface vlan, if I enable static group, then the multicast traffic will be pushed to all trunks that have the vlan allowed, regardly if there are hosts on these trunks or not, which could be not desired, my question is, can I use the same command at the loopback interface? what I am trying to achieve here is that I want the Mroute to be created and make multicast be available till last point before end users, therefore achieving fast switching but at the same time not pushing the multicast down the links. Would this work? and if yes is there any caveats?

Your help is highly appreciated.

Regards,

Saad


Jodi (guest)
August 19, 2011 at 8:05 a.m. UTC

Hi Jeremy,

Your post clarify my understanding especially for ip igmp static-group
Many thanks man.


Prabhdeep (guest)
April 8, 2012 at 2:27 p.m. UTC

Hi Saad,

The flooding will not happen if the IGMP snooping is enabled on the switch .
By default it is enabled . So when you disable it , that is when the flooding will start .

Thanks
Prabhdeep Nijjar


A guest
September 19, 2012 at 4:53 a.m. UTC

Thanks Jeremy - Very clear and straightforward. One question though - If I do not use "ip igmp join-group 239.10.10.10", and instead have a VLC Player multicasting to 239.10.10.10, shouldn't I be able to get a reply when I ping to 239.10.10.10? I didn't see a reply so I was wondering if this is correct. Can you advise how can I make a host machine (e.g. running VLC) to reply when pinging to the multicast group address?


Amit (guest)
August 1, 2013 at 7:33 a.m. UTC

Very well explained!!!


J.C. (guest)
December 20, 2013 at 6:59 p.m. UTC

I know I am 5 years too late, but using "ip igmp join-group" in a production environment is a bad idea. When you run this command it PROCESS SWITCHES the multicast packets.

Per Cisco's documentation: "Use the ip igmp join-group command to configure an interface on the router to join the specified group or channel. With this method, the router accepts the multicast packets in addition to forwarding them. Accepting the multicast packets prevents the router from fast switching."

The safe thing for testing multicast in a production environment is to use "ip igmp static-group".


SM (guest)
October 7, 2016 at 5:24 p.m. UTC

Great site. Thanks for sharing the know how.

Comments have closed for this article due to its age.