Cisco 49XX multicast flooding

ciscocisco-catalystmulticasttroubleshooting

I have problem with multicast on cisco 4948.

I've got vlan 9 with muilticast, which configured on several ports. Switch floods multicast traffic on all ports configured with vlan 9. It consumes link bandwidth.

As far as I know this model doesn't support a IGMP snooping querier, so all multicast floods on all ports with vlan 9. As I understand I need to enable L3.

My switch has no routing enabled and no L3 configured at this time, and I try to enable L3 to prevent flooding.

conf t
 ip multicast-routing 

 interface Vlan9
  ip address 10.22.0.161 255.255.255.128
  ip pim sparse-mode
  no shutdown
 end
end

What else should be configured for getting IGMP snooping to work correctly?

Maybe I can get it to work with some static mapping without enabling L3 on switch?

P.S. Now my switch without L3 and multicast routing enabled, snooping is enabled globally as should by default:

catos#show ip igmp snooping vlan 9
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping             : Enabled
IGMPv3 snooping           : Enabled
Report suppression        : Enabled
TCN solicit query         : Disabled
TCN flood query count     : 2

Vlan 9:
--------
IGMP snooping                       : Enabled
IGMPv2 immediate leave              : Disabled
Explicit host tracking              : Enabled
Multicast router learning mode      : pim-dvmrp
CGMP interoperability mode          : IGMP_ONLY

Mrouter is on uplink because I don't have L3 configured now:

catos#show ip igmp snooping mrouter 
Vlan    ports
----    -----
 9    Po1(dynamic)

Under vlan configuration there are no ip commands at all:

catos(config)#vlan 9
catos(config-vlan)#ip?
% Unrecognized command

Under interface:

catos(config-vlan)#int vl9
catos(config-if)#ip igmp s?           
static-group  

And the version of software:

catos#show version 
Cisco IOS Software, Catalyst 4000 L3 Switch Software (cat4000-I5K91S-M), Version 12.2(25)EWA9, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Wed 21-Mar-07 11:58 by tinhuang
Image text-base: 0x10000000, data-base: 0x115C6158

ROM: 12.2(31r)SGA1
Pod Revision 0, Force Revision 34, Tie Revision 20

Catalyst-2 uptime is 8 weeks, 1 hour, 11 minutes
System returned to ROM by reload
System restarted at 11:09:28 EET Tue Dec 4 2018
System image file is "bootflash:cat4000-i5k91s-mz.122-25.EWA9.bin"
...
cisco WS-C4948-10GE (MPC8540) processor (revision 5) with 262144K bytes of memory.
Processor board ID FOX1233GZE3
MPC8540 CPU at 667Mhz, Fixed Module

Btw, I have another such switch with same problem but with little bit another software:

bootflash:cat4500-entservicesk9-mz.122-46.SG.bin"

Finally I've updated my switch with rommon by the way:

Cisco IOS Software, Catalyst 4500 L3 Switch Software (cat4500-ENTSERVICESK9-M), Version 15.0(2)SG11, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2016 by Cisco Systems, Inc.
Compiled Mon 24-Oct-16 09:48 by prod_rel_team
Image text-base: 0x10000000, data-base: 0x123AECA8

ROM: 12.2(31r)SGA7
Pod Revision 0, Force Revision 31, Gill Revision 20

Catalyst-2 uptime is 4 hours, 18 minutes
System returned to ROM by reload
System image file is "bootflash:cat4500-entservicesk9-mz.150-2.SG11.bin"
Last reload reason: Reload command

Flooding is still exists now:

#show ip igmp snooping vlan 9 detail 
Global IGMP Snooping configuration:
-------------------------------------------
IGMP snooping                : Enabled
IGMPv3 snooping              : Enabled
Report suppression           : Enabled
TCN solicit query            : Disabled
TCN flood query count        : 2
Last Member Query Interval   : 1000

Vlan 9:
--------
IGMP snooping                       : Enabled
CAPWAP enabled                      : Disabled
IGMPv2 immediate leave              : Disabled
Explicit host tracking              : Enabled
Multicast router learning mode      : pim-dvmrp
CGMP interoperability mode          : IGMP_ONLY
Last Member Query Interval          : 1000Topology change                     : No

# show ip igmp snooping mrouter vlan 9 
Vlan    ports
----    -----
   9    Po7(dynamic), Switch

# show ip igmp snooping querier vlan 9 detail 
IP address               : 10.0.0.7
IGMP version             : v2
Port                     : Switch
Max response time        : 10s


Global IGMP switch querier status
--------------------------------------------------------
admin state                    : Enabled
admin version                  : 2
source IP address              : 0.0.0.0        
query-interval (sec)           : 60
max-response-time (sec)        : 10
querier-timeout (sec)          : 120
tcn query count                : 2
tcn query interval (sec)       : 10

Vlan 9:   IGMP switch querier status
--------------------------------------------------------
elected querier is 10.0.0.7       (this switch querier)
--------------------------------------------------------
admin state                    : Enabled (state configured)
admin version                  : 2
source IP address              : 10.0.0.7      
query-interval (sec)           : 60
max-response-time (sec)        : 10
querier-timeout (sec)          : 120
tcn query count                : 2
tcn query interval (sec)       : 10
operational state              : Querier
operational version            : 2
tcn query pending count        : 0

# show ip igmp snooping groups vlan 9 count 
Total number of groups in Vlan 9:   152

# show ip igmp snooping groups vlan 9       
Vlan      Group                    Version     Port List
---------------------------------------------------------
  9       239.1.0.1                v2          Po7
  9       239.1.0.2                v2          Po7
...
  9       239.1.0.253              v2          Po7
  9       239.1.0.254              v2          Po7
  9       239.255.255.250          v2          Po7

10.0.0.7 is my switch management address which belongs to local VRF.
Flooding image

Some mac multicast entries:

  #show mac address-table multicast 
Multicast Entries
 vlan    mac address     type    ports
-------+---------------+-------+--------------------------------------------
   9    0100.5e01.0001     igmp Po7
   9    0100.5e01.0002     igmp Po7
 ...
   9    0100.5e01.00fe     igmp Po7
   9    0100.5e7f.fffa     igmp Po7
   9    ffff.ffff.ffff   system Gi1/31,Po7

Maybe snooping is working, but not as expected. Another vendors doesn't forward traffic if device doesn't need it. And more newer cisco models too.

This is snooping configuration from another cisco 4948 which suffers from the same problem.

#show ip igmp snooping vlan 9
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping              : Enabled
IGMPv3 snooping            : Enabled
Report suppression         : Enabled
TCN solicit query          : Disabled
TCN flood query count      : 2
Last Member Query Interval : 1000

Vlan 9:
--------
IGMP snooping                       : Enabled
IGMPv2 immediate leave              : Disabled
Explicit host tracking              : Enabled
Multicast router learning mode      : pim-dvmrp
Last Member Query Interval          : 1000
CGMP interoperability mode          : IGMP_ONLY

#show mac address-table multicast vlan 9
Multicast Entries
 vlan    mac address     type    ports
-------+---------------+-------+--------------------------------------------
   9    0100.5e7f.fffa     igmp Gi1/42,Po5
   9    ffff.ffff.ffff   system Gi1/18,Gi1/22,Gi1/24,Gi1/25,Gi1/26,Gi1/28
                                Gi1/32,Gi1/38,Gi1/39,Gi1/42,Po5

If you look ad diagrams traffic burst are absolutly identical, but I do not have such problems on Extreme/EdgeCore devices at all out of the box without configuration.
Green image from one switch, last image from totally different switch:
Traffic Image

Best Answer

After upgrading to the latest IOS release for the Cisco 4500/4900 series switch, you will have full support for IGMP version 1 and 2, including IGMP Snooping Querier.

IGMP Snooping Querier support was introduced in Cisco IOS Release 12.2(50)SG. This is a Layer 2 feature required to support IGMP snooping in a VLAN where PIM and IGMP are not configured because the multicast traffic does not require routing.

In a network where IP multicast routing is configured, the IP multicast router acts as the IGMP querier by sending general queries. If the IP-multicast traffic in a VLAN only needs to be Layer 2-switched, an IP-multicast router is not required. Without an IP-multicast router on the VLAN, you must configure another switch as the IGMP querier so that it can send queries.

When enabled, the IGMP snooping querier sends out periodic IGMPv2 queries that trigger IGMP report messages from the switch that requests IP multicast traffic. IGMP snooping listens to these IGMP reports to establish appropriate forwarding.

You can configure a switch to generate IGMP queries on a VLAN regardless of whether IP multicast routing is enabled.

The IGMP Snooping Querier feature can be enabled either globally (i.e. they affect every vlan) or on a per-vlan basis.

To configure IGMP Snooping Querier, perform these tasks:

  • Step 1

    Switch# configure terminal Enters global configuration mode.

  • Step 2

    Switch(config)# [no] ip igmp snooping [vlan vlan_id] querier Enables IGMP Snooping Querier.

  • Step 3

    Switch(config)# [no] ip igmp snooping [vlan vlan_id] querier address abcd Configures the IGMP Snooping Querier source IP address.

  • Step 4

    Switch(config)# [no] ip igmp snooping [vlan vlan_id] querier version [1 | 2] Configures IGMP Snooping Querier IGMP version.

  • Step 5

    Switch(config)# ip igmp snooping [vlan vlan_id] querier query-interval interval Configures IGMP Snooping Querier query interval.

  • Step 6

    Switch(config)# ip igmp snooping [vlan vlan_id] querier max-response-time value Configures IGMP Snooping Querier query maximum response time.

  • Step 7

    Switch(config)# ip igmp snooping [vlan vlan_id] querier timer expiry value Configures IGMP Snooping Querier expiry time out.

  • Step 8

    Switch(config)# ip igmp snooping [vlan vlan_id] querier tcn query count value Configures IGMP Snooping Querier tcn query count.

  • Step 9

    Switch(config)# ip igmp snooping [vlan vlan_id] querier tcn query interval value Configures IGMP Snooping Querier tcn query interval.

  • Step 10

    Switch(config)# end Return to privileged EXEC mode.

Full configuration guide from Cisco:

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4500/12-2/50sg/configuration/guide/Wrapper-46SG/multi.html#wp1163784