Configuring IP Multicast Parameters with CLI

This section provides information to configure IP multicast, IGMP, and PIM.

Topics in this section include:

IP Multicast Configuration Overview

Alcatel-Lucent 7705 SAR routers use IGMP and MLD to manage membership of host receivers for a given multicast session. The routers use PIM SSM to connect to the multicast source and to the network.

Traffic can only flow away from the router to an IGMP or MLD interface; it can flow both to and from a PIM interface. A router directly connected to a source of multicast traffic must have PIM enabled on the interface to that source. The traffic travels through a network from PIM interface to PIM interface, and arrives on an IGMP- or MLD-enabled interface.

IGMP and MLD

The IGMP and MLD CLI contexts are created when the config>router>igmp and >mld commands are run. They are not operational until at least one interface is specified in the context, at which time the interface is enabled for IGMP or MLD and is called an IGMP or MLD interface. When enabled, the interface can be configured with IGMP or MLD parameters, which are in addition to the standard parameters for the interface when it is created.

You can filter traffic on an IGMP or MLD interface by defining and importing a routing policy. You can also define the maximum number of groups to which the interface can belong.

Note:

Before an IP interface can be specified in an IGMP or MLD context, it must be created on the 7705 SAR (config>router>interface or config>service>ies> interface).

Static Groups

Static IGMP and MLD group memberships can be configured so that multicast forwarding can be set up without any host receivers in the group. When static IGMP or MLD group membership is enabled, data is forwarded to an interface even though membership reports from one or more host members have not been received.

When static IGMP or MLD group entries on point-to-point links that connect routers to a rendezvous point (RP) are configured, the static IGMP or MLD group entries do not generate Join messages toward the RP. When a host wants to receive multicast sessions, it sends a Join message to each multicast group it wants to join. When a host wants to leave a multicast session, it sends a Leave message to each multicast group it wants to leave.

A multicast router keeps a list of multicast group memberships for each attached network and an interval timer for each membership. Host receivers issue a Multicast Group Membership Report when they want to receive a multicast session. In MLDv2, Leaves and Joins are both sub-messages of Report messages. These reports are sent to all multicast routers.

SSM Translation

The 7705 SAR supports SSM translation at both the protocol level and the interface level for both IGMP and MLD. When configured at the protocol level, the specified group and source addresses apply to all newly created IGMP and MLD interfaces. Configuring ssm-translation at the interface level overrides any protocol-level values for the specified interface.

PIM

Use the config>router>pim command to create the PIM CLI context. The PIM protocol is not operational until at least one interface is specified for it, at which time the interface is enabled for PIM and is called a PIM interface. Once enabled, a PIM interface can be configured with PIM parameters, which are in addition to the standard parameters for the interface when it is created. When PIM is operational, data is forwarded to network segments with active host receivers that have explicitly requested the multicast group.

Note:

  1. Before an IP interface can be specified in the PIM context, it must be created on the 7705 SAR (config>router>interface or config>service>ies>interface).
  2. PIM interfaces can be automatically created once an IP or IES interface has been created by using the apply-to command.

Hardware Support

IGMP and MLD are supported on the following:

  1. all Ethernet adapter cards except for the 8-port Ethernet Adapter card, version 1
  2. the following module ports when the module is installed in the 7705 SAR-M: GPON, DSL, and the 2-port 10GigE (Ethernet) module
  3. all datapath Ethernet ports on all fixed 7705 SAR platforms

PIM SSM is supported on the following:

  1. all Ethernet adapter cards except for the 8-port Ethernet Adapter card, version 1
  2. the following module ports when the module is installed in the 7705 SAR-M: GPON, DSL, and the 2-port 10GigE (Ethernet) module
  3. all T1/E1 adapter cards
  4. all OC3/STM1 adapter cards
  5. the 4-port DS3/E3 Adapter card
  6. all datapath Ethernet ports on all fixed 7705 SAR platforms

Basic IP Multicast Configuration

Perform the following basic multicast configuration tasks:

Note:

Interfaces are created using the config>router>interface or config>service>ies>interface command (IES only), and then enabled and configured for IGMP, MLD, or PIM using the config>router>igmp>interface or mld>interface or pim>interface command.

For IGMP:

  1. enable IGMP (required)
  2. configure IGMP interfaces (required)
  3. specify IGMP version on the interface (optional)
  4. configure static (S,G) (optional)
  5. configure SSM translation (optional)

For MLD:

  1. enable MLD (required)
  2. configure MLD interfaces (required)
  3. specify MLD version on the interface (optional)
  4. configure static (S,G) (optional)
  5. configure SSM translation (optional)

For PIM:

  1. enable PIM (required)
  2. add interfaces so the protocol establishes adjacencies with the neighboring routers (required)
  3. enable unicast routing protocols to learn routes towards the source for reverse path forwarding (required)
  4. add SSM ranges (optional)
  5. change hello interval (optional)
  6. configure route policies (bootstrap-export, bootstrap-import, and import join) (optional)

The following examples show information displays for IGMP, MLD, and PIM, with each protocol showing the following output:

  1. without an interface specified (detailed information)
  2. with an interface specified (detailed information)

IGMP

*A:7705custDoc:Sar18>config>router>igmp# info detail
#--------------------------------------------------
            query-interval 125
            query-last-member-interval 1
            query-response-interval 10
            robust-count 2
            no shutdown
#--------------------------------------------------
*A:7705custDoc:Sar18>config>router>igmp# info detail
----------------------------------------------
        interface "igmp_interface"
            no import
            version 3
            subnet-check
            no max-groups
            no disable-router-alert-check
            no shutdown
        exit
        query-interval 125
        query-last-member-interval 1
        query-response-interval 10
        robust-count 2
        no shutdown
----------------------------------------------
*A:7705custDoc:Sar18>config>router>igmp#

MLD

*A:7705custDoc:Sar18>config>router>mld$ info detail
----------------------------------------------
        query-interval 125
        query-last-listener-interval 1
        query-response-interval 10
        robust-count 2
        no shutdown
----------------------------------------------
*A:7705custDoc:Sar18>config>router>mld$
*A:7705custDoc:Sar18>config>router>mld# info
----------------------------------------------
        interface "mld_interface"
        exit
----------------------------------------------
*A:7705custDoc:Sar18>config>router>mld#
*A:7705custDoc:Sar18>config>router>mld# info detail
----------------------------------------------
        interface "mld_interface"
            no import
            version 2
            no max-groups
            no disable-router-alert-check
            no query-interval
            no query-response-interval
            no query-last-listener-interval
            no shutdown
        exit
        query-interval 125
        query-last-listener-interval 1
        query-response-interval 10
        robust-count 2
        no shutdown
----------------------------------------------
*A:7705custDoc:Sar18>config>router>mld#

PIM

*A:7705custDoc:Sar18>config>router>pim# info detail
----------------------------------------------
            rpf-table rtable-u
            rpf6-table rtable6-u
            no import join-policy
            apply-to none
            rp
                no bootstrap-import
                no bootstrap-export
            exit
            no non-dr-attract-traffic
            no shutdown
            no ipv4-multicast-disable
            ipv6-multicast-disable
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim# 
*A:7705custDoc:Sar18>config>router>pim# info
----------------------------------------------
            interface "pim_interface"
            exit
            rp
            exit
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim#
*A:7705custDoc:Sar18>config>router>pim# info detail
----------------------------------------------
            rpf-table rtable-u
            rpf6-table rtable6-u
            no import join-policy
            interface "pim_interface"
                hello-interval 30
                hello-multiplier 35
                no tracking-support
                no bfd-enable
                no bfd-enable ipv6
                no three-way-hello
                priority 1
                no sticky-dr
                no max-groups
                no assert-period
                no instant-prune-echo
                no shutdown
                no ipv4-multicast-disable
                no ipv6-multicast-disable
            exit
            apply-to none
            rp
                no bootstrap-import
                no bootstrap-export
            exit
            no non-dr-attract-traffic
            no shutdown
            no ipv4-multicast-disable
            ipv6-multicast-disable
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim#

Common Configuration Tasks

The following sections show the CLI syntax and examples for:

Configuring IGMP and MLD Parameters

This section contains the following subsections:

Enabling IGMP or MLD

Use the following CLI syntax to enable IGMP or MLD.

CLI Syntax:
config>router# igmp
CLI Syntax:
config>router# mld

The following displays an enabled IGMP example. An MLD display would look similar.

*A:7705custDoc:Sar18>config>router# info detail
...
#------------------------------------------
echo "IGMP Configuration"
#------------------------------------------
     igmp
          query-interval 125
          query-last-member-interval 1
          query-response-interval 10
          robust-count 2
          no shutdown
     exit
#------------------------------------------
*A:7705custDoc:Sar18>config>system#

Configuring IGMP and MLD

Use the following CLI syntax to configure IGMP and MLD:

CLI Syntax:
config>router# igmp
query-interval seconds
query-last-member-interval seconds
query-response-interval seconds
robust-count robust-count
[no] shutdown
CLI Syntax:
config>router# mld
query-interval seconds
query-last-member-interval seconds
query-response-interval seconds
robust-count robust-count
[no] shutdown

The following displays an IGMP configuration example. An MLD example would look similar.

Example:
config>router# igmp
config>router>igmp# query-interval 150
config>router>igmp>if# query-last-member-interval 3
config>router>igmp>if# query-response-interval 15
config>router>igmp>if# robust count 3
config>router>igmp>if# exit
*A:7705custDoc:Sar18>config>router>igmp# info detail
----------------------------------------------
        query-interval 150
        query-last-member-interval 3
        query-response-interval 15
        robust-count 3
        no shutdown
----------------------------------------------
*A:7705custDoc:Sar18>config>router>igmp#

Configuring IGMP and MLD Interfaces

IGMP and MLD are supported on both access and network interfaces.

Note:

MLD “query” parameters can be configured at both the MLD protocol and interface levels. When configured at the protocol level, settings apply to all new interfaces added to the context. Configuring the “query” parameters at the interface level overrides the protocol-level configuration for the specified interface.

See Configuring IGMP and MLD for an example of query parameter configuration.

Use the following CLI syntax to configure an IGMP or MLD interface:

CLI Syntax:
config>router# igmp
interface ip-int-name
[no] disable-router-alert-check
import policy-name
max-groups value
[no] subnet-check
version version
[no] shutdown
CLI Syntax:
config>router# mld
interface ip-int-name
[no] disable-router-alert-check
import policy-name
max-groups value
[no] subnet-check
query-interval seconds
query-last-member-interval seconds
query-response-interval seconds
version version
[no] shutdown

The following example displays IGMP interface configuration command usage. An MLD interface example would look similar.

Example:
config>router#
config>router>igmp# interface "igmp_interface"
config>router>igmp>if# max-groups 3
config>router>igmp>if# import igmp_policy1
config>router>igmp>if# exit

The following example displays the IGMP interface configuration:

*A:7705custDoc:Sar18>config>router>igmp>interface# info detail
----------------------------------------------
        interface "igmp_interface"
            import igmp_policy1
            version 3
            subnet-check
            max-groups 3
            no disable-router-alert-check
            no shutdown
        exit
----------------------------------------------
*A:7705custDoc:Sar18>config>router>igmp#

Configuring IGMP and MLD Interface Static Multicast

Use the following syntax to configure an IGMP or MLD static multicast group and source for a multicast interface:

CLI Syntax:
config>router# igmp
interface ip-int-name
static
group grp-ip-address
source ip-address
CLI Syntax:
config>router# mld
interface ip-int-name
static
group grp-ipv6-address
source ipv6-address

The following example displays an IGMP interface configuration for static multicast. An MLD interface example would look similar except that it would use IPv6 group and source addresses.

Example:
config>router>igmp# interface igmp_interface
config>router>igmp>if# static
config>router>igmp>if>static# group 229.255.0.2
config>router>igmp>if>static>group# source 172.22.184.197
config>router>igmp>if>static>group# source 172.22.184.198
config>router>igmp>if>static# group 229.255.0.3
config>router>igmp>if>static>group# exit
config>router>igmp>if>static>group# source 172.22.184.197
config>router>igmp>if>static>group# source 172.22.184.198
config>router>igmp>if>static>group# exit
config>router>igmp>if>static# exit
config>router>igmp>if# exit

The following example displays the configuration for IGMP. An MLD example would look similar except that it would use IPv6 group and source addresses.

A:7705custDoc:Sar18>config>router>igmp# info
----------------------------------------------
     interface "igmp_interface"
          static
               group 229.255.0.2
                    source 172.22.184.197
                    source 172.22.184.198
               exit
               group 229.255.0.3
                    source 172.22.184.197
                    source 172.22.184.198
               exit
          exit
     exit
----------------------------------------------
A:7705custDoc:Sar18>config>router>igmp#

Configuring IGMP and MLD SSM Translation

SSM translation can be configured for IGMP and MLD at the protocol and the interface levels. When configured at the protocol level, settings apply to all new interfaces added to the context. Configuring SSM translation at the interface level overrides the protocol-level configuration for the specified interface.

To configure IGMP and MLD SSM translation parameters:

CLI Syntax:
config>router# igmp
ssm-translate
grp-range start end
source ip-address
CLI Syntax:
config>router# igmp
interface ip-int-name
ssm-translate
grp-range start end
source ip-address
CLI Syntax:
config>router# mld
ssm-translate
grp-range start end
source ipv6-address
CLI Syntax:
config>router# mld
interface ip-int-name
ssm-translate
grp-range start end
source ipv6-address

The following example displays the command usage to configure IGMP SSM translation. Examples for the MLD protocol, as well as for IGMP and MLD interfaces, would look similar. MLD would use IPv6 group and source addresses.

Example:
config>router# igmp
config>router>igmp# ssm-translate
config>router>igmp>ssm# grp-range 229.255.0.1 231.2.2.2
config>router>igmp>ssm>grp-range# source 10.10.10.100

The following example displays the SSM translation configuration at the IGMP level:

A:7705custDoc:Sar18>config>router>igmp# info
----------------------------------------------
     ssm-translate
          grp-range 229.255.0.1 231.2.2.2 
               source 10.10.10.100 
          exit
----------------------------------------------
A:7705custDoc:Sar18>config>router>igmp# exit.

Configuring PIM Parameters

This section contains the following subsections:

Enabling PIM

When configuring PIM, make sure to enable PIM on all interfaces for the routing instance; otherwise, multicast routing errors can occur.

Use the following CLI syntax to enable PIM.

CLI Syntax:
config>router# pim

The following example displays the detailed output when PIM is enabled without a PIM interface configured. See Configuring PIM Interface Parameters for the additional configuration settings when a PIM interface is configured.

Without a PIM interface enabled

*A:7705custDoc:Sar18>config>router>pim# info detail
----------------------------------------------
            rpf-table rtable-u
            rpf6-table rtable6-u
            no import join-policy
            apply-to none
            rp
                no bootstrap-import
                no bootstrap-export
            exit
            no non-dr-attract-traffic
            no shutdown
            no ipv4-multicast-disable
            ipv6-multicast-disable
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim#

With a PIM interface enabled

*A:7705custDoc:Sar18>config>router>pim# info detail
----------------------------------------------
            rpf-table rtable-u
            rpf6-table rtable6-u
            no import join-policy
            interface "pim_interface"
                hello-interval 30
                hello-multiplier 35
                no tracking-support
                no bfd-enable
                no bfd-enable ipv6
                no three-way-hello
                priority 1
                no sticky-dr
                no max-groups
                no assert-period
                no instant-prune-echo
                no shutdown
                no ipv4-multicast-disable
                no ipv6-multicast-disable
            exit
            apply-to none
            rp
                no bootstrap-import
                no bootstrap-export
            exit
            no non-dr-attract-traffic
            no shutdown
            no ipv4-multicast-disable
            ipv6-multicast-disable
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim#

Configuring PIM Interface Parameters

To create a PIM interface, first create an IP interface using the config>router> interface or the config>service>ies>interface command (IES only). Then use the config>router>pim>interface command to configure PIM interface parameters.

The following example displays the command usage to configure PIM interface parameters:

Example:
config>router# pim
config>router>pim# interface "pim_interface"
config>router>pim>if# assert-period assert-period
config>router>pim>if# [no] bfd-enable [ipv4 | ipv6]
config>router>pim>if# hello-interval hello-interval
config>router>pim>if# hello-multiplier deci-units
config>router>pim>if# instant-prune-echo
config>router>pim>if# [no] ipv4-multicast-disable
config>router>pim>if# [no] ipv6-multicast-disable
config>router>pim>if# max-groups value
config>router>pim>if# priority dr-priority
config>router>pim>if# [no] shutdown
config>router>pim>if# sticky-dr [priority dr-priority]
config>router>pim>if# [no] three-way-hello
config>router>pim>if# [no] tracking-support
config>router>pim>if# exit

The following example displays the detailed PIM interface configuration:

*A:7705custDoc:Sar18>config>router>pim# info detail
----------------------------------------------
...
            interface "pim_interface"
                hello-interval 30
                hello-multiplier 35
                no tracking-support
                no bfd-enable
                no bfd-enable ipv6
                no three-way-hello
                priority 1
                no sticky-dr
                no max-groups
                no assert-period
                no instant-prune-echo
                no shutdown
                no ipv4-multicast-disable
                no ipv6-multicast-disable
            exit
...
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim# 

Importing PIM Join Policies

The import command provides a mechanism to control the (S,G) state that gets created on a router. Import policies are defined in the config>router>policy-options context.

Note:

In the import policy, if a policy action is not specified in the entry, then the default-action takes precedence. Similarly, if there are no entry matches, then the default-action takes precedence. If no default-action is specified, then the default default-action is executed.

Use the following commands to import PIM join policies:

CLI Syntax:
config>router# pim
import join-policy [policy-name [.. policy-name]]

The following example displays the commands used to apply a policy statement named “pim_join”. To define a join policy and to see details of the “pim_join” policy statement, see the “Configuring PIM Join Policies” section in the 7705 SAR OS Router Configuration Guide”:

Example:
config>router# pim
config>router>pim# import join-policy "pim_join"
config>router>pim# no shutdown

The following example displays the PIM configuration:

A:7705custDoc:Sar18>config>router>pim# info
----------------------------------------------
...
     import join-policy "pim_join"
     interface "pim_interface"
     exit
...
----------------------------------------------
A:7705custDoc:Sar18>config>router>pim#

Service Management Tasks

This section discusses the following multicast configuration management tasks:

Disabling IGMP, MLD, and PIM

To disable IP multicast, disable PIM and IGMP or MLD (or both).

Use the following CLI syntax to disable IGMP, MLD, and PIM:

CLI Syntax:
config>router#
igmp
shutdown
mld
shutdown
pim
shutdown

The following example displays the command usage to disable multicast:

Example:
config>router# igmp
config>router>igmp# shutdown
config>router>igmp# exit
config>router# mld
config>router>mld# shutdown
config>router>mld# exit
config>router# pim
config>router>pim# shutdown
config>router>pim# exit

The following example displays the configuration output:

*A:7705custDoc:Sar18>config>router>igmp# info detail
----------------------------------------------
        shutdown
        interface "igmp_interface"
            no import
            version 3
            subnet-check
            no max-groups
            no disable-router-alert-check
            ssm-translate
                grp-range 232.10.10.0 232.10.10.10
                    source 10.10.10.10
                exit
                grp-range 232.10.10.11 232.10.10.20
                    source 10.10.10.11
                exit
            exit
            no shutdown
        exit
        query-interval 125
        query-last-member-interval 1
        query-response-interval 10
        robust-count 2
----------------------------------------------
*A:7705custDoc:Sar18>config>router>igmp#
*A:7705custDoc:Sar18>config>router>mld# info detail
----------------------------------------------
        shutdown
        interface "mld_interface"
            no import
            version 2
            no max-groups
            no disable-router-alert-check
            no query-interval
            no query-response-interval
            no query-last-listener-interval
            no shutdown
        exit
        query-interval 125
        query-last-listener-interval 1
        query-response-interval 10
        robust-count 2
----------------------------------------------
*A:7705custDoc:Sar18>config>router>mld#
*A:7705custDoc:Sar18>config>router>pim# info detail
----------------------------------------------
            shutdown
            rpf-table rtable-u
            rpf6-table rtable6-u
            no import join-policy
            interface "pim_interface"
                hello-interval 30
                hello-multiplier 35
                no tracking-support
                no bfd-enable
                no bfd-enable ipv6
                no three-way-hello
                priority 1
                no sticky-dr
                no max-groups
                no assert-period
                instant-prune-echo
                no shutdown
                no ipv4-multicast-disable
                no ipv6-multicast-disable
            exit
            apply-to all
            rp
                no bootstrap-import
                no bootstrap-export
            exit
            no non-dr-attract-traffic
            no ipv4-multicast-disable
            ipv6-multicast-disable
----------------------------------------------
*A:7705custDoc:Sar18>config>router>pim#