Title | Size | Download |
---|---|---|
04-MLD Snooping Configuration | 378.50 KB |
Contents
Basic concepts in MLD snooping
MLD snooping configuration task list
Configuring basic functions of MLD snooping
Configuring the version of MLD snooping
Configuring IPv6 static multicast MAC address entries
Configuring MLD snooping port functions
Configuring aging timers for dynamic ports
Configuring fast leave processing
Disabling a port or a group of ports from changing into dynamic router ports
Configuring MLD snooping querier
Configuring MLD queries and responses
Configuring source IPv6 addresses of MLD queries
Configuring MLD snooping proxying
Enabling MLD snooping proxying
Configuring a source IPv6 address for the MLD messages sent by the proxy
Configuring an MLD snooping policy
Configuring an IPv6 multicast group filter
Configuring IPv6 multicast source port filtering
Configuring the function of dropping unknown IPv6 multicast data
Configuring MLD report suppression
Setting the maximum number of multicast groups that a port can join
Configuring IPv6 multicast group replacement
Configuring 802.1p precedence for MLD messages
Enabling the MLD snooping host tracking function
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
Switch fails in layer 2 multicast forwarding
Configured IPv6 multicast group policy fails to take effect
This chapter includes these sections:
· MLD snooping configuration task list
· Displaying and maintaining MLD snooping
· MLD snooping configuration examples
· Troubleshooting MLD snooping
|
NOTE: · The term "switch" or "device" in this chapter refers to the switching engine on a WX3000E wireless switch. · The WX3000E series comprises WX3024E and WX3010E wireless switches. · The port numbers in this chapter are for illustration only. |
MLD snooping overview
Introduction to MLD snooping
By analyzing received MLD messages, a Layer 2 device running MLD snooping establishes mappings between ports and multicast MAC addresses and forwards IPv6 multicast data based on these mappings.
As shown in Figure 1, when MLD snooping is not running, IPv6 multicast packets are broadcast to all devices at Layer 2. When MLD snooping runs, multicast packets for known IPv6 multicast groups are multicast to the receivers at Layer 2.
Figure 1 Before and after MLD snooping is enabled on the Layer 2 device
MLD snooping forwards multicast data to only the receivers requiring it at Layer 2. It brings the following advantages:
· Reducing Layer 2 broadcast packets, thus saving network bandwidth
· Enhancing the security of multicast traffic
· Facilitating the implementation of per-host accounting
Basic concepts in MLD snooping
MLD snooping related ports
As shown in Figure 2, Router A connects to the multicast source, MLD snooping runs on Switch A and Switch B, Host A and Host C are receiver hosts (namely, IPv6 multicast group members).
Figure 2 MLD snooping related ports
Ports involved in MLD snooping, as shown in Figure 2, are described as follows:
· Router port—A router port is a port on the Ethernet switch that leads switch toward the Layer-3 multicast device (DR or MLD querier). In the figure, GigabitEthernet 1/0/1 of Switch A and GigabitEthernet 1/0/1 of Switch B are router ports. The switch registers all its local router ports in its router port list.
· Member port—A member port (also known as IPv6 multicast group member port) is a port on the Ethernet switch that leads toward multicast group members. In the figure, GigabitEthernet 1/0/2 and GigabitEthernet 1/0/3 of Switch A and GigabitEthernet 1/0/2 of Switch B are member ports. The switch registers all the member ports on the local device in its MLD snooping forwarding table.
|
NOTE: · Whenever mentioned in this document, a router port is a router-connecting port on the switch, rather than a port on a router. · Unless otherwise specified, router/member ports mentioned in this document include static and dynamic ports. · On an MLD snooping-enabled switch, the ports that received MLD general queries with the source address other than 0::0 or IPv6 PIM hello messages are dynamic router ports. |
Aging timers for dynamic ports in MLD snooping
Table 1 Aging timers for dynamic ports in MLD snooping and related messages and actions
Timer |
Description |
Message before expiry |
Action after expiry |
Dynamic router port aging timer |
For each dynamic router port, the switch sets a timer initialized to the dynamic router port aging time. |
MLD general query of which the source address is not 0::0 or IPv6 PIM hello. |
The switch removes this port from its router port list. |
Dynamic member port aging timer |
When a port dynamically joins an IPv6 multicast group, the switch sets a timer for the port, which is initialized to the dynamic member port aging time. |
MLD report message. |
The switch removes this port from the MLD snooping forwarding table. |
|
NOTE: The port aging mechanism of MLD snooping works only for dynamic ports; a static port will never age out. |
How MLD snooping works
A switch running MLD snooping performs different actions when it receives different MLD messages, as follows:
|
CAUTION: The description about adding or deleting a port in this section is only for a dynamic port. Static ports can be added or deleted only through the corresponding configurations. For more information, see “Configuring static ports.” |
General queries
After receiving an MLD general query, the switch forwards it through all ports in the VLAN except the port that received the MLD query. The switch also performs the following:
· If the port on which it the switch received the MLD query is a dynamic router port in its router port list, the switch resets the aging timer for this dynamic router port.
· If the port is not included in its router port list, the switch adds it into its router port list as a dynamic router port and sets an aging timer for it.
Membership reports
A host sends an MLD report to the MLD querier in the following circumstances:
· If the host has been a member of an IPv6 multicast group, after receiving an MLD query, the host responds with an MLD report.
· If the host wants to join an IPv6 multicast group, the host sends an MLD report to the MLD querier to announce that it is interested in the multicast information addressed to that IPv6 multicast group.
After receiving an MLD report, the switch forwards it through all the router ports in the VLAN, resolves the address of the reported IPv6 multicast group, and performs the following to the receiving port:
· If no forwarding table entry exists for the reported IPv6 multicast group, the switch creates an entry, adds the port as a dynamic member port to the outgoing port list, and starts a member port aging timer for that port.
· If a forwarding table entry exists for the reported IPv6 multicast group, but the port is not included in the outgoing port list for that group, the switch adds the port as a dynamic member port to the outgoing port list, and starts a member port aging timer for that port.
· If a forwarding table entry exists for the reported IPv6 multicast group and the port is included in the outgoing port list, which means that this port is already a dynamic member port, the switch resets the member port aging timer for that port.
|
NOTE: A switch does not forward an MLD report through a non-router port. This is because if the switch forwards a report message through a member port, all the attached hosts listening to the reported IPv6 multicast address will suppress their own reports after receiving this report according to the MLD report suppression mechanism for hosts, and this will prevent the switch from knowing whether the reported multicast group still has active members attached to that port. |
Done messages
When a host leaves an IPv6 multicast group, the host sends an MLD done message to the multicast router.
When the switch receives an MLD done message on a dynamic member port, the switch first checks whether a forwarding table entry for the IPv6 multicast group address in the message exists, and, if one exists, whether the outgoing port list contains the port.
· If the forwarding table entry does not exist or if the outgoing port list does not contain the port, the switch discards the MLD done message instead of forwarding it to any port.
· If the forwarding table entry exists and the outgoing port list contains the port, the switch forwards the MLD done message to all router ports in the native VLAN. Because the switch does not know whether any other hosts attached to the port are still monitoring that IPv6 multicast group address, the switch does not immediately remove the port from the outgoing port list of the forwarding table entry for that group. Instead, it resets the aging timer for the port.
After receiving an MLD done message from a host, the MLD querier resolves the IPv6 multicast group address in the message and sends an MLD multicast-address-specific query to that IPv6 multicast group address through the port that received the MLD done message. After receiving the MLD multicast-address-specific query, the switch forwards it through all the router ports in the VLAN and all member ports for that IPv6 multicast group, and performs the following to the receiving port:
· If the port does not receive an MLD report in response to the MLD multicast-address-specific query before its aging timer expires, this means that no hosts attached to the port are still monitoring that IPv6 multicast group address. The switch removes the port from the outgoing port list of the forwarding table entry for that IPv6 multicast group when the aging timer expires.
MLD snooping proxying
You can configure the MLD snooping proxying function on an edge device to reduce the number of MLD reports and done messages sent to its upstream device. The device configured with MLD snooping proxying is called an MLD snooping proxy. It is a host from the perspective of its upstream device.
|
NOTE: Even though an MLD snooping proxy is a host from the perspective of its upstream device, the MLD membership report suppression mechanism for hosts does not take effect on it. |
Figure 3 Network diagram for MLD snooping proxying
As shown in Figure 3, Switch A works as an MLD snooping proxy. As a host from the perspective of the querier Router A, Switch A represents its attached hosts to send their membership reports and done messages to Router A.
Table 2 describes how an MLD snooping proxy processes MLD messages.
Table 2 MLD message processing on an MLD snooping proxy
MLD message |
Actions |
General query |
When receiving an MLD general query, the proxy forwards it to all ports but the receiving port. In addition, the proxy generates a report according to the group memberships it maintains and sends the report out all router ports. |
Multicast-address-specific query |
In response to the MLD group-specific query for a certain IPv6 multicast group, the proxy sends the report to the group out all router ports if the forwarding entry for the group still contains a member port. |
Report |
When receiving a report for an IPv6 multicast group, the proxy looks up the multicast forwarding table for the entry for the multicast group. If the forwarding entry is found with the receiving port contained as a dynamic port in the outgoing port list, the proxy resets the aging timer for the entry. If the forwarding entry is found but the outgoing port list does not include the receiving port, the proxy adds the port to the outgoing port list as a dynamic member port and starts an aging timer for it. If no forwarding entry is found, the proxy creates the entry, adds the receiving port to the outgoing port list as a dynamic member port and starts an aging timer for the port, and then, sends a report to the group out all router ports. |
Done |
In response to a done message for an IPv6 multicast group, the proxy sends a multicast-address-specific query for the group out the receiving port. After making sure that no member port is contained in the forwarding entry for the IPv6 multicast group, the proxy sends a done message for the group out all router ports. |
Protocols and standards
· RFC 4541, Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
MLD snooping configuration task list
Complete these tasks to configure MLD snooping:
Task |
Remarks |
|
Required |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Disabling a port or a group of ports from changing into dynamic router ports |
Optional |
|
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Configuring a source IPv6 address for the MLD messages sent by the proxy |
Optional |
|
Optional |
||
Optional |
||
Configuring the function of dropping unknown IPv6 multicast data |
Optional |
|
Optional |
||
Setting the maximum number of multicast groups that a port can join |
Optional |
|
Optional |
||
Optional |
||
Optional |
|
NOTE: · In MLD-snooping view, the configuration is effective for all VLANs. In VLAN view, the configuration is effective on only the ports that belong to the current VLAN. For a given VLAN, the configuration in MLD-snooping view is not effective if you make the same configuration in VLAN view. · In MLD-snooping view, the configuration is effective on all ports. In Ethernet interface view or Layer 2 aggregate interface view, the configuration is effective on only the current port. In port group view, the configuration is effective on all ports in only the current port group. For a given port, the configuration in MLD-snooping view is not effective if you make the same configuration in Ethernet interface view, Layer 2 aggregate interface view or port group view. · For MLD snooping, the configuration on a Layer 2 aggregate interface do not interfere with the configuration on its member ports, nor do they take part in aggregation calculations. The configuration on a member port of the aggregate group will take effect after the port leaves the aggregate group. |
Configuring basic functions of MLD snooping
Configuration prerequisites
Before you configure the basic functions of MLD snooping, complete the following tasks:
· Configure the corresponding VLANs
· Determine the version of MLD snooping
Enabling MLD snooping
Follow these steps to enable MLD snooping:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable MLD snooping globally and enter MLD-snooping view |
mld-snooping |
Required Disabled by default |
Return to system view |
quit |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable MLD snooping in the VLAN |
mld-snooping enable |
Required Disabled by default |
|
NOTE: · You must enable MLD snooping globally before you enable it in a VLAN. · After you enable MLD snooping in a VLAN, do not enable MLD or IPv6 PIM on the corresponding VLAN interface, and vice versa. · When you enable MLD snooping in a specified VLAN, MLD snooping takes effect on the ports in this VLAN only. |
Configuring the version of MLD snooping
By configuring the MLD snooping version, you actually configure the version of MLD messages that MLD snooping can process.
· MLD snooping version 1 can process MLDv1 messages, but cannot analyze and process MLDv2 messages, which will be flooded in the VLAN.
· MLD snooping version 2 can process MLDv1 and MLDv2 messages.
Follow these steps to configure the version of MLD snooping:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure the version of MLD snooping |
mld-snooping version version-number |
Required Version 1 by default |
|
CAUTION: If you switch MLD snooping from version 2 to version 1, the system will clear all MLD snooping forwarding entries from dynamic joining, and will: · Keep forwarding entries from version 2 static (*, G) joining; · Clear forwarding entries from version 2 static (S, G) joining, which will be restored when MLD snooping is switched back to version 2. For more information about static joining, see “Configuring static ports.” |
Configuring IPv6 static multicast MAC address entries
In Layer-2 multicast, a Layer-2 IPv6 multicast protocol (such as MLD snooping) can dynamically add IPv6 multicast MAC address entries. Or, you can manually configure IPv6 multicast MAC address entries to bind ports to IPv6 multicast MAC addresses so that IPv6 multicast data can correctly reach the destinations.
Configuring an IPv6 static multicast MAC address entry in system view
Table 3 Configure an IPv6 static multicast MAC address entry in system view
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Configure a static multicast MAC address entry |
mac-address multicast mac-address interface interface-list vlan vlan-id |
Required No static multicast MAC address entries exist by default. |
Configuring an IPv6 static multicast MAC address entry in interface view
Table 4 Configure an IPv6 static multicast MAC address entry in interface view
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either command In Ethernet interface view or Layer 2 aggregate interface view, the configuration is effective on only the current interface. In port group view, the configuration is effective on all ports in the port group. |
Enter port group view |
port-group manual port-group-name |
|
Configure a static multicast MAC address entry |
mac-address multicast mac-address vlan vlan-id |
Required No static multicast MAC address entries exist by default. |
|
NOTE: · For more information about the mac-address multicast command, see the IP Multicast Command Reference. · In system view, the configuration is effective on the specified interface. In interface view or port group view, the configuration is effective only on the current interface or interfaces in the current port group. · Any legal IPv6 multicast MAC address except 3333-xxxx-xxxx (where x represents a hexadecimal number from 0 to F) can be manually added to the MAC address table. |
Configuring MLD snooping port functions
Configuration prerequisites
Before you configure MLD snooping port functions, complete the following tasks:
· Enable MLD snooping in the VLAN
· Configure the corresponding port groups
· Determine the aging time of dynamic router ports
· Determine the aging time of dynamic member ports
· Determine the IPv6 multicast group and IPv6 multicast source addresses
Configuring aging timers for dynamic ports
If the switch receives no MLD general queries or IPv6 PIM hello messages on a dynamic router port, the switch removes the port from the router port list when the aging timer of the port expires.
If the switch receives no MLD reports for an IPv6 multicast group on a dynamic member port, the switch removes the port from the outgoing port list of the forwarding table entry for that IPv6 multicast group when the port aging timer expires.
If IPv6 multicast group memberships change frequently, you can set a relatively small value for the dynamic member port aging timer.
Configuring aging timers for dynamic ports globally
Follow these steps to configure aging timers for dynamic ports globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Configure dynamic router port aging time |
router-aging-time interval |
Required 260 seconds by default |
Configure dynamic member port aging time |
host-aging-time interval |
Required 260 seconds by default |
Configuring aging timers for dynamic ports in a VLAN
Follow these steps to configure aging timers for dynamic ports in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure dynamic router port aging time |
mld-snooping router-aging-time interval |
Required 260 seconds by default |
Configure dynamic member port aging time |
mld-snooping host-aging-time interval |
Required 260 seconds by default |
Configuring static ports
You can configure a port of a switch to be a static router port, through which the switch can forward all IPv6 multicast data it received.
Follow these steps to configure static ports:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Configure the port or ports as static member port or ports |
mld-snooping static-group ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id |
Required No static member ports by default |
Configure the port or ports as static router port or ports |
mld-snooping static-router-port vlan vlan-id |
Required No static router ports by default |
|
NOTE: · A static member port does not respond to queries from the MLD querier; when you configure a port as a static member port or cancel this configuration on the port, the port does not send an unsolicited MLD report or an MLD done message. · Static member ports and static router ports never age out. To remove such a port, you need to use the corresponding undo command. |
Configuring simulated joining
Generally, a host running MLD responds to MLD queries from the MLD querier. If a host fails to respond, the multicast router will deem that no member of this IPv6 multicast group exists on the network segment, and therefore will remove the corresponding forwarding path.
To avoid this situation from happening, you can enable simulated joining on a port of the switch. Namely, you can configure the port as a simulated member host for an IPv6 multicast group. When an MLD query is received, the simulated host gives a response. Thus, the switch can continue receiving IPv6 multicast data.
A simulated host acts like a real host, as follows:
· When a port is configured as a simulated member host, the switch sends an unsolicited MLD report through that port.
· After a port is configured as a simulated member host, the switch responds to MLD general queries by sending MLD reports through that port.
Follow these steps to configure simulated joining:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Configure simulated joining |
mld-snooping host-join ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id |
Required Disabled by default |
|
NOTE: · Each simulated host is equivalent to an independent host. For example, when receiving an MLD query, the simulated host corresponding to each configuration responds respectively. · Unlike a static member port, a port configured as a simulated member host will age out like a dynamic member port. |
Configuring fast leave processing
The fast leave processing feature allows the switch to process MLD done messages in a fast way. With the fast leave processing feature enabled, when receiving an MLD done message on a port, the switch immediately removes that port from the outgoing port list of the forwarding table entry for the indicated IPv6 multicast group. Then, when receiving MLD done multicast-address-specific queries for that IPv6 multicast group, the switch will not forward them to that port.
In VLANs where only one host is attached to each port, fast leave processing helps improve bandwidth and resource usage. However, if fast leave processing is enabled on a port to which more than one host is attached, when one host leaves a multicast group, the other hosts attached to the port and interested in the same multicast group will fail to receive multicast data for that group. Therefore, if the function of dropping unknown IPv6 multicast traffic is already enabled on the switch or in the VLANs, the fast leave processing function should not be enabled.
Configuring fast leave processing globally
Follow these steps to configure fast leave processing globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Enable fast leave processing |
fast-leave [ vlan vlan-list ] |
Required Disabled by default |
Configuring fast leave processing on a port or a group of ports
Follow these steps to configure fast leave processing on a port or a group of ports:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Enable fast leave processing |
mld-snooping fast-leave [ vlan vlan-list ] |
Required Disabled by default |
Disabling a port or a group of ports from changing into dynamic router ports
At present, the following problems exist in a multicast access network:
· After receiving an MLD general query or IPv6 PIM Hello message from a connected host, a switch port becomes a dynamic router port. Before its timer expires, this dynamic router port will receive all multicast packets within the VLAN it belongs to and forward then to the host, thus affecting normal multicast reception of the host.
· In addition, the MLD general query and IPv6 PIM Hello message sent from the host affects the multicast routing protocol state on Layer 3 devices, such as the MLD querier or DR election, and might further cause network interruption.
To solve these problems, you can disable that switch port from changing into a dynamic router port after receiving an MLD general query or IPv6 PIM Hello message; thus, network security and control over multicast users are enhanced.
Follow these steps to disable a port or a group of ports from changing into dynamic router ports:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Disable the port or group of ports from changing into dynamic router ports |
mld-snooping router-port-deny [ vlan vlan-list ] |
Required By default, the port or group of ports can change into dynamic router ports. |
|
NOTE: This configuration does not affect the static router port configuration. |
Configuring MLD snooping querier
Configuration prerequisites
Before you configure MLD snooping querier, complete the following tasks:
· Enable MLD snooping in the VLAN
· Determine the MLD general query interval
· Determine the MLD last-member query interval
· Determine the maximum response time for MLD general queries
· Determine the source IPv6 address of MLD general queries
· Determine the source IPv6 address of MLD multicast-address-specific queries
Enabling MLD snooping querier
In an IPv6 multicast network running MLD, a multicast router or Layer 3 multicast switch is responsible for sending periodic MLD general queries, so that all Layer 3 multicast devices can establish and maintain multicast forwarding entries, thus to forward multicast traffic correctly at the network layer. This router or Layer 3 switch is called MLD querier.
However, a Layer 2 multicast switch does not support MLD, and therefore cannot send MLD general queries by default. By enabling MLD snooping querier on a Layer 2 switch in a VLAN where multicast traffic needs to be Layer-2 switched only and no Layer 3 multicast devices are present, the Layer 2 switch will act as the MLD querier to send periodic MLD queries, thus allowing multicast forwarding entries to be established and maintained at the data link layer.
Follow these steps to enable the MLD snooping querier:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable the MLD snooping querier |
mld-snooping querier |
Required Disabled by default |
|
CAUTION: It is meaningless to configure an MLD snooping querier in an IPv6 multicast network running MLD. Although an MLD snooping querier does not take part in MLD querier elections, it might affect MLD querier elections because it sends MLD general queries with a low source IPv6 address. |
Configuring MLD queries and responses
You can tune the MLD general query interval based on the actual condition of the network.
After receiving an MLD query (general query or multicast-address-specific query), a host starts a timer for each IPv6 multicast group that it has joined. This timer is initialized to a random value in the range of 0 to the maximum response time (the host obtains the value of the maximum response time from the Max Response Time field in the MLD query that it received). When the timer value comes down to 0, the host sends an MLD report to the corresponding IPv6 multicast group.
An appropriate setting of the maximum response time for MLD queries enables hosts to respond to queries quickly and avoids bursts of MLD traffic on the network. Such burst can occur when a large number of hosts simultaneously send reports after the corresponding timers expire simultaneously.
· For MLD general queries, you can configure the maximum response time to fill their Max Response time field.
· For MLD multicast-address-specific queries, you can configure the MLD last-member query interval to fill their Max Response time field. Namely, for MLD multicast-address-specific queries, the maximum response time equals the MLD last-member query interval.
Configuring MLD queries and responses globally
Follow these steps to configure MLD queries and responses globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Configure the maximum response time for MLD general queries |
max-response-time interval |
Required 10 seconds by default |
Configure the MLD last-member query interval |
last-listener-query-interval interval |
Required 1 second by default |
Configuring MLD queries and responses in a VLAN
Follow these steps to configure MLD queries and responses in a VLAN
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure MLD query interval |
mld-snooping query-interval interval |
Required 125 seconds by default |
Configure the maximum response time for MLD general queries |
mld-snooping max-response-time interval |
Required 10 seconds by default |
Configure the MLD last-member query interval |
mld-snooping last-listener-query-interval interval |
Required 1 second by default |
|
CAUTION: Make sure that the MLD query interval is greater than the maximum response time for MLD general queries. Otherwise undesired deletion of IPv6 multicast members might occur. |
Configuring source IPv6 addresses of MLD queries
This configuration allows you to change the source IPv6 address of MLD queries.
Follow these steps to configure source IPv6 addresses of MLD queries:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure the source IPv6 address of MLD general queries |
mld-snooping general-query source-ip { ipv6-address | current-interface } |
Required FE80::02FF:FFFF:FE00:0001 by default |
Configure the source IPv6 address of MLD multicast-address-specific queries |
mld-snooping special-query source-ip { ipv6-address | current-interface } |
Required FE80::02FF:FFFF:FE00:0001 by default |
|
CAUTION: The source IPv6 address of MLD query messages might affect MLD querier election within the segment. |
Configuring MLD snooping proxying
Configuration prerequisites
Before you configure MLD snooping proxying in a VLAN, complete the following tasks:
· Enable MLD snooping in the VLAN
· Determine the source IPv6 address for the MLD reports sent by the proxy
· Determine the source IPv6 address for the MLD done messages sent by the proxy
Enabling MLD snooping proxying
The MLD snooping proxying function works on a per-VLAN basis. After you enable the function in a VLAN, the device works as the MLD snooping proxy for the downstream hosts and upstream router in the VLAN.
Follow these steps to enable MLD snooping proxying in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable MLD snooping proxying in the VLAN |
mld-snooping proxying enable |
Required Disabled by default. |
Configuring a source IPv6 address for the MLD messages sent by the proxy
You can set the source IPv6 addresses in the MLD reports and done messages sent by the MLD snooping proxy on behalf of its attached hosts.
Follow these steps to configure the source IPv6 addresses for the MLD messages sent by the MLD snooping proxy on behalf of its attached hosts in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure a source IPv6 address for the MLD reports sent by the proxy |
mld-snooping report source-ip { ipv6-address | current-interface } |
Required The default is FE80::02FF:FFFF:FE00:0001. |
Configure a source IPv6 address for the MLD done messages sent by the proxy |
mld-snooping done source-ip { ipv6-address | current-interface } |
Required The default is FE80::02FF:FFFF:FE00:0001. |
Configuring an MLD snooping policy
Configuration prerequisites
Before you configure an MLD snooping policy, complete the following tasks:
· Enable MLD snooping in the VLAN
· Determine the IPv6 ACL rule for IPv6 multicast group filtering
· Determine the maximum number of IPv6 multicast groups that a port can join
· Determine the 802.1p precedence for MLD messages
Configuring an IPv6 multicast group filter
On a MLD snooping–enabled switch, the configuration of an IPv6 multicast group filter allows the service provider to define limits of multicast programs available to different users.
In an actual application, when a user requests a multicast program, the user’s host initiates an MLD report. After receiving this report message, the switch checks the report against the configured ACL rule. If the port on which the report was received can join this IPv6 multicast group, the switch adds an entry for this port in the MLD snooping forwarding table. Otherwise the switch drops this report message. Any IPv6 multicast data that fails the ACL check will not be sent to this port. In this way, the service provider can control the VOD programs provided for multicast users.
Configuring an IPv6 multicast group filter globally
Follow these steps to configure an IPv6 multicast group globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Configure an IPv6 multicast group filter |
group-policy acl6-number [ vlan vlan-list ] |
Required By default, no IPv6 group filter is globally configured. That is, hosts in VLANs can join any valid multicast group. |
Configuring an IPv6 multicast group filter on a port or a group of ports
Follow these steps to configure an IPv6 multicast group filer on a port or a group of ports:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Configure an IPv6 multicast group filter |
mld-snooping group-policy acl6-number [ vlan vlan-list ] |
Required By default, no IPv6 group filter is configured on an interface. That is, hosts on the interface can join any valid multicast group. |
Configuring IPv6 multicast source port filtering
With the IPv6 multicast source port filtering feature enabled on a port, the port can be connected with IPv6 multicast receivers only rather than with multicast sources, because the port will block all IPv6 multicast data packets but it permits multicast protocol packets to pass.
If this feature is disabled on a port, the port can be connected with both multicast sources and IPv6 multicast receivers.
Configuring IPv6 multicast source port filtering globally
Follow these steps to configure IPv6 multicast source port filtering:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Enable IPv6 multicast source port filtering |
source-deny port interface-list |
Required Disabled by default |
Configuring IPv6 multicast source port filtering on a port or a group of ports
Follow these steps to configure IPv6 multicast source port filtering on a port or a group of ports:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Enable IPv6 multicast source port filtering |
mld-snooping source-deny |
Required Disabled by default |
Configuring the function of 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. When the switch receives such IPv6 multicast traffic, it performs the following operation:
· With the function of dropping unknown IPv6 multicast data enabled, the switch drops all unknown IPv6 multicast data received.
· With the function of dropping unknown IPv6 multicast data disabled, the switch floods unknown IPv6 multicast data in the VLAN to which the unknown IPv6 multicast data belongs.
Follow these steps to enable dropping unknown IPv6 multicast data in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable dropping unknown IPv6 multicast data |
mld-snooping drop-unknown |
Required Disabled by default |
Configuring MLD report suppression
When a Layer 2 device receives an MLD report from an IPv6 multicast group member, the Layer 2 device forwards the message to the Layer 3 device directly connected with it. Thus, when multiple members belonging to an IPv6 multicast group exist on the Layer 2 device, the Layer 3 device directly connected with it will receive duplicate MLD reports from these members.
With the MLD report suppression function enabled, within a query interval, the Layer 2 device forwards only the first MLD report of an IPv6 group to the Layer 3 device and will not forward the subsequent MLD reports from the same multicast group to the Layer 3 device. This helps reduce the number of packets being transmitted over the network.
Follow these steps to configure MLD report suppression:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Enable MLD report suppression |
report-aggregation |
Required Enabled by default |
|
CAUTION: On an MLD snooping proxy, MLD membership reports are suppressed if the entries for the corresponding groups exist in the forwarding table, no matter the suppression function is enabled or not. |
Setting the maximum number of multicast groups that a port can join
By configuring the maximum number of IPv6 multicast groups that a port can join, you can limit the number of multicast programs available to VOD users, thus to control the traffic on the port.
Follow these steps configure the maximum number of IPv6 multicast groups that a port can join:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Configure the maximum number of IPv6 multicast groups that a port can join |
mld-snooping group-limit limit [ vlan vlan-list ] |
Required 200 by default |
|
NOTE: When you configured the maximum number of IPv6 multicast groups that a port can join, if the current number of IPv6 multicast groups the port has joined reaches the configured maximum value, the system deletes all the forwarding entries persistent to that port from the MLD snooping forwarding table, and the hosts on this port need to join IPv6 multicast groups again until the number of IPv6 multicast groups that the port join reaches the maximum value. When the port joins IPv6 multicast groups, if the port has been configured as a static member port, the system applies the configurations to the port again. If the port has been configured as a simulated member host, the system establishes corresponding forwarding entry for the host after receiving a report from the host. |
Configuring IPv6 multicast group replacement
For some special reasons, the number of IPv6 multicast groups passing through a switch or port might exceed the number configured for the switch or the port. In addition, in some specific applications, an IPv6 multicast group newly joined on the switch needs to replace an existing IPv6 multicast group automatically. A typical example is “channel switching”. Namely, by joining the new multicast group, a user automatically switches from the current IPv6 multicast group to the new one.
To address this situation, you can enable the IPv6 multicast group replacement function on the switch or certain ports. When the number of IPv6 multicast groups a switch or a port has joined exceeds the limit.
· If the IPv6 multicast group replacement is enabled, the newly joined IPv6 multicast group automatically replaces an existing IPv6 multicast group with the lowest IPv6 address.
· If the IPv6 multicast group replacement is not enabled, new MLD reports will be automatically discarded.
Configuring IPv6 multicast group replacement globally
Follow these steps to configure IPv6 multicast group replacement globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Enable IPv6 multicast group replacement |
overflow-replace [ vlan vlan-list ] |
Required Disabled by default |
Configuring IPv6 multicast group replacement on a port or a group of ports
Follow these steps to configure IPv6 multicast group replacement on a port or a group of ports:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter Ethernet interface view or Layer 2 aggregate interface view |
interface interface-type interface-number |
Required Use either approach |
Enter port group view |
port-group manual port-group-name |
|
Enable IPv6 multicast group replacement |
mld-snooping overflow-replace [ vlan vlan-list ] |
Required Disabled by default |
|
CAUTION: Be sure to configure the maximum number of IPv6 multicast groups allowed on a port (see “Setting the maximum number of multicast groups that a port can join)” before enabling IPv6 multicast group replacement. Otherwise, the IPv6 multicast group replacement functionality will not take effect. |
Configuring 802.1p precedence for MLD messages
You can change 802.1p precedence of MLD messages so that they can be assigned higher forwarding priority when congestion occurs on their outgoing ports.
Configuring 802.1p precedence for MLD messages globally
Follow these steps to configure 802.1p precedence for MLD messages globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Configure 802.1p precedence for MLD Messages |
dot1p-priority priority-number |
Required The default 802.1p precedence for MLD messages is 0. |
Configuring 802.1p precedence for MLD messages in a VLAN
Follow these steps to configure 802.1p precedence for MLD messages in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure 802.1p precedence for MLD Messages |
mld-snooping dot1p-priority priority-number |
Required The default 802.1p precedence for MLD messages is 0. |
Enabling the MLD snooping host tracking function
With the MLD snooping host tracking function, the switch can record the information of the member hosts that are receiving IPv6 multicast traffic, including the host IPv6 address, running duration, and timeout time. You can monitor and manage the member hosts according to the recorded information.
Enabling the MLD snooping host tracking function globally
Follow these steps to enable the MLD snooping host tracking function globally:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter MLD-snooping view |
mld-snooping |
— |
Enable the MLD snooping host tracking function globally |
host-tracking |
Required Disabled by default |
Enabling the MLD snooping host tracking function in a VLAN
Follow these steps to enable the MLD snooping host tracking function in a VLAN:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable the MLD snooping host tracking function in the VLAN |
mld-snooping host-tracking |
Required Disabled by default |
Displaying and maintaining MLD snooping
To do… |
Use the command... |
Remarks |
Display MLD snooping group information |
display mld-snooping group [ vlan vlan-id ] [ slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
Available in any view |
Display the statistics information of MLD messages learned by MLD snooping |
display mld-snooping statistics [ | { begin | exclude | include } regular-expression ] |
Available in any view |
Display information about IPv6 static multicast MAC entries |
display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ] |
Available in any view |
Remove dynamic group entries of a specified MLD snooping group or all MLD snooping groups |
reset mld-snooping group { ipv6-group-address | all } [ vlan vlan-id ] |
Available in user view |
Clear the statistics information of all kinds of MLD messages learned by MLD snooping |
reset mld-snooping statistics |
Available in user view |
|
NOTE: · The reset mld-snooping group command works only on an MLD snooping–enabled VLAN, but not on a VLAN with MLD enabled on its VLAN interface. · The reset mld-snooping group command cannot remove the static group entries of MLD snooping groups. |
MLD snooping configuration examples
IPv6 group policy and simulated joining configuration example
Network requirements
· As shown in Figure 4, Router A connects to the IPv6 multicast source through GigabitEthernet 1/0/2 and to Switch A through GigabitEthernet 1/0/1. MLDv1 is required on Router A, MLDv1 snooping required on Switch A, and Router A acts as the MLD querier on the subnet.
· The receivers, Host A and Host B can receive IPv6 multicast traffic addressed to IPv6 multicast group FF1E::101 only.
· IPv6 multicast data for group FF1E::101 can be forwarded through GigabitEthernet 1/0/3 and GigabitEthernet 1/0/4 of Switch A even if Host A and Host B accidentally, temporarily stop receiving IPv6 multicast data, and that Switch A drops unknown IPv6 multicast data and does not broadcast the data to the VLAN where Switch A resides.
Figure 4 Network diagram for IPv6 group policy simulated joining configuration
Configuration procedure
1. Enable IPv6 forwarding and configure IPv6 addresses
Enable IPv6 forwarding and configure an IPv6 address and prefix length for each interface as per Figure 4. The detailed configuration steps are omitted.
2. Configure Router A
# Enable IPv6 multicast routing, enable IPv6 PIM-DM on each interface, and enable MLDv1 on GigabitEthernet 1/0/1.
<RouterA> system-view
[RouterA] multicast ipv6 routing-enable
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mld enable
[RouterA-GigabitEthernet1/0/1] pim ipv6 dm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim ipv6 dm
[RouterA-GigabitEthernet1/0/2] quit
3. Configure Switch A
# Enable MLD snooping globally.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/4 to this VLAN, and enable MLD snooping and the function of dropping IPv6 unknown multicast traffic in the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping drop-unknown
[SwitchA-vlan100] quit
# Configure an IPv6 multicast group filter so that the hosts in VLAN 100 can join only the IPv6 multicast group FF1E::101.
[SwitchA] acl ipv6 number 2001
[SwitchA-acl6-basic-2001] rule permit source ff1e::101 128
[SwitchA-acl6-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 hosts for 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
4. Verify the configuration
# Display the detailed MLD snooping group information in VLAN 100 on Switch A.
[SwitchA] display mld-snooping group vlan 100 verbose
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port
Subvlan flags: R-Real VLAN, C-Copy VLAN
Vlan(id):100.
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Router port(s):total 1 port(s).
GE1/0/1 (D) ( 00:01:30 )
IP group(s):the following ip group(s) match to one mac group.
IP group address:FF1E::101
(::, FF1E::101):
Attribute: Host Port
Host port(s):total 2 port(s).
GE1/0/3 (D) ( 00:03:23 )
GE1/0/4 (D) ( 00:04:10 )
MAC group(s):
MAC group address:3333-0000-0101
Host port(s):total 2 port(s).
GE1/0/3
GE1/0/4
The output shows that GigabitEthernet 1/0/3 and GigabitEthernet 1/0/4 of Switch A have joined IPv6 multicast group FF1E::101.
Static port configuration example
Network requirements
· As shown in Figure 5, Router A connects to an IPv6 multicast source (Source) through GigabitEthernet 1/0/2, and to Switch A through GigabitEthernet 1/0/1. MLDv1 is required on Router A, and MLDv1 snooping is required on Switch A, Switch B and Switch C. Router A acts as the MLD querier.
· Host A and host C are permanent receivers of IPv6 multicast group FF1E::101. GigabitEthernet 1/0/3 and GigabitEthernet 1/0/5 on Switch C are required to be configured as static member ports for multicast group FF1E::101 to enhance the reliability of multicast traffic transmission.
· Suppose STP runs on the network. To avoid data loops, the forwarding path from Switch A to Switch C is blocked under normal conditions, and IPv6 multicast traffic flows to the receivers attached to Switch C only along the path of Switch A—Switch B—Switch C.
· Configure GigabitEthernet 1/0/3 on Switch C as a static router port, so that IPv6 multicast traffic can flow to the receivers nearly uninterruptedly along the path of Switch A—Switch C in the case that the path of Switch A—Switch B—Switch C gets blocked.
|
NOTE: · If no static router port is configured, when the path of Switch A—Switch B—Switch C gets blocked, at least one MLD query-response cycle must be completed before the IPv6 multicast data can flow to the receivers along the new path of Switch A—Switch C. Namely, IPv6 multicast delivery will be interrupted during this process. · For more information about the Spanning Tree Protocol (STP), see the Layer 2 Configuration Guide. |
Figure 5 Network diagram for static port configuration
Configuration procedure
1. Enable IPv6 forwarding and configure IPv6 addresses
Enable IPv6 forwarding and configure an IPv6 address and prefix length for each interface as per Figure 5.
2. Configure Router A
# Enable IPv6 multicast routing, enable IPv6 PIM-DM on each interface, and enable MLD on GigabitEthernet 1/0/1.
<RouterA> system-view
[RouterA] multicast ipv6 routing-enable
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mld enable
[RouterA-GigabitEthernet1/0/1] pim ipv6 dm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim ipv6 dm
[RouterA-GigabitEthernet1/0/2] quit
3. Configure Switch A
# Enable MLD snooping globally.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/3 to this VLAN, and enable MLD snooping in the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] quit
# Configure GigabitEthernet 1/0/3 to be 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 MLD snooping globally.
<SwitchB> system-view
[SwitchB] mld-snooping
[SwitchB-mld-snooping] quit
# Create VLAN 100, assign GigabitEthernet 1/0/1 and GigabitEthernet 1/0/2 to this VLAN, and enable MLD snooping in the VLAN.
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 gigabitethernet 1/0/2
[SwitchB-vlan100] mld-snooping enable
[SwitchB-vlan100] quit
5. Configure Switch C
# Enable MLD snooping globally.
<SwitchC> system-view
[SwitchC] mld-snooping
[SwitchC-mld-snooping] quit
# Create VLAN 100, assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/5 to this VLAN, and enable MLD snooping in the VLAN.
[SwitchC] vlan 100
[SwitchC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/5
[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
6. Verify the configuration
# Display the detailed MLD snooping group information in VLAN 100 on Switch A.
[SwitchA] display mld-snooping group vlan 100 verbose
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port
Subvlan flags: R-Real VLAN, C-Copy VLAN
Vlan(id):100.
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Router port(s):total 2 port(s).
GE1/0/1 (D) ( 00:01:30 )
GE1/0/3 (S)
IP group(s):the following ip group(s) match to one mac group.
IP group address:FF1E::101
(::, FF1E::101):
Attribute: Host Port
Host port(s):total 1 port(s).
GE1/0/2 (D) ( 00:03:23 )
MAC group(s):
MAC group address:3333-0000-0101
Host port(s):total 1 port(s).
GE1/0/2
The output shows that GigabitEthernet 1/0/3 of Switch A has become a static router port.
# Display the detailed MLD snooping group information in VLAN 100 on Switch C.
[SwitchC] display mld-snooping group vlan 100 verbose
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port
Subvlan flags: R-Real VLAN, C-Copy VLAN
Vlan(id):100.
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Router port(s):total 1 port(s).
GE1/0/2 (D) ( 00:01:23 )
IP group(s):the following ip group(s) match to one mac group.
IP group address:FF1E::101
(::, FF1E::101):
Attribute: Host Port
Host port(s):total 2 port(s).
GE1/0/3 (S)
GE1/0/5 (S)
MAC group(s):
MAC group address:3333-0000-0101
Host port(s):total 2 port(s).
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 for IPv6 multicast group FF1E::101.
MLD snooping querier configuration example
Network requirements
· As shown in Figure 6, in a Layer-2-only network environment, two multicast sources Source 1 and Source 2 send IPv6 multicast data to multicast groups FF1E::101 and FF1E::102 respectively, Host A and Host C are receivers of multicast group FF1E::101, and Host B and Host D are receivers of multicast group FF1E::102. MLDv1 is required on all the receivers and MLDv1 snooping is required on all the switches. Switch A, which is close to the multicast sources, is chosen as the MLD snooping querier.
· To prevent flooding of unknown multicast traffic within the VLAN, be sure to configure all the switches to drop unknown multicast data packets.
Figure 6 Network diagram for MLD snooping querier configuration
Configuration procedure
1. Configure Switch A
# Enable IPv6 forwarding and enable MLD snooping globally.
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100 and assign GigabitEthernet 1/0/1 through GigabitEthernet 1/0/3 to VLAN 100.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
# Enable MLD snooping and the function of dropping unknown IPv6 multicast data packets in VLAN 100.
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping drop-unknown
# Configure MLD snooping querier feature in VLAN 100.
[SwitchA-vlan100] mld-snooping querier
[SwitchA-vlan100] quit
2. Configure Switch B
# Enable IPv6 forwarding and enable MLD snooping globally.
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] mld-snooping
[SwitchB-mld-snooping] quit
# Create VLAN 100, add GigabitEthernet 1/0/1 through GigabitEthernet 1/0/4 into VLAN 100.
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
# Enable the MLD snooping feature and the function of dropping unknown IPv6 multicast data packets in VLAN 100.
[SwitchB-vlan100] mld-snooping enable
[SwitchB-vlan100] mld-snooping drop-unknown
[SwitchB-vlan100] quit
Configurations of Switch C and Switch D are similar to the configuration of Switch B.
3. Verify the configuration
When the MLD snooping querier starts to work, all the switches but the querier receive MLD general queries. Use the display mld-snooping statistics command to view the statistics information of these MLD messages received.
# Display the MLD message statistics on Switch B.
[SwitchB-vlan100] 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 error MLD messages:0.
MLD snooping proxying configuration example
Network requirements
· As shown in Figure 7, Router A connects to an IPv6 multicast source through port GigabitEthernet 1/0/2, and to Switch A through port GigabitEthernet 1/0/1. MLDv1 is required on Router A and MLDv1 snooping is required on Switch A. Router A acts as the MLD querier.
· Configure MLD snooping proxying on Switch A, enabling the switch to forward MLD reports and done messages on behalf of attached hosts and to respond to MLD queries from Router A and forward the queries to the hosts on behalf of Router A.
Figure 7 Network diagram for MLD snooping proxying configuration
Configuration procedure
1. Configure IPv6 addresses for interfaces
Configure an IP address and prefix length for each interface as per Figure 7. The configuration steps are out the scope of this document.
2. Configure Router A
# Enable IPv6 multicast routing, enable IPv6 PIM-DM on each interface, and enable MLD on port GigabitEthernet 1/0/1.
<RouterA> system-view
[RouterA] multicast ipv6 routing-enable
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mld enable
[RouterA-GigabitEthernet1/0/1] pim ipv6 dm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim ipv6 dm
[RouterA-GigabitEthernet1/0/2] quit
3. Configure Switch A
# Enable MLD snooping globally.
<SwitchA> system-view
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100, assign ports GigabitEthernet 1/0/1 through GigabitEthernet 1/0/4 to this VLAN, and enable MLD snooping and MLD snooping proxying in the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping proxying enable
[SwitchA-vlan100] quit
4. Verify the configuration
After the configuration is completed, Host A and Host B send MLD join messages addressed to group FF1E::101. When receiving the messages, Switch A sends a join message for the group out port GigabitEthernet 1/0/1 (a router port) to Router A. Use the display mld-snooping group command and the display mld group command to display information about MLD snooping groups and MLD multicast groups. For example:
# Display information about MLD snooping groups on Switch A.
[SwitchA] display mld-snooping group
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port
Subvlan flags: R-Real VLAN, C-Copy VLAN
Vlan(id):100.
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Router port(s):total 1 port(s).
GE1/0/1 (D) ( 00:01:23 )
IP group(s):the following ip group(s) match to one mac group.
IP group address:FF1E::101
(::, FF1E::101):
Host port(s):total 2 port(s).
GE1/0/3 (D)
GE1/0/4 (D)
MAC group(s):
MAC group address:3333-0000-0101
Host port(s):total 2 port(s).
GE1/0/3
GE1/0/4
# Display information about MLD multicast groups on Router A.
[RouterA] display mld group
Total 1 MLD Group(s).
Interface group report information
GigabitEthernet1/0/1(2001::1):
Total 1 MLD Group reported
Group Address: FF1E::1
Last Reporter: FE80::2FF:FFFF:FE00:1
Uptime: 00:00:03
Expires: 00:04:17
When Host A leaves the IPv6 multicast group, it sends an MLD done message to Switch A. Receiving the message, Switch A removes port GigabitEthernet 1/0/4 from the member port list of the forwarding entry for the group; however, it does not remove the group or forward the done message to Router A because Host B is still in the group. Use the display mld-snooping group command to display information about MLD snooping groups. For example:
# Display information about MLD snooping groups on Switch A.
[SwitchA] display mld-snooping group
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port
Subvlan flags: R-Real VLAN, C-Copy VLAN
Vlan(id):100.
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Router port(s):total 1 port(s).
GE1/0/1 (D) ( 00:01:23 )
IP group(s):the following ip group(s) match to one mac group.
IP group address:FF1E::101
(::, FF1E::101):
Host port(s):total 1 port(s).
GE1/0/3 (D)
MAC group(s):
MAC group address:3333-0000-0101
Host port(s):total 1 port(s).
GE1/0/3
Troubleshooting MLD snooping
Switch fails in layer 2 multicast forwarding
Symptom
A switch fails to implement Layer 2 multicast forwarding.
Analysis
MLD snooping is not enabled.
Solution
1. Enter the display current-configuration command to view the running status of MLD snooping.
2. If MLD snooping is not enabled, use the mld-snooping command to enable MLD snooping globally, and then use mld-snooping enable command to enable MLD snooping in VLAN view.
3. If MLD snooping is disabled only for the corresponding VLAN, just use the mld-snooping enable command in VLAN view to enable MLD snooping in the corresponding VLAN.
Configured IPv6 multicast group policy fails to take effect
Symptom
Although an IPv6 multicast group policy has been configured to allow hosts to join specific IPv6 multicast groups, the hosts can still receive IPv6 multicast data addressed to other groups.
Analysis
· The IPv6 ACL rule is incorrectly configured.
· The IPv6 multicast group policy is not correctly applied.
· The function of dropping unknown IPv6 multicast data is not enabled, so unknown IPv6 multicast data is flooded.
Solution
1. Use the display acl ipv6 command to check the configured IPv6 ACL rule. Make sure that the IPv6 ACL rule conforms to the IPv6 multicast group policy to be implemented.
2. Use the display this command in MLD-snooping view or the corresponding interface view to check whether the correct IPv6 multicast group policy has been applied. If not, use the group-policy or mld-snooping group-policy command to apply the correct IPv6 multicast group policy.
3. Use the display current-configuration command to check whether the function of dropping unknown IPv6 multicast data is enabled. If not, use the mld-snooping drop-unknown command to enable the function of dropping unknown IPv6 multicast data.