Configuring PIM

Configuration Hierarchy

The diagram illustrates the PIM configuration hierarchy.

PIM Configuration Hierarchy

Configuration Syntax and Commands

The following sections describe the interface configuration syntax and commands.

Multicast Address Family Configuration

You can enable the multicast IPv4 address family under the PIM instance using the following command:

Syntax:

set instance <instance> address-family <attribute> <value>

Attribute Description

<instance>

Specifies the name of the network instance

<afi>

Address family identifier (AFI). Supported values: ipv4

<safi>

Subsequent address family identifier (SAFI), that is, multicast.

Example: Multicast Address Family Configuration

{
    "rtbrick-config:address-family": [
      {
        "afi": "ipv4",
        "safi": "multicast"
      }
    ]
  }

PIM Protocol Configuration

Syntax:

set instance <instance> protocol pim <attribute> <value>

If no instance is specified, PIM will be enabled on the default instance. RBFS supports only IPV4 address family.
Attribute Description

<instance>

Specifies the name of the instance

afi <afi>

Address family identifier (AFI). Supported: ipv4

join-prune-interval <join-prune-interval>

PIM join & prune interval. The interval ranges from 10 to 600 seconds. By default, join & prune interval is 60 seconds and hold-down timer is 210 seconds.

sparse-mode interface <…​>

Reference to an entry in the global interface list. Refer to section 2.2.1.1 for the PIM interface configuration.

sparse-mode static-join <…​>

A static pim join, (*,G) or (S,G). Refer to section 2.2.1.2 for the PIM static join configuration.

sparse-mode redistribute <…​>

Redistribution-related configuration. Refer to section 2.2.1.3 for the PIM redistribution configuration.

PIM Interface Configuration

Syntax:

set instance <instance> protocol pim sparse-mode interface <attribute> <value>

Attribute Description

<instance>

Specifies the name of the instance

<interface-name>

Reference to an entry in the global interface list

afi <afi>

Address family identifier (AFI). Supported: ipv4

dr-priority <dr-priority>

Specifies the Specifies the designated router (DR) priority value.

hello-interval <hello-interval>

Specifies the hello timer in seconds. The hello timer ranges from 1 to 3600 seconds. Default: 30 seconds.

override-interval <override-interval>

Specifies the override interval in milliseconds. Default: 2000 milliseconds.

propagation-delay <propagation-delay>

Specifies the propagation delay in milliseconds. Default: 500 milliseconds.

Example: PIM Interface Configuration

{
    "rtbrick-config:interface": [
      {
        "interface-name": "ifl-0/0/0/1",
        "hello-interval": 100,
        "dr-priority": 101
      },
      {
        "interface-name": "ifl-0/0/1/2"
      },
      {
        "interface-name": "ifl-0/0/3/3",
        "propagation-delay": 103,
        "override-interval": 1000
      }
    ]
  }

PIM Static Join Configuration

Syntax:

set instance <instance> protocol pim sparse-mode static-join <attribute> <value>

Attribute Description

<instance>

Specifies the name of the instance

<interface-name>

Reference to an entry in the global interface list

<outgoing-interface>

Multicast outbound interface name

<group-address>

Multicast group IP address

<source-address>

Multicast source IP address

Example: PIM Static Join Configuration

{
    "rtbrick-config:static-join": [
      {
        "outgoing-interface": "ifl-0/0/0/1",
        "group-address": "198.51.100.12",
        "source-address": "198.51.100.120"
      }
    ]
  }

PIM Redistribution Configuration

Syntax:

set instance <instance> protocol pim sparse-mode redistribute <attribute> <value>

Command Parameters

<instance>

Specifies the name of the instance.

<afi>

Specifies the address family identifier. Supported value: ipv4.

<safi>

Specifies the subsequent address family identifier. Supported value: multicast.

<source>

Source protocol from which routes are being redistributed such as BGP or static.

Example: PIM Redistribution Configuration

{
    "rtbrick-config:redistribute": [
      {
        "afi": "ipv4",
        "safi": "multicast",
        "source": "bgp"
      }
    ]
  }

PIM Configuration Example

{
    "rtbrick-config:pim": {
      "sparse-mode": {
        "interface": [
          {
            "interface-name": "ifp-0/0/1"
          }
        ],
        "redistribute": [
          {
            "afi": "ipv4",
            "safi": "multicast",
            "source": "bgp"
          }
        ],
        "static-join": [
          {
            "outgoing-interface": "null0",
            "group-address": "198.51.100.110",
            "source-address": "198.18.73.250"
          },
          {
            "outgoing-interface": "null0",
            "group-address": "198.51.100.111",
            "source-address": "198.18.73.250"
          },
          {
            "outgoing-interface": "null0",
            "group-address": "198.51.100.112",
            "source-address": "198.18.73.250"
          },
          {
            "outgoing-interface": "null0",
            "group-address": "198.51.100.113",
            "source-address": "198.18.73.250"
          }
        ]
      }
    }
  }