MLD
MLD overview
Multicast Listener Discovery (MLD) is the IPv6 version of IGMP and belongs to the Source Specific Multicast (SSM) service model (see IPv6 PIM models for more information). The purpose of MLD is to allow each IPv6 router to discover the presence of multicast listeners on its directly attached links, and to discover specifically which multicast groups are of interest to those neighboring nodes.
MLD is a sub-protocol of ICMPv6. MLD message types are a subset of the set of ICMPv6 messages, and MLD messages are identified in IPv6 packets by a preceding Next Header value of 58. All MLD messages are sent with a link-local IPv6 source address, a Hop Limit of 1, and an IPv6 Router Alert option in the Hop-by-Hop Options header.
MLDv1
Similar to IGMPv2, MLDv1 reports only include the multicast group addresses that listeners are interested in, and do not include the source addresses. To work with the PIM-SSM model, a similar SSM translation function is required when MLDv1 is used.
SSM translation allows an IGMPv2 device to join an SSM multicast network through the router that provides such a translation capability. Currently SSM translation can done at a box level, but this does not allow a per-interface translation to be specified. SSM translation per interface offers the ability to have a same (*,G) mapped to two different (S,G) on two different interfaces to provide flexibility.
MLDv2
MLDv2 is backward compatible with MLDv1 and adds the ability for a node to report interest in listening to packets with a particular multicast group only from specific source addresses or from all sources except for specific source addresses.
Configuring MLD with CLI
This section provides information to configure MLD using the command line interface.
MLD configuration overview
The routers use MLD to manage membership for a multicast session. MLD is not enabled by default. When enabled, at least one interface must be specified in the MLD context as MLD is an interface function. Creating an interface enables MLD. Traffic can only flow away from the router to an MLD interface and to and from a PIM interface. A router directly connected to a source must have PIM enabled on the interface to that source. The traffic travels in a network from PIM interface to PIM interface and arrives finally on an MLD enabled interface.
The MLD CLI context allows you to specify an existing IP interface and modify the interface-specific parameters. Static MLD group memberships can be configured to test multicast forwarding without a receiver host. When MLD static group membership is enabled, data is forwarded to an interface without receiving membership reports from host members.
When static MLD group entries on point-to-point links that connect routers to a rendezvous point (RP) are configured, the static MLD group entries do not generate join messages toward the RP. When a host wants to receive multicast sessions it sends a join message for each multicast group it wants to join. Then, a leave message may be sent for each multicast group it no longer needs to participate with.
A multicast router keeps a list of multicast group memberships for each attached network, and an interval timer for each membership. Hosts issue a Multicast Group Membership Report when they want to receive a multicast session. The reports are sent to all multicast routers.
Basic MLD configuration
Perform the following basic multicast configuration tasks:
- Required: Enable MLD.
- Required: Configure MLD interfaces.
- Optional: Specify the MLD version on the interface.
- Optional: Configure static (S,G)/(*,G).
- Optional: Configure SSM translation.
Configuring MLD
Enabling MLD
Use the commands in the following context to configure and enable MLD for the router.
configure router mld
The following example shows a basic configuration with MLD enabled.
MD-CLI
[ex:/configure router "Base" mld]
A:admin@node-2# info
...
admin-state enable
group-if-query-source-address
query-interval 125
query-last-member-interval 1
query-response-interval 10
robust-count 2
...
classic CLI
A:node-2>config>router>mld# info
----------------------------------------------
...
no grp-if-query-src-ip
query-interval 125
query-last-listener-interval 1
query-response-interval 10
robust-count 2
no shutdown
----------------------------------------------
Configuring MLD interfaces
Use the commands in the following context to configure MLD interfaces for the router.
configure router mld interface
The following example shows interfaces configured for MLD.
MD-CLI
[ex:/configure router "2" mld]
A:admin@node-2# info
...
interface "lax-sjc" {
admin-state enable
}
interface "lax-vls" {
admin-state enable
}
interface "pl-ix" {
admin-state enable
}
...
classic CLI
A:node-2>config>router>mld# info
----------------------------------------------
...
interface "lax-sjc"
no shutdown
exit
interface "lax-vls"
no shutdown
exit
interface "pl-ix"
no shutdown
exit
...
----------------------------------------------
Configuring MLD static multicast
-
Use the following command to configure an MLD static multicast group for the
router.
configure router mld interface static group grp-ipv6-address
Static group configuration (MD-CLI)[ex:/configure router "Base" mld] A:admin@node-2# info ... interface "lax-vls" { static { group ff0e::db8:7 { } } } interface "lax-sjc" { static { group ff0e::db8:9 { } } } ...
Static group configuration (classic CLI)A:node-2>config>router>mld# info ---------------------------------------------- ... interface "lax-vls" static group ff0e::db8:7 exit exit interface "lax-sjc" static group ff0e::db8:9 exit exit ... ----------------------------------------------
-
Configure a source or (*,G) entry for the static multicast group.
Configuring SSM translation
Use commands in the following context to configure SSM translation for MLD.
configure router mld ssm-translate
The following example displays the command usage to configure MLD for the router.
MD-CLI
[ex:/configure router "Base" mld]
A:admin@node-2# info
...
ssm-translate {
group-range start ff0e::db8:7 end ff0e::db8:9 {
source 2001:db8::1 { }
}
}
...
classic CLI
A:node-2>config>router>mld# info
----------------------------------------------
...
ssm-translate
grp-range ff0e::db8:7 ff0e::db8:9
source 2001:db8::1
exit
exit
...
----------------------------------------------
Disabling MLD
MLD is enabled by default. Use the following command to disable MLD:
- MD-CLI
configure router mld admin-state disable
- classic
CLI
configure router mld shutdown