igmp_snooping
This is an old revision of the document!
Table of Contents
IGMP Snooping / Forwarding Behaviour
Port states
- mrouter (router port)
- subscriber (port belongs to established multicast group)
- none
Forwarding cases (igmp snooping enabled on vlan)
- multicast traffic received on “none” port
- if no mrouter present, flood to all ports
- otherwise flood to mrouter ports
- igmp received on “none” port
- if no mrouter present, ignore frame (no group is created)
- otherwise
- creates multicast group
- forwards to mrouter ports only
- port becomes “subscriber”
- multicast traffic received on “mrouter” port
- send to established group members only
- igmp received on “mrouter” port
- creates multicast group
- forwards to mrouter ports only
Other notes
- if igmp snooping is disabled, multicast traffic is flooded to all ports in vlan, regardless of frame nature (i.e. it is igmp or not); static multicast fdb entries are ignored;
- mrouters can be statically configured while igmp snooping is disabled on vlan, but they are ignored until igmp snooping is enabled; when igmp snooping is enabled, the rules listed above apply;
Implementation Approach
Analyzing the forwarding cases, it turns out that when incoming packets are forwarded to more than one port at the same time, they are forwarded to either all ports in a specific igmp group or all mrouter ports (but not a mix of the two). In other words, depending on the igmp snooping logic, either an igmp group or a list of mrouter ports is sufficient to determine which ports to forward to.
Forwarding to ports in an igmp group
Forwarding to mrouter ports
CLI Commands
exec#
sh ip igmp snooping [vlan x] sh ip igmp snooping groups [vlan x] [dynamic|user] [count] etc sh ip igmp snooping mrouter [vlan x]
config#
[no] ip igmp snooping vlan x mrouter interface y [no] ip igmp snooping vlan x static a.b.c.d interface y
Useful links
igmp_snooping.1240774177.txt.gz · Last modified: by blade
