MLD Snooping
Multicast Listener Discovery (MLD) snooping provides a way to constrain multicast traffic at Layer 2. By snooping the MLD membership reports sent by hosts in the bridge domain, the MLD snooping application can set up Layer 2 multicast forwarding tables to deliver traffic only to ports with at least one interested member, significantly reducing the volume of multicast traffic.
MLD snooping uses the information in MLD membership report messages to build corresponding information in the forwarding tables to restrict IPv6 multicast traffic at Layer 2. The forwarding table entries are in the form <Route, OIF List>, where:
-
Route is a <*, G> route or <S, G> route.
-
OIF List comprises all bridge ports that have sent MLD membership reports for the specified route plus all multicast router (mrouter) ports in the bridge domain.
For more information regarding MLD snooping, refer the Multicast Configuration Guide for Cisco NCS 540 Series Routers.
Prerequisites for MLD Snooping
-
The network must be configured with a layer2 VPN.
-
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Restrictions for MLD Snooping
Following are the restrictions (features that are not supported):
-
MLD Snooping is supported only on L2VPN bridge domains.
-
Explicit host tracking.
-
Multicast Admission Control.
-
Security filtering.
-
Report rate limiting.
-
Multicast router discovery.
-
IPv6 multicast is not supported for a multicast source that is behind the BVI interface. For example, the below configuration is not supported:
l2vpn bridge group 1 bridge-domain 1 multicast-source ipv6 mld snooping profile grp1
Advantages of MLD Snooping
-
In its basic form, it reduces bandwidth consumption by reducing multicast traffic that would otherwise flood an entire VPLS bridge domain.
-
With the use of some optional configurations, it provides security between bridge domains by filtering the MLD reports received from hosts on one bridge port and preventing leakage towards the hosts on other bridge ports.
High Availability (HA) features for MLD
MLD supports the following HA features:
-
Process restarts
-
RP Failover
-
Stateful Switch-Over (SSO)
-
Non-Stop Forwarding (NSF)—Forwarding continues unaffected while the control plane is restored following a process restart or route processor (RP) failover.
-
Line card online insertion and removal (OIR)
Bridge Domain Support for MLD
MLD snooping operates at the bridge domain level. When MLD snooping is enabled on a bridge domain, the snooping functionality applies to all ports under the bridge domain, including:
-
Physical ports under the bridge domain.
-
Ethernet flow points (EFPs)—An EFP can be a VLAN, VLAN range, list of VLANs, or an entire interface port.
-
Pseudowires (PWs) in VPLS bridge domains.
-
Ethernet bundles—Ethernet bundles include IEEE 802.3ad link bundles and Cisco EtherChannel bundles. From the perspective of the MLD snooping application, an Ethernet bundle is just another EFP. The forwarding application in the Cisco NCS 540 Series Routers randomly nominates a single port from the bundle to carry the multicast traffic.
Multicast Router and Host Ports
MLD snooping classifies each port as one of the following:
-
Multicast router ports (mrouter ports)—These are ports to which a multicast-enabled router is connected. Mrouter ports are usually dynamically discovered, but may also be statically configured. Multicast traffic is always forwarded to all mrouter ports, except when an mrouter port is the ingress port.
-
Host ports—Any port that is not an mrouter port is a host port.
Multicast Router Discovery for MLD
MLD snooping discovers mrouter ports dynamically. You can also explicitly configure a port as an emrouter port.
-
Discovery- MLD snooping identifies upstream mrouter ports in the bridge domain by snooping mld query messages and Protocol Independent Multicast Version 2 (PIMv2) hello messages. Snooping PIMv2 hello messages identifies mld nonqueriers in the bridge domain.
-
Static configuration—You can statically configure a port as an mrouter port with the mrouter command in a profile attached to the port. Static configuration can help in situations when incompatibilities with non-Cisco equipment prevent dynamic discovery.
Multicast Traffic Handling for MLD
The following tables describe the traffic handling behavior by MLD mrouters and host ports.
Traffic Type |
Received on MRouter Ports |
Received on Host Ports |
---|---|---|
IP multicast source traffic |
Forwards to all mrouter ports and to host ports that indicate interest. |
Forwards to all mrouter ports and to host ports that indicate interest. |
MLD general queries |
Forwards to all ports. |
— |
MLD group-specific queries |
Forwards to all other mrouter ports. |
Dropped |
MLDv1 joins |
Examines (snoops) the reports.
|
Examines (snoops) the reports.
|
MLDv2 reports |
Ignores |
Ignores |
MLDv1 leaves |
Invokes last member query processing. |
Invokes last member query processing. |
Traffic Type |
Received on MRouter Ports |
Received on Host Ports |
---|---|---|
IP multicast source traffic |
Forwards to all mrouter ports and to host ports that indicate interest. |
Forwards to all mrouter ports and to host ports that indicate interest. |
MLD general queries |
Forwards to all ports. |
— |
MLD group-specific queries |
If received on the querier port floods on all ports. |
— |
MLDv1 joins |
Handles as MLDv2 IS_EX{} reports. |
Handles as MLDv2 IS_EX{} reports. |
MLDv2 reports |
|
|
MLDv1 leaves |
Handles as MLDv2 IS_IN{} reports. |
Handles as MLDv2 IS_IN{} reports. |
Multicast Listener Discovery over BVI
Multicast IPv6 packets received from core, which has BVI as forwarding interface, is forwarded to access over snooped L2 AC or interface.
Note |
|
MLD and BVI Overview
Routers use the Internet Group Management Protocol (IGMP) (IPv4) and Multicast Listener Discovery (MLD) (IPv6) to learn whether members of a group are present on their directly attached subnets. Hosts join multicast groups by sending IGMP or MLD report messages.
MLDv1 and MLDv2 are supported on NCS 540. However, MLDv2 is enabled when you configure MLD by default.
MLDv2 shares feature parity with IGMPv3 with respect to all supported interface types with the exception of PPoE and subinterfaces. MLDv2 enables a node to report interest in listening to packets only from specific multicast source addresses.
A BVI interface is a routed interface representing a set of interfaces (bridged) in the same L2 broadcast domain. MLD join messages coming in or out of this broadcast domain passes through the BVI interface.
Configuration
This sample configuration shows how to configure BVI interface to join a multicast group and statically forward multicast traffic using MLDv2:
router# config
router (config)# router mld
router (config-mld)# vrf BVI
router (config-mld-vrf)# interface BVI100
router (config-mld-vrf-int)# join-group fe32::1 192::4
router (config-mld-vrf-int)# static-group fe32::2 192::4
router (config-mld-vrf-int)# commit
router (config-mld-vrf-int)# exit
router (config-mld-vrf)# exit
router (config-mld)# exit
router (config)# exit
Verification
Use the command show mld bvi stats and show mld group bvi < num> to verify the MLDv2 over BVI configuration:
router# show mld bvi stats
Thu Nov 22 13:58:34.474 UTC
AIPC buffers received : 8365
AIPC buffer released : 8365
AIPC messages send blocked : 0
AIPC buffer release failed : 0
AIPC NULL buffer handles : 0
AIPC open notifications received : 0
AIPC close notifications received : 0
AIPC error notifications received : 0
AIPC LWM notifications received : 0
AIPC input waiting notifications received : 8308
AIPC send status notifications received : 2485
AIPC publish notifications received : 0
AIPC queue full notifications received : 0
AIPC output notifications received : 0
AIPC connect notifications received : 1
IGMP protocol messages received : 8365
IGMP Mrouter Add messages received : 0
IGMP Mrouter Delete messages received : 0
IGMP Mrouter Sweep messages received : 1
IGMP Mrouter Add messages transmitted : 13
IGMP Mrouter Delete messages transmitted : 22
IGMP Mrouter Sweep messages transmitted : 0
IGMP Mrouter Unknown messages received : 0
IGMP Mrouter Unknown messages transmitted : 0
AIPC transmission error : 0
AIPC buffers transmited : 0
IGMP protocol buffers transmitted : 2482
IGMP Mrouter buffers transmitted : 3
IGMP Unknown buffers transmited : 0
IGMP WTX Msgs received : 0
IGMP WTX Msgs sent : 0
IGMP WTX Msgs sent to protocol : 0
IGMP WTX Msgs dropped due DC : 99264
IGMP WTX Msgs dropped no memory : 0
IGMP WTX Msgs freed : 0
router# show mld group bvi 100
Thu Nov 22 13:58:52.055 UTC
MLD Connected Group Membership
BVI100
Group Address : ff02::2
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 03:31:07
Expires : never
Group Address : ff02::d
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 03:31:07
show mld group bvi 100
Thu Nov 22 13:58:52.055 UTC
MLD Connected Group Membership
BVI100
Group Address : ff02::2
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 03:31:07
Expires : never
Group Address : ff02::d
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 03:31:07
Expires : never
Group Address : ff02::16
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 03:31:07
Expires : never
Group Address : ff02::1:ff01:1
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 01:59:20
Expires : 00:04:01
Group Address : ff02::1:ff3d:b73f
Last Reporter : fe80::1a33:9dff:fe3d:b73f
Uptime : 01:59:20
Expires : 00:04:01
Group Address : ff33::2:52:1:1
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
Group Address : ff33::2:52:1:2
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
Group Address : ff33::2:52:1:3
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
Group Address : ff33::2:52:1:4
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
Group Address : ff33::2:52:1:5
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
Group Address : ff33::2:52:1:6
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
Group Address : ff33::2:52:1:7
Last Reporter : fe80::5869
Uptime : 03:30:49
Expires : not used
IPv6 Multicast Listener Discovery Snooping over BVI
Multicast Listener Discovery (MLD) snooping provides a way to constrain multicast traffic at L2. By snooping the MLD membership reports sent by hosts in the bridge domain, the MLD snooping application can set up L2 multicast forwarding tables. This table is later used to deliver traffic only to ports with at least one interested member, significantly reducing the volume of multicast traffic.
MLDv2 support over BVI enables implementing IPv6 multicast routing over a L2 segment of the network that is using an IPv6 VLAN. The multicast routes are bridged via BVI interface from L3 segment to L2 segment of the network.
MLDv2 snooping over BVI enables forwarding MLDv2 membership reports received over the L2 domain to MLD snooping instead of MLD.
Restrictions
-
You cannot configure
ttl-check
and disablerouter-alert-check
on the router for mld messages. -
Static mrouters are not supported for MLD snooping.
-
Querier is supported for MLDV2, but it is not supported on MLDV1.
Configuring Internal Querier for MLD Snooping
This configuration enables a multicast router acting as a MLD querier to send out group-and-source-specific query:
router# config
RP0/0/RP0/CPU0:router(config)# mld snooping profile grp1
RP0/0/RP0/CPU0:router(config-mld-snooping-profile)# system-ip-address fe80::1 link-local
RP0/0/RP0/CPU0:router(config-mld-snooping-profile)# internal-querier
RP0/0/RP0/CPU0:router(config-mld-snooping-profile)# commit
Verification
Use the show mld snooping profile detail command to verify the MLD snooping configuration:
router# show mld snooping profile detail
Thu Nov 22 13:58:18.844 UTC
MLD Snoop Profile grp1:
System IP Address: fe80::1
Bridge Domain References: 2
Port References: 12
MLD Snoop Profile grp10:
System IP Address: fe80::5610
Bridge Domain References: 0
Port References: 0