- Table of Contents
-
- 06-IP Multicast Configuration Guide
- 00-Preface
- 01-Multicast overview
- 02-IGMP snooping configuration
- 03-PIM snooping configuration
- 04-Multicast VLAN configuration
- 05-Multicast routing and forwarding configuration
- 06-IGMP configuration
- 07-PIM configuration
- 08-MSDP configuration
- 09-MLD snooping configuration
- 10-IPv6 PIM snooping configuration
- 11-IPv6 multicast VLAN configuration
- 12-IPv6 multicast routing and forwarding configuration
- 13-MLD configuration
- 14-IPv6 PIM configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
09-MLD snooping configuration | 353.21 KB |
MLD snooping configuration task list
Enabling MLD snooping globally
Enabling MLD snooping for multiple VLANs
Enabling MLD snooping for a VLAN
Configuring basic MLD snooping features
Specifying an MLD snooping version
Setting the maximum number of MLD snooping forwarding entries
Configuring static IPv6 multicast MAC address entries
Setting the MLD last listener query interval
Configuring MLD snooping port features
Setting aging timers for dynamic ports
Configuring a port as a simulated member host
Enabling fast-leave processing
Disabling a port from becoming a dynamic router port
Configuring the MLD snooping querier
Enabling the MLD snooping querier
Configuring parameters for MLD general queries and responses
Enabling MLD snooping proxying
Configuring parameters for MLD messages
Configuring source IPv6 addresses for MLD messages
Setting the 802.1p priority for MLD messages
Configuring MLD snooping policies
Configuring an IPv6 multicast group policy
Enabling IPv6 multicast source port filtering
Enabling dropping unknown IPv6 multicast data
Enabling MLD report suppression
Setting the maximum number of IPv6 multicast groups on a port
Enabling IPv6 multicast group replacement
Displaying and maintaining MLD snooping
MLD snooping configuration examples
IPv6 group policy and simulated joining configuration example
Static port configuration example
MLD snooping querier configuration example
MLD snooping proxying configuration example
Layer 2 multicast forwarding cannot function
IPv6 multicast group policy does not work
Configuring MLD snooping
Overview
As shown in Figure 1, when MLD snooping is not enabled, the Layer 2 switch floods IPv6 multicast packets to all hosts in a VLAN. When MLD snooping is enabled, the Layer 2 switch forwards multicast packets of known IPv6 multicast groups to only the receivers.
Figure 1 Multicast packet transmission processes without and with MLD snooping
MLD snooping ports
As shown in Figure 2, MLD snooping runs on Switch A and Switch B, and Host A and Host C are receiver hosts in an IPv6 multicast group. MLD snooping ports are divided into member ports and router ports.
Router ports
On an MLD snooping Layer 2 device, the ports toward Layer 3 multicast devices are called router ports. In Figure 2, GigabitEthernet 1/0/1 of Switch A and GigabitEthernet 1/0/1 of Switch B are router ports.
Router ports contain the following types:
· Dynamic router port—When a port receives an MLD general query whose source address is not 0::0 or receives an IPv6 PIM hello message, the port is added into the dynamic router port list. At the same time, an aging timer is started for the port. If the port receives either of the messages before the timer expires, the timer is reset. If the port does not receive either of the messages when the timer expires, the port is removed from the dynamic router port list.
· Static router port—When a port is statically configured as a router port, it is added into the static router port list. The static router port does not age out, and it can be deleted only manually.
Do not confuse the "router port" in MLD snooping with the "routed interface" commonly known as the "Layer 3 interface." The router port in MLD snooping is a Layer 2 interface.
Member ports
On an MLD snooping Layer 2 device, the ports toward receiver hosts are called member ports. In Figure 2, GigabitEthernet 1/0/2 and GigabitEthernet 1/0/3 of Switch A and GigabitEthernet 1/0/2 of Switch B are member ports.
Member ports contain the following types:
· Dynamic member port—When a port receives an MLD report, it is added to the associated dynamic MLD snooping forwarding entry as an outgoing interface. At the same time, an aging timer is started for the port. If the port receives an MLD report before the timer expires, the timer is reset. If the port does not receive an MLD report when the timer expires, the port is removed from the associated dynamic forwarding entry.
· Static member port—When a port is statically configured as a member port, it is added to the associated static MLD snooping forwarding entry as an outgoing interface. The static member port does not age out, and it can be deleted only manually.
Unless otherwise specified, router ports and member ports in this document include both static and dynamic router ports and member ports.
How MLD snooping works
The ports in this section are dynamic ports. For information about how to configure and remove static ports, see "Configuring static ports."
General query
The MLD querier periodically sends MLD general queries to all hosts and routers on the local subnet to check for the existence of IPv6 multicast group members.
After receiving an MLD general query, the Layer 2 device forwards the query to all ports in the VLAN except the receiving port. The Layer 2 device also performs one of the following actions:
· If the receiving port is a dynamic router port in the dynamic router port list, the Layer 2 device restarts the aging timer for the router port.
· If the receiving port does not exist in the dynamic router port list, the Layer 2 device adds the port to the dynamic router port list. It also starts an aging timer for the port.
MLD report
A host sends an MLD report to the MLD querier for the following purposes:
· Responds to queries if the host is an IPv6 multicast group member.
· Applies for an IPv6 multicast group membership.
After receiving an MLD report from a host, the Layer 2 device forwards the report through all the router ports in the VLAN. It also resolves the IPv6 address of the reported IPv6 multicast group, and looks up the forwarding table for a matching entry as follows:
· If no match is found, the Layer 2 device creates a forwarding entry for the group with the receiving port an outgoing interface. It also marks the receiving port as a dynamic member port and starts an aging timer for the port.
· If a match is found but the matching forwarding entry does not contain the receiving port, the Layer 2 device adds the receiving port to the outgoing interface list. It also marks the port as a dynamic member port to the forwarding entry and starts an aging timer for the port.
· If a match is found and the matching forwarding entry contains the receiving port, the Layer 2 device restarts the aging timer for the port.
In an application with an IPv6 multicast group policy configured on an MLD snooping-enabled Layer 2 device, when a user requests a multicast program, the user's host initiates an MLD report. After receiving this report message, the Layer 2 device resolves the IPv6 multicast group address in the report and performs ACL filtering on the report. If the report passes ACL filtering, the Layer 2 device creates an MLD snooping forwarding entry for the group with the receiving port as an outgoing interface. If the report does not pass ACL filtering, the Layer 2 device drops this report message, in which case, the IPv6 multicast data for the IPv6 multicast group is not sent to this port, and the user cannot retrieve the program.
A Layer 2 device does not forward an MLD report through a non-router port because of the host MLD report suppression mechanism. For more information about the MLD report suppression mechanism, see "Configuring MLD."
Done message
When a host leaves an IPv6 multicast group, the host sends an MLD done message to the Layer 3 devices. When the Layer 2 device receives the MLD done message on a dynamic member port, the Layer 2 device first examines whether a forwarding entry matches the IPv6 multicast group address in the message.
· If no match is found, the Layer 2 device discards the MLD done message.
· If a match is found but the receiving port is not an outgoing interface in the forwarding entry, the Layer 2 device discards the MLD done message.
· If a match is found and the receiving port is not the only outgoing interface in the forwarding entry, the Layer 2 device performs the following actions:
¡ Discards the MLD done message.
¡ Sends an MLD multicast-address-specific query to identify whether the group has active listeners attached to the receiving port.
¡ Sets the aging timer for the receiving port to twice the MLD last listener query interval.
· If a match is found and the receiving port is the only outgoing interface in the forwarding entry, the Layer 2 device performs the following actions:
¡ Forwards the MLD done message to all router ports in the VLAN.
¡ Sends an MLD multicast-address-specific query to identify whether the group has active listeners attached to the receiving port.
¡ Sets the aging timer for the receiving port to twice the MLD last listener query interval.
After receiving the MLD done message on a port, the MLD querier resolves the IPv6 multicast group address in the message. Then, it sends an MLD multicast-address-specific query to the IPv6 multicast group through the receiving port.
After receiving the MLD multicast-address-specific query, the Layer 2 device forwards the query through all router ports and member ports of the group in the VLAN. Then, it waits for the responding MLD report from the directly connected hosts. For the dynamic member port that received the done message, the Layer 2 device also performs one of the following actions:
· If the port receives an MLD report before the aging timer expires, the Layer 2 device resets the aging timer for the port.
· If the port does not receive any MLD report messages when the aging timer expires, the Layer 2 device removes the port from the forwarding entry for the IPv6 multicast group.
MLD snooping proxying
As shown in Figure 3, to reduce the number of MLD report and done messages received by the upstream device, you can enable MLD snooping proxying on the edge device. With MLD snooping proxying enabled, the edge device acts as a host for the upstream MLD snooping querier to send MLD report and done messages to Router A. The host MLD report suppression mechanism on the edge device does not take effect. For more information about the MLD report suppression mechanism, see "Configuring MLD."
Figure 3 MLD snooping proxying
The MLD snooping proxy device processes different MLD messages as follows:
· General query.
After receiving an MLD general query, the device forwards the query to all ports in the VLAN except the receiving port. The device also generates an MLD report based on the local membership information and sends the report to all router ports.
· Multicast-address-specific query or multicast-address-and-source-specific query.
After receiving an MLD multicast-address-specific query or multicast-address-and-source-specific query, the device forwards the query to all ports in the VLAN except the receiving port. If the forwarding entry has a member port, the device sends a response to all router ports in the VLAN.
· Report.
After receiving an MLD report from a host, the device looks up the forwarding table for a matching entry as follows:
¡ If a match is found and the matching forwarding entry contains the receiving port, the device resets the aging timer for the port.
¡ If a match is found but the matching forwarding entry does not contain the receiving port, the device adds the receiving port to the outgoing interface list. It also marks the receiving port as a dynamic member port and starts an aging timer for the port.
¡ If no match is found, the device creates a forwarding entry with the receiving port as an outgoing interface. It also marks the receiving port as a dynamic member port and starts an aging timer for the port. Then it sends the report to all router ports.
· Done message.
After receiving the MLD done message on a port, the device sends an MLD multicast-address-specific query through the receiving port. The device sends the MLD done message to all router ports only when the last member port is removed from the forwarding entry.
Protocols and standards
RFC 4541, Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
MLD snooping configuration task list
Enabling MLD snooping
When you enable MLD snooping, follow these restrictions and guidelines:
· You must enable the MLD snooping feature by using the mld-snooping command before you enable MLD snooping globally or for a VLAN.
· MLD snooping configuration made in VLAN view takes effect only on the member ports in that VLAN.
· For VLANs, you can enable MLD snooping for multiple VLANs in MLD-snooping view or for a VLAN in VLAN view. The configuration in MLD-snooping view has the same priority as the configuration in VLAN view.
· To configure other MLD snooping features for VLANs, you must enable MLD snooping for the VLANs even though MLD snooping is globally enabled. The MLD snooping configuration for specific VLANs takes priority over the global MLD snooping configuration.
Enabling MLD snooping globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable the MLD snooping feature globally and enter MLD-snooping view. |
mld-snooping |
By default, the MLD snooping feature is disabled. |
3. Enable MLD snooping globally. |
global-enable |
By default, MLD snooping is disabled globally. |
Enabling MLD snooping for multiple VLANs
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable the MLD snooping feature and enter MLD-snooping view. |
mld-snooping |
By default, the MLD snooping feature is disabled. |
3. Enable MLD snooping for multiple VLANs. |
enable vlan vlan-list |
By default, the status of MLD snooping for a VLAN is consistent with the global MLD snooping status. |
Enabling MLD snooping for a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable the MLD snooping feature and enter MLD-snooping view. |
mld-snooping |
By default, the MLD snooping feature is disabled. |
3. Return to system view. |
quit |
N/A |
4. Enter VLAN view. |
vlan vlan-id |
N/A |
5. Enable MLD snooping for the VLAN. |
mld-snooping enable |
By default, the status of MLD snooping for a VLAN is consistent with the global MLD snooping status. |
6. (Optional.) Disable MLD snooping for the VLAN. |
mld-snooping disable |
By default, the status of MLD snooping for a VLAN is consistent with the global MLD snooping status. |
Configuring basic MLD snooping features
Before you configure basic MLD snooping features, complete the following tasks:
· Determine the MLD snooping version.
· Determine the maximum number of MLD snooping forwarding entries.
· Determine the MLD last listener query interval.
Specifying an MLD snooping version
Different MLD snooping versions can process different versions of MLD messages:
· MLDv1 snooping can process MLDv1 messages, but it floods MLDv2 messages in the VLAN instead of processing them.
· MLDv2 snooping can process MLDv1 and MLDv2 messages.
If you change MLDv2 snooping to MLDv1 snooping, the system performs the following actions:
· Clears all MLD snooping forwarding entries that are dynamically created.
· Keeps static MLDv2 snooping forwarding entries (*, G).
· Clears static MLDv2 snooping forwarding entries (S, G), which will be restored when MLD snooping is switched back to MLDv2 snooping.
For more information about static MLD snooping forwarding entries, see "Configuring static ports."
You can specify the version for the specified VLANs in MLD-snooping view or for a VLAN in VLAN view. For a VLAN, the configuration in VLAN view has the same priority as the configuration in MLD-snooping view, and the most recent configuration takes effect.
Specifying an MLD snooping version in MLD-snooping view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Specify an MLD snooping version for the specified VLANs. |
version version-number vlan vlan-list |
The default setting is 1. |
Specifying an MLD snooping version in VLAN view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Specify an MLD snooping version for the VLAN. |
mld-snooping version version-number |
The default setting is 1. |
Setting the maximum number of MLD snooping forwarding entries
You can modify the maximum number of MLD snooping forwarding entries, including dynamic entries and static entries. When the number of forwarding entries on the device reaches the upper limit, the device does not automatically remove any existing entries. To allow new entries to be created, remove some entries manually.
To set the maximum number of MLD snooping forwarding entries:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Set the maximum number of MLD snooping forwarding entries. |
entry-limit limit |
The default setting is 4294967295. |
Configuring static IPv6 multicast MAC address entries
In Layer 2 IPv6 multicast, IPv6 multicast MAC address entries can be dynamically created through Layer 2 multicast protocols (such as MLD snooping). You can also manually configure static IPv6 multicast MAC address entries by binding IPv6 multicast MAC addresses and ports to control the destination ports of the IPv6 multicast data.
Configuration restrictions and guidelines
When you configure a static IPv6 multicast MAC address entry, follow these restrictions and guidelines:
· You do not need to enable IPv6 multicast routing before this configuration.
· You must specify an unused IPv6 multicast MAC address when configuring a static IPv6 multicast MAC address entry. An IPv6 multicast MAC address is a MAC address in which the least significant bit of the most significant octet is 1.
Configuring a static IPv6 multicast MAC address entry in system view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Configure a static IPv6 multicast MAC address entry. |
mac-address multicast mac-address interface interface-list vlan vlan-id |
By default, no static IPv6 multicast MAC address entries exist. For more information about this command, see IP Multicast Command Reference. |
Configuring a static IPv6 multicast MAC address entry in interface view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Configure a static IPv6 multicast MAC address entry. |
mac-address multicast mac-address vlan vlan-id |
By default, no static multicast MAC address entries exist. For more information about this command, see IP Multicast Command Reference. |
Setting the MLD last listener query interval
A receiver host starts a report delay timer for an IPv6 multicast group when it receives an MLD multicast-address-specific query for the group. This timer is set to a random value in the range of 0 to the maximum response time advertised in the query. When the timer value decreases to 0, the host sends an MLD report to the group.
The MLD last listener query interval defines the maximum response time advertised in MLD multicast-address-specific queries. Set an appropriate value for the MLD last listener query interval to speed up hosts' responses to MLD multicast-address-specific queries and avoid MLD report traffic bursts.
Configuration restrictions and guidelines
When you set the MLD last listener query interval, follow these restrictions and guidelines:
· The Layer 2 device does not send an MLD multicast-address-specific query if it receives an MLD done message from a port enabled with fast-leave processing.
· You can set the MLD last listener query interval globally for all VLANs in MLD-snooping view or for a VLAN in VLAN view. For a VLAN, the VLAN-specific configuration takes priority over the global configuration.
Setting the MLD last listener query interval globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Set the MLD last listener query interval globally. |
last-listener-query-interval interval |
The default setting is 1 second. |
Setting the MLD last listener query interval in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Set the MLD last listener query interval in the VLAN. |
mld-snooping last-listener-query-interval interval |
The default setting is 1 second. |
Configuring MLD snooping port features
Before you configure MLD snooping port features, complete the following tasks:
· Enable MLD snooping for the VLAN.
· Determine the aging timer for dynamic router ports.
· Determine the aging timer for dynamic member ports.
· Determine the addresses of the IPv6 multicast group and IPv6 multicast source.
Setting aging timers for dynamic ports
When you set aging timers for dynamic ports, follow these restrictions and guidelines:
· If the memberships of IPv6 multicast groups frequently change, set a relatively small value for the aging timer of the dynamic member ports. If the memberships of IPv6 multicast groups rarely change, you can set a relatively large value.
· If a dynamic router port receives an IPv6 PIMv2 hello message, the aging timer for the port is specified by the hello message. In this case, the mld-snooping router-aging-time command does not take effect on the port.
· MLD multicast-address-specific queries originated by the Layer 2 device trigger the adjustment of aging timers of dynamic member ports. If a dynamic member port receives such a query, its aging timer is set to twice the MLD last listener query interval. For more information about setting the MLD last listener query interval on the Layer 2 device, see "Setting the MLD last listener query interval."
· You can set the timers globally for all VLANs in MLD-snooping view or for a VLAN in VLAN view. For a VLAN, the VLAN-specific configuration takes priority over the global configuration.
Setting the aging timers for dynamic ports globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Set the aging timer for dynamic router ports globally. |
router-aging-time seconds |
The default setting is 260 seconds. |
4. Set the aging timer for dynamic member ports globally. |
host-aging-time seconds |
The default setting is 260 seconds. |
Setting the aging timers for dynamic ports in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Set the aging timer for dynamic router ports in the VLAN. |
mld-snooping router-aging-time seconds |
The default setting is 260 seconds. |
4. Set the aging timer for dynamic member ports in the VLAN. |
mld-snooping host-aging-time seconds |
The default setting is 260 seconds. |
Configuring static ports
You can configure the following types of static ports:
· Static member port—When you configure a port as a static member port for an IPv6 multicast group, all hosts attached to the port will receive IPv6 multicast data for the group.
The static member port does not respond to MLD queries. When you complete or cancel this configuration, the port does not send an unsolicited report or done message.
· Static router port—When you configure a port as a static router port for an IPv6 multicast group, all IPv6 multicast data for the group received on the port will be forwarded.
To configure a port as a static port:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Configure the port as a static port. |
·
Configure the port as a static member port: ·
Configure the port as a static router port: |
By default, a port is not a static member port or a static router port. |
Configuring a port as a simulated member host
When a port is configured as a simulated member host, it is equivalent to an independent host in the following ways:
· It sends an unsolicited MLD report when you complete the configuration.
· It responds to MLD general queries with MLD reports.
· It sends an MLD done message when you remove the configuration.
The version of MLD running on the simulated member host is the same as the version of MLD snooping running on the port. The port ages out in the same ways as a dynamic member port.
To configure a port as a simulated member host:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Configure the port as a simulated member host. |
mld-snooping host-join ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id |
By default, the port is not a simulated member host. |
Enabling fast-leave processing
This feature enables the device to immediately remove a port from the forwarding entry for an IPv6 multicast group when the port receives a done message.
Configuration restrictions and guidelines
When you enable fast-leave processing, follow these restrictions and guidelines:
· Do not enable fast-leave processing on a port that has multiple receiver hosts attached in a VLAN. If fast-leave processing is enabled, the remaining receivers cannot receive IPv6 multicast data for a group after a receiver leaves that group.
· You can enable fast-leave processing globally for all ports in MLD-snooping view or for a port in interface view. For a port, the port-specific configuration takes priority over the global configuration.
Enabling fast-leave processing globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Enable fast-leave processing globally. |
fast-leave [ vlan vlan-list ] |
By default, fast-leave processing is disabled globally. |
Enabling fast-leave processing on a port
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Enable fast-leave processing on the port. |
mld-snooping fast-leave [ vlan vlan-list ] |
By default, fast-leave processing is disabled on a port. |
Disabling a port from becoming a dynamic router port
A receiver host might send MLD general queries or IPv6 PIM hello messages for testing purposes. On the Layer 2 device, the port that receives either of the messages becomes a dynamic router port. Before the aging timer for the port expires, the following problems might occur:
· All IPv6 multicast data for the VLAN to which the port belongs flows to the port. Then, the port forwards the data to attached receiver hosts. The receiver hosts will receive IPv6 multicast data that it does not expect.
· The port forwards the MLD general queries or IPv6 PIM hello messages to its upstream multicast routers. These messages might affect the multicast routing protocol state (such as the MLD querier or DR election) on the multicast routers. This might further cause network interruption.
To solve these problems, you can disable the router port from becoming a dynamic router port when receiving either of the messages. This also improves network security and the control over receiver hosts.
To disable a port from becoming a dynamic router port:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Disable the port from becoming a dynamic router port. |
mld-snooping router-port-deny [ vlan vlan-list ] |
By default, a port is allowed to become a dynamic router port. This configuration does not affect the static router port configuration. |
Configuring the MLD snooping querier
This section describes how to configure the MLD snooping querier.
Configuration prerequisites
Before you configure the MLD snooping querier, complete the following tasks:
· Enable MLD snooping for the VLAN.
· Determine the MLD general query interval.
· Determine the maximum response time for MLD general queries.
Enabling the MLD snooping querier
This feature enables the device to periodically send MLD general queries to establish and maintain multicast forwarding entries at the data link Layer. You can configure an MLD snooping querier on a network without Layer 3 multicast devices.
Configuration restrictions and guidelines
Do not enable the MLD snooping querier on an IPv6 multicast network that runs MLD. An MLD snooping querier does not participate in MLD querier elections. However, it might affect MLD querier elections if it sends MLD general queries with a low source IPv6 address.
Configuration procedure
To enable the MLD snooping querier for a VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable the MLD snooping querier for the VLAN. |
mld-snooping querier |
By default, the MLD snooping querier is disabled for a VLAN. |
Configuring parameters for MLD general queries and responses
|
CAUTION: To avoid mistakenly deleting IPv6 multicast group members, make sure the MLD general query interval is greater than the maximum response time for MLD general queries. |
You can modify the MLD general query interval for a VLAN based on the actual network conditions.
A receiver host starts a report delay timer for each IPv6 multicast group that it has joined when it receives an MLD general query. This timer is set to a random value in the range of 0 to the maximum response time advertised in the query. When the timer value decreases to 0, the host sends an MLD report to the corresponding IPv6 multicast group.
Set an appropriate value for the maximum response time for MLD general queries to speed up hosts' responses to MLD general queries and avoid MLD report traffic bursts.
You can set the maximum response time for MLD general queries globally for all VLANs in MLD-snooping view or for a VLAN in VLAN view. For a VLAN, the VLAN-specific configuration takes priority over the global configuration.
Configuring parameters for MLD general queries and responses globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Set the maximum response time for MLD general queries. |
max-response-time seconds |
The default setting is 10 seconds. |
Configuring parameters for MLD general queries and responses in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Set the MLD general query interval in the VLAN. |
mld-snooping query-interval interval |
The default setting is 125 seconds. |
4. Set the maximum response time for MLD general queries in the VLAN. |
mld-snooping max-response-time seconds |
The default setting is 10 seconds. |
Enabling MLD snooping proxying
Before you enable MLD snooping proxying for a VLAN, enable MLD snooping for the VLAN.
To enable MLD snooping proxying:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable MLD snooping proxying for the VLAN. |
mld-snooping proxy enable |
By default, MLD snooping proxying is disabled for a VLAN. |
Configuring parameters for MLD messages
This section describes how to configure parameters for MLD messages.
Configuration prerequisites
Before you configure parameters for MLD messages, complete the following tasks:
· Enable MLD snooping for the VLAN.
· Determine the source IPv6 address of MLD general queries.
· Determine the source IPv6 address of MLD multicast-address-specific queries.
· Determine the source IPv6 address of MLD reports.
· Determine the source IPv6 address of MLD done messages.
· Determine the 802.1p priority of MLD messages.
Configuring source IPv6 addresses for MLD messages
You can change the source IPv6 address of the MLD queries sent by an MLD snooping querier. This configuration might affect MLD querier election within the subnet.
You can also change the source IPv6 address of MLD reports or done messages sent by a simulated member host or an MLD snooping proxy.
To configure the source IPv6 addresses for MLD messages in a VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Configure the source IPv6 address for MLD general queries. |
mld-snooping general-query source-ip ipv6-address |
By default, the source IPv6 address of MLD general queries is the IPv6 link-local address of the current VLAN interface. If the current VLAN interface does not have an IPv6 link-local address, the source IPv6 address is FE80::02FF:FFFF:FE00:0001. |
4. Configure the source IPv6 address for MLD multicast-address-specific queries. |
mld-snooping special-query source-ip ipv6-address |
By default, the source IPv6 address of MLD multicast-address-specific queries is one of the following: · The source address of MLD general queries if the MLD snooping querier of the VLAN has received MLD general queries. · The IPv6 link-local address of the current VLAN interface if the MLD snooping querier does not receive an MLD general query. · FE80::02FF:FFFF:FE00:0001 if the MLD snooping querier does not receive an MLD general query and the current VLAN interface does not have an IPv6 link-local address. |
5. Configure the source IPv6 address for MLD reports. |
mld-snooping report source-ip ipv6-address |
By default, the source IPv6 address of MLD reports is the IPv6 link-local address of the current VLAN interface. If the current VLAN interface does not have an IPv6 link-local address, the source IPv6 address is FE80::02FF:FFFF:FE00:0001. |
6. Configure the source IPv6 address for MLD done messages. |
mld-snooping done source-ip ipv6-address |
By default, the source IPv6 address of MLD done messages is the IPv6 link-local address of the current VLAN interface. If the current VLAN interface does not have an IPv6 link-local address, the source IPv6 address is FE80::02FF:FFFF:FE00:0001. |
Setting the 802.1p priority for MLD messages
When congestion occurs on outgoing ports of the Layer 2 device, it forwards MLD messages in their 802.1p priority order, from highest to lowest. You can assign a higher 802.1p priority to MLD messages that are created or forwarded by the device.
You can configure the 802.1p priority of MLD messages for all VLANs in MLD-snooping view or for a VLAN in VLAN view. For a VLAN, the VLAN-specific configuration takes priority over the global configuration.
Setting the 802.1p priority for MLD messages globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Set the 802.1p priority for MLD messages. |
dot1p-priority priority |
By default, the 802.1p priority for MLD messages is not configured. For MLD messages created by the device, the 802.1p priority is 0. For MLD messages to be forwarded, the device does not change the 802.1p priority. |
Setting the 802.1p priority for MLD messages in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Set the 802.1p priority for MLD messages in the VLAN. |
mld-snooping dot1p-priority priority |
By default, the 802.1p priority for MLD messages is not configured. For MLD messages created by the device, the 802.1p priority is 0. For MLD messages to be forwarded, the device does not change the 802.1p priority. |
Configuring MLD snooping policies
Before you configure MLD snooping policies, complete the following tasks:
· Enable MLD snooping for the VLAN.
· Determine the ACL used by the IPv6 multicast group policy.
· Determine the maximum number of IPv6 multicast groups that a port can join.
Configuring an IPv6 multicast group policy
This feature enables the device to filter MLD reports by using an ACL that specifies the IPv6 multicast groups and the optional sources. It is used to control the IPv6 multicast groups that receiver hosts can join.
Configuration restrictions and guidelines
When you configure an IPv6 multicast group policy, follow these restrictions and guidelines:
· This configuration takes effect on the IPv6 multicast groups that ports join dynamically.
· You can configure an IPv6 multicast group policy globally for all ports in MLD-snooping view or for a port in interface view. For a port, the port-specific configuration takes priority over the global configuration.
Configuring an IPv6 multicast group policy globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Configure an IPv6 multicast group policy globally. |
group-policy ipv6-acl-number [ vlan vlan-list ] |
By default, no IPv6 multicast group policies exist. Hosts can join any IPv6 multicast groups. |
Configuring an IPv6 multicast group policy on a port
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Configure an IPv6 multicast group policy on the port. |
mld-snooping group-policy ipv6-acl-number [ vlan vlan-list ] |
By default, no IPv6 multicast group policies exist on a port. Hosts attached to the port can join any IPv6 multicast groups. |
Enabling IPv6 multicast source port filtering
This feature enables the device to discard all IPv6 multicast data packets and to accept IPv6 multicast protocol packets. You can enable this feature on ports that connect to only IPv6 multicast receivers.
You can enable multicast source port filtering for the specified ports in MLD-snooping view or for a port in interface view. For a port, the configuration in interface view has the same priority as the configuration in MLD-snooping view, and the most recent configuration takes effect.
Enabling IPv6 multicast source port filtering in MLD-snooping view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Enable IPv6 multicast source port filtering globally. |
source-deny port interface-list |
By default, IPv6 multicast source port filtering is disabled globally. |
Enabling IPv6 multicast source port filtering in interface view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view. |
interface interface-type interface-number |
N/A |
3. Enable IPv6 multicast source port filtering on the port. |
mld-snooping source-deny |
By default, IPv6 multicast source port filtering is disabled on the port. |
Enabling dropping unknown IPv6 multicast data
Unknown IPv6 multicast data refers to IPv6 multicast data for which no forwarding entries exist in the MLD snooping forwarding table. This feature enables the device only to forward unknown IPv6 multicast data to the router port. If the device does not have a router port, unknown IPv6 multicast data will be dropped.
If you do not enable this feature, the unknown IPv6 multicast data is flooded in the VLAN to which the data belongs.
Configuration restrictions and guidelines
When you enable dropping unknown IPv6 multicast data, follow these restrictions and guidelines:
· You can enable this feature globally for all VLANs in MLD-snooping view or for a VLAN in VLAN view.
· The drop-unknown command in MLD-snooping view and the mld-snooping drop-unknown command are mutually exclusive. You cannot configure them on the same device.
Enabling dropping unknown IPv6 multicast data globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Enable dropping unknown IPv6 multicast data globally. |
drop-unknown |
By default, dropping unknown IPv6 multicast data is disabled, and unknown IPv6 multicast data is flooded. |
Enabling dropping unknown IPv6 multicast data in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable dropping unknown IPv6 multicast data for the VLAN. |
mld-snooping drop-unknown |
By default, dropping unknown IPv6 multicast data is disabled, and unknown IPv6 multicast data is flooded. |
Enabling MLD report suppression
This feature enables the Layer 2 device to forward only the first MLD report for an IPv6 multicast group to its directly connected Layer 3 device. Other reports for the same group in the same query interval are discarded. Use this feature to reduce the multicast traffic.
To enable MLD report suppression:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Enable MLD report suppression. |
report-aggregation |
By default, MLD report suppression is enabled. |
Setting the maximum number of IPv6 multicast groups on a port
You can set the maximum number of IPv6 multicast groups on a port to regulate the port traffic.
Configuration restrictions and guidelines
When you set the maximum number of IPv6 multicast groups on a port, follow these restrictions and guidelines:
· This configuration takes effect only on the IPv6 multicast groups that the port joins dynamically.
· If the number of IPv6 multicast groups on a port exceeds the limit, the system removes all the forwarding entries related to that port. In this case, the receiver hosts attached to that port can join IPv6 multicast groups again before the number of IPv6 multicast groups on the port reaches the limit.
Configuration procedure
To set the maximum number of IPv6 multicast groups on a port:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Set the maximum number of IPv6 multicast groups on the port. |
mld-snooping group-limit limit [ vlan vlan-list ] |
By default, no limit is placed on the maximum number of IPv6 multicast groups on a port. |
Enabling IPv6 multicast group replacement
This feature enables the device to replace an existing group with a newly joined group when the number of groups exceeds the upper limit. This feature is typically used in the channel switching application. Without this feature, the device discards MLD reports for new groups, and the user cannot change to the new channel.
Configuration restrictions and guidelines
When you enable IPv6 multicast group replacement, follow these restrictions and guidelines:
· This configuration takes effect only on the multicast groups that the port joins dynamically.
· You can enable this feature globally for all ports in MLD-snooping view or for a port in interface view. For a port, the port-specific configuration takes priority over the global configuration.
Enabling IPv6 multicast group replacement globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Enable IPv6 multicast group replacement globally. |
overflow-replace [ vlan vlan-list ] |
By default, IPv6 multicast group replacement is disabled globally. |
Enabling IPv6 multicast group replacement on a port
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Enable IPv6 multicast group replacement on the port. |
mld-snooping overflow-replace [ vlan vlan-list ] |
By default, IPv6 multicast group replacement is disabled on a port. |
Enabling host tracking
This feature enables the device to record information about member hosts that are receiving IPv6 multicast data. The information includes IPv6 addresses of the hosts, length of time elapsed since the hosts joined IPv6 multicast groups, and remaining timeout time for the hosts. This feature facilitates monitoring and managing member hosts.
Enabling host tracking globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MLD-snooping view. |
mld-snooping |
N/A |
3. Enable host tracking globally. |
host-tracking |
By default, host tracking is disabled globally. |
Enabling host tracking in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable host tracking for the VLAN. |
mld-snooping host-tracking |
By default, host tracking is disabled in a VLAN. |
Displaying and maintaining MLD snooping
Execute display commands in any view and reset commands in user view.
Command |
|
Display Layer 2 IPv6 multicast fast forwarding entries. |
display ipv6 l2-multicast fast-forwarding cache [ vlan vlan-id ] [ ipv6-source-address | ipv6-group-address ] * [ slot slot-number ] |
Display information about Layer 2 IPv6 multicast groups. |
display ipv6 l2-multicast ip [ group ipv6-group-address | source ipv6-source-address ] * [ vlan vlan-id ] [ slot slot-number ] |
Display Layer 2 IPv6 multicast group entries. |
display ipv6 l2-multicast ip forwarding [ group ipv6-group-address | source ipv6-source-address ] * [ vlan vlan-id ] [ slot slot-number ] |
Display information about Layer 2 IPv6 MAC multicast groups. |
display ipv6 l2-multicast mac [ mac-address ] [ vlan vlan-id ] [ slot slot-number ] |
Display Layer 2 IPv6 MAC multicast group entries. |
display ipv6 l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id ] [ slot slot-number ] |
Display static IPv6 multicast MAC address entries. |
display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] |
Display MLD snooping status. |
display mld-snooping [ global | vlan vlan-id ] |
Display information about dynamic MLD snooping group entries. |
display mld-snooping group [ ipv6-group-address | ipv6-source-address ] * [ vlan vlan-id ] [ verbose ] [ slot slot-number ] |
Display host tracking information. |
display mld-snooping host-tracking vlan vlan-id group ipv6-group-address [ source ipv6-source-address ] [ slot slot-number ] |
Display dynamic router port information. |
display mld-snooping router-port [ vlan vlan-id ] [ verbose ] [ slot slot-number ] |
Display information about static MLD snooping group entries. |
display mld-snooping static-group [ ipv6-group-address | ipv6-source-address ] * [ vlan vlan-id ] [ verbose ] [ slot slot-number ] |
Display static router port information. |
display mld-snooping static-router-port [ vlan vlan-id ] [ verbose ] [ slot slot-number ] |
Display statistics for the MLD messages and IPv6 PIM hello messages learned through MLD snooping. |
display mld-snooping statistics |
Clear Layer 2 IPv6 multicast fast forwarding entries. |
reset ipv6 l2-multicast fast-forwarding cache [ vlan vlan-id ] { { ipv6-source-address | ipv6-group-address } * | all } [ slot slot-number ] |
Clear information about dynamic MLD snooping group entries. |
reset mld-snooping group { ipv6-group-address [ ipv6-source-address ] | all } [ vlan vlan-id ] |
Clear dynamic router port information. |
reset mld-snooping router-port { all | vlan vlan-id } |
Clear statistics for MLD messages and IPv6 PIM hello messages learned through MLD snooping. |
reset mld-snooping statistics |
For more information about the display mac-address multicast command, see IP Multicast Command Reference.
MLD snooping configuration examples
IPv6 group policy and simulated joining configuration example
Network requirements
As shown in Figure 4, Router A runs MLDv1 and acts as the MLD querier, and Switch A runs MLDv1 snooping.
Configure the group policy and simulate joining to meet the following requirements:
· Host A and Host B receive only the IPv6 multicast data addressed to the IPv6 multicast group FF1E::101. IPv6 multicast data can be forwarded through GigabitEthernet 1/0/3 and GigabitEthernet 1/0/4 of Switch A uninterruptedly, even though Host A and Host B fail to receive the multicast data.
· Switch A will drop unknown IPv6 multicast data instead of flooding it in VLAN 100.
Configuration procedure
1. Assign an IPv6 address and prefix length to each interface, as shown in Figure 4. (Details not shown.)
2. Configure Router A:
# Enable IPv6 multicast routing.
<RouterA> system-view
[RouterA] ipv6 multicast routing
[RouterA-mrib6] quit
# Enable MLD on GigabitEthernet 1/0/1.
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mld enable
[RouterA-GigabitEthernet1/0/1] quit
# Enable IPv6 PIM-DM on GigabitEthernet 1/0/2.
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ipv6 pim dm
[RouterA-GigabitEthernet1/0/2] quit
3. Configure Switch A:
# Enable the MLD snooping feature.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/4 to the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
# Enable MLD snooping, and enable dropping IPv6 unknown multicast data for VLAN 100.
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping drop-unknown
[SwitchA-vlan100] quit
# Configure an IPv6 multicast group policy so that hosts in VLAN 100 can join only IPv6 multicast group FF1E::101.
[SwitchA] acl ipv6 basic 2001
[SwitchA-acl-ipv6-basic-2001] rule permit source ff1e::101 128
[SwitchA-acl-ipv6-basic-2001] quit
[SwitchA] mld-snooping
[SwitchA–mld-snooping] group-policy 2001 vlan 100
[SwitchA–mld-snooping] quit
# Configure GigabitEthernet 1/0/3 and GigabitEthernet 1/0/4 as simulated member hosts to join IPv6 multicast group FF1E::101.
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] mld-snooping host-join ff1e::101 vlan 100
[SwitchA-GigabitEthernet1/0/3] quit
[SwitchA] interface gigabitethernet 1/0/4
[SwitchA-GigabitEthernet1/0/4] mld-snooping host-join ff1e::101 vlan 100
[SwitchA-GigabitEthernet1/0/4] quit
Verifying the configuration
# Send MLD reports from Host A and Host B to join IPv6 multicast groups FF1E::101 and FF1E::202. (Details not shown.)
# Display brief information about dynamic MLD snooping group entries for VLAN 100 on Switch A.
[SwitchA] display mld-snooping group vlan 100
Total 1 entries.
VLAN 100: Total 1 entries.
(::, FF1E::101)
Host ports (2 in total):
GE1/0/3 (00:03:23)
GE1/0/4 (00:04:10)
The output shows the following information:
· Host A and Host B have joined IPv6 multicast group FF1E::101 through the member ports GigabitEthernet 1/0/4 and GigabitEthernet 1/0/3 on Switch A, respectively.
· Host A and Host B have failed to join the multicast group FF1E::202.
Static port configuration example
Network requirements
As shown in Figure 5:
· Router A runs MLDv1 and acts as the MLD querier. Switch A, Switch B, and Switch C run MLDv1 snooping.
· Host A and Host C are permanent receivers of IPv6 multicast group FF1E::101.
Configure static ports to meet the following requirements:
· To enhance the reliability of IPv6 multicast traffic transmission, configure GigabitEthernet 1/0/3 and GigabitEthernet 1/0/5 on Switch C as static member ports for IPv6 multicast group FF1E::101.
· Suppose the STP runs on the network. To avoid data loops, the forwarding path from Switch A to Switch C is blocked. IPv6 multicast data flows to the receivers attached to Switch C only along the path of Switch A—Switch B—Switch C. When this path is blocked, a minimum of one MLD query-response cycle must be completed before IPv6 multicast data flows to the receivers along the path of Switch A—Switch C. In this case, the multicast delivery is interrupted during the process. For more information about the STP, see Layer 2—LAN Switching Configuration Guide.
Configure GigabitEthernet 1/0/3 on Switch A as a static router port. Then, IPv6 multicast data can flow to the receivers nearly uninterrupted along the path of Switch A—Switch C when the path of Switch A—Switch B—Switch C is blocked.
Configuration procedure
1. Assign an IPv6 address and prefix length to each interface, as shown in Figure 5. (Details not shown.)
2. Configure Router A:
# Enable IPv6 multicast routing.
<RouterA> system-view
[RouterA] ipv6 multicast routing
[RouterA-mrib6] quit
# Enable MLD on GigabitEthernet 1/0/1.
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mld enable
[RouterA-GigabitEthernet1/0/1] quit
# Enable IPv6 PIM-DM on GigabitEthernet 1/0/2.
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ipv6 pim dm
[RouterA-GigabitEthernet1/0/2] quit
3. Configure Switch A:
# Enable the MLD snooping feature.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/3 to the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
# Enable MLD snooping for VLAN 100.
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] quit
# Configure GigabitEthernet 1/0/3 as a static router port.
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] mld-snooping static-router-port vlan 100
[SwitchA-GigabitEthernet1/0/3] quit
4. Configure Switch B:
# Enable the MLD snooping feature.
<SwitchB> system-view
[SwitchB] mld-snooping
[SwitchB-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 and GigabitEthernet 1/0/2 to the VLAN.
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 gigabitethernet 1/0/2
# Enable MLD snooping for VLAN 100.
[SwitchB-vlan100] mld-snooping enable
[SwitchB-vlan100] quit
5. Configure Switch C:
# Enable the MLD snooping feature.
<SwitchC> system-view
[SwitchC] mld-snooping
[SwitchC-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/5 to the VLAN.
[SwitchC] vlan 100
[SwitchC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/5
# Enable MLD snooping for VLAN 100.
[SwitchC-vlan100] mld-snooping enable
[SwitchC-vlan100] quit
# Configure GigabitEthernet 1/0/3 and GigabitEthernet 1/0/5 as static member ports for IPv6 multicast group FF1E::101.
[SwitchC] interface gigabitethernet 1/0/3
[SwitchC-GigabitEthernet1/0/3] mld-snooping static-group ff1e::101 vlan 100
[SwitchC-GigabitEthernet1/0/3] quit
[SwitchC] interface gigabitethernet 1/0/5
[SwitchC-GigabitEthernet1/0/5] mld-snooping static-group ff1e::101 vlan 100
[SwitchC-GigabitEthernet1/0/5] quit
Verifying the configuration
# Display brief information about static router ports for VLAN 100 on Switch A.
[SwitchA] display mld-snooping static-router-port vlan 100
VLAN 100:
Router ports (1 in total):
GE1/0/3
The output shows that GigabitEthernet 1/0/3 on Switch A has become a static router port.
# Display brief information about static MLD snooping group entries in VLAN 100 on Switch C.
[SwitchC] display mld-snooping static-group vlan 100
Total 1 entries).
VLAN 100: Total 1 entries).
(::, FF1E::101)
Host ports (2 in total):
GE1/0/3
GE1/0/5
The output shows that GigabitEthernet 1/0/3 and GigabitEthernet 1/0/5 on Switch C have become static member ports of IPv6 multicast group FF1E::101.
MLD snooping querier configuration example
Network requirements
As shown in Figure 6:
· The network is a Layer 2-only network.
· Source 1 and Source 2 send multicast data to IPv6 multicast groups FF1E::101 and FF1E::102, respectively.
· Host A and Host C are receivers of IPv6 multicast group FF1E::101, and Host B and Host D are receivers of IPv6 multicast group FF1E::102.
· All host receivers run MLDv1 and all switches run MLDv1 snooping. Switch A (which is close to the multicast sources) acts as the MLD snooping querier.
To prevent the switches from flooding unknown IPv6 packets in the VLAN, enable all the switches to drop unknown IPv6 multicast packets.
Configuration procedure
1. Configure Switch A:
# Enable the MLD snooping feature.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/3 to the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
# Enable MLD snooping, and enable dropping unknown IPv6 multicast data for VLAN 100.
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping drop-unknown
# Configure Switch A as the MLD snooping querier.
[SwitchA-vlan100] MLD-snooping querier
[SwitchA-vlan100] quit
2. Configure Switch B:
# Enable the MLD snooping feature.
<SwitchB> system-view
[SwitchB] mld-snooping
[SwitchB-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/4 to the VLAN.
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
# Enable MLD snooping, and enable dropping unknown IPv6 multicast data for VLAN 100.
[SwitchB-vlan100] mld-snooping enable
[SwitchB-vlan100] mld-snooping drop-unknown
[SwitchB-vlan100] quit
3. Configure Switch C:
# Enable the MLD snooping feature.
<SwitchC> system-view
[SwitchC] mld-snooping
[SwitchC-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/3 to the VLAN.
[SwitchC] vlan 100
[SwitchC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
# Enable MLD snooping, and enable dropping unknown IPv6 multicast data for VLAN 100.
[SwitchC-vlan100] mld-snooping enable
[SwitchC-vlan100] mld-snooping drop-unknown
[SwitchC-vlan100] quit
4. Configure Switch D:
# Enable the MLD snooping feature.
<SwitchD> system-view
[SwitchD] mld-snooping
[SwitchD-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 and GigabitEthernet 1/0/2 to the VLAN.
[SwitchD] vlan 100
[SwitchD-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/2
# Enable MLD snooping, and enable dropping unknown IPv6 multicast data for VLAN 100.
[SwitchD-vlan100] mld-snooping enable
[SwitchD-vlan100] mld-snooping drop-unknown
[SwitchD-vlan100] quit
Verifying the configuration
# Display statistics for MLD messages and IPv6 PIM hello messages learned through MLD snooping on Switch B.
[SwitchB] display mld-snooping statistics
Received MLD general queries: 3
Received MLDv1 specific queries: 0
Received MLDv1 reports: 12
Received MLD dones: 0
Sent MLDv1 specific queries: 0
Received MLDv2 reports: 0
Received MLDv2 reports with right and wrong records: 0
Received MLDv2 specific queries: 0
Received MLDv2 specific sg queries: 0
Sent MLDv2 specific queries: 0
Sent MLDv2 specific sg queries: 0
Received IPv6 PIM hello: 0
Received error MLD messages: 0
The output shows that all switches except Switch A can receive the MLD general queries after Switch A acts as the MLD snooping querier.
MLD snooping proxying configuration example
Network requirements
As shown in Figure 7, Router A runs MLDv1 and acts as the MLD querier. Switch A runs MLDv1 snooping. Configure MLD snooping proxying so that Switch A can perform the following actions:
· Forward MLD report and done messages to Router A.
· Respond to MLD queries sent by Router A and forward the queries to downstream hosts.
Configuration procedure
1. Assign an IPv6 address and subnet mask to each interface, as shown in Figure 7. (Details not shown.)
2. Configure Router A:
# Enable IPv6 multicast routing.
<RouterA> system-view
[RouterA] ipv6 multicast routing
[RouterA-mrib6] quit
# Enable MLD and IPv6 PIM-DM on GigabitEthernet 1/0/1.
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mld enable
[RouterA-GigabitEthernet1/0/1] ipv6 pim dm
[RouterA-GigabitEthernet1/0/1] quit
# Enable IPv6 PIM-DM on GigabitEthernet 1/0/2.
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ipv6 pim dm
[RouterA-GigabitEthernet1/0/2] quit
3. Configure Switch A:
# Enable the MLD snooping feature.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/4 to the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
# Enable MLD snooping and MLD snooping proxying for the VLAN.
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping proxy enable
[SwitchA-vlan100] quit
Verifying the configuration
# Display brief information about dynamic MLD snooping group entries on Switch A.
[SwitchA] display mld-snooping group
Total 1 entries.
VLAN 100: Total 1 entries.
(::, FF1E::101)
Host ports (2 in total):
GE1/0/3 (00:04:09)
GE1/0/4 (00:03:06)
# Send an MLD done message to leave IPv6 multicast group (FF1E::101) from Host A. (Details not shown.)
# Display information about dynamic MLD groups on Router A.
[RouterA] display mld group
MLD groups in total: 1
GigabitEthernet1/0/1(2001::1):
MLD groups reported in total: 1
Group address: FF1E::101
Last reporter: FE80::2FF:FFFF:FE00:1
Uptime: 00:00:31
Expires: 00:03:48
# Display brief information about dynamic MLD snooping group entries on Switch A.
[SwitchA] display mld-snooping group
Total 1 entries.
VLAN 100: Total 1 entries.
(::, FF1E::101)
Host ports (1 in total):
GE1/0/3 ( 00:01:23 )
The output shows that GigabitEthernet 1/0/4 (connected to Host A) has been deleted from the entry of IPv6 multicast groups (FF1E::101).
Troubleshooting MLD snooping
Layer 2 multicast forwarding cannot function
Symptom
Layer 2 multicast forwarding cannot function through MLD snooping.
Solution
To resolve the problem:
1. Use the display mld-snooping command to display MLD snooping status.
2. If MLD snooping is not enabled, use the mld-snooping command in system view to enable the MLD snooping feature. Then, use the mld-snooping enable command in VLAN view to enable MLD snooping for the VLAN.
3. If MLD snooping is enabled globally but not enabled for the VLAN, use the mld-snooping enable command in VLAN view to enable MLD snooping for the VLAN.
4. If the problem persists, contact H3C Support.
IPv6 multicast group policy does not work
Symptom
Hosts can receive IPv6 multicast data for IPv6 multicast groups that are not permitted by the IPv6 multicast group policy.
Solution
To resolve the problem:
1. Use the display acl ipv6 command to verify that the configured IPv6 ACL meets the IPv6 multicast group policy requirements.
2. Use the display this command in MLD-snooping view or in interface view to verify that the correct IPv6 multicast group policy has been applied. If the applied policy is not correct, use the group-policy or mld-snooping group-policy command to apply the correct IPv6 multicast group policy.
3. Use the display mld-snooping command to verify that dropping unknown IPv6 multicast data is enabled. If it is not, use the drop-unknown or mld-snooping drop-unknown command to enable dropping unknown IPv6 multicast data.
4. If the problem persists, contact H3C Support.