Download PDF
Home

1. Introduction

The Multicast VPN (MVPN) feature provides the ability to support multicast over a Layer 3 VPN. Multicast allows the efficient distribution of information between a single multicast source and multiple receivers. IP multicast is used to stream video, voice, and data to an MPLS VPN network core. The RBFS MVPN implementation is based on RFC 6513 “Multicast in MPLS/BGP IP VPNs” and RFC 6514 “BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs”.

Note RFC and draft compliance are partial except as specified.

RBFS can operate in a spine/leaf fabric as shown in the diagram. The leaf device delivers access services to subscribers or assets, and the spine device provides connectivity to the core network. In such a scenario, IPv4 multicast traffic is carried in a multicast VPN instance. This also allows to deliver IPv4 multicast traffic across an IPv6-only fabric. In terms of MVPN, both leaf and spine devices act as Provider Edge (PE) routers.

Multicast VPN Scenario

Multicast subscribers will typically join multicast streams via IGMP. Leaf switches will translate and signal the join messages to the spines using BGP MVPN routes. Spine switches will further forward the join messages towards the source to the upstream core router.

1.1. Multicast Address Families

In MVPN, there are two types of instances that address families involved:

  • Within the multicast VPN instance, joins are represented as multicast routes. These are AFI 1 (IPv4), SAFI 2 (Multicast). The IPv4 multicast address family needs to be enabled in the VPN service instance as well as for BGP in the VPN instance.

  • In the Multicast VPN itself, messages like joins or active sources are advertised using BGP MVPN routes. These are AFI 1 (IPv4), SAFI 5 (MVPN). The BGP peerings that carry the MVPN routes typically run in the default instance. Therefore the MVPN address family needs to be enabled in the default instance, both for the BGP instance itself as well as for the BGP peerings.

In summary, the following address families need to be enabled by configuration:

  • The IPv4 multicast address family in the VPN service instance.

  • The IPv4 multicast address family for BGP in the VPN service instance.

  • The Multicast VPN address family in the BGP default instance.

  • The Multicast VPN address family in the BGP peerings in the default instance.

1.2. Supported Platforms

Not all features are necessarily supported on each hardware platform. Refer to the Platform Guide for the features and the sub-features that are or are not supported by each platform.

2. Configuring Multicast VPN

2.1. Configuration Hierarchy

The diagram illustrates the Multicast VPN configuration hierarchy.

Multicast VPN Configuration Hierarchy

2.2. Configuration Syntax and Commands

The following sections describe the MVPN configuration syntax and commands.

2.2.1. Multicast Address Family Configuration

Enable the IPv4 multicast address family in the VPN service instance.

Syntax:

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

Attribute Description

<instance>

The name of the VPN service instance

<afi>

Address family identifier (AFI). For IPv4 multicast, the required value is: ipv4

<safi>

Subsequent address family identifier (SAFI). For IPv4 multicast, the required value is: multicast

Example: Instance Address Family Configuration

{
  "ietf-restconf:data": {
    "rtbrick-config:instance": [
      {
        "name": "services",
        "address-family": [
          {
            "afi": "ipv4",
            "safi": "multicast",
            "route-target": {
              "import": "target:198.51.100.10:13",
              "export": "target:198.51.100.10:13"
            }
          }
        ]
      }
    ]
  }
}

2.2.2. BGP Multicast Address Family Configuration

Enable the IPv4 multicast address family for BGP in the VPN service instance.

Syntax:

set instance <instance> protocol bgp address-family <afi> <safi> <attribute> <value>

Attribute Description

<instance>

The name of the VPN service instance

<afi>

Address family identifier (AFI). For IPv4 multicast, the required value is: ipv4

<safi>

Subsequent address family identifier (SAFI). For IPv4 multicast, the required value is: multicast

redistribute <source>

Optionally redistribute PIM routes into BGP to translate and advertise subscriber join message as MVPN routes. The required source value is pim as IGMP routes are handled by the PIM process too.

Example: Instance BGP Address Family Configuration

{
  "ietf-restconf:data": {
  "rtbrick-config:instance": {
    "name": "services",
    "protocol": {
      "bgp": {
        "address-family": [
          {
            "afi": "ipv4",
            "safi": "multicast",
            "redistribute": [
              {
                "source": "pim"
              }
            ]
          }
        ]
      }
    }
  }
}

2.2.3. BGP MVPN Address Family Configuration

Enable the MVPN address family in the global BGP instance.

Syntax:

set instance <instance> protocol bgp address-family <afi> <safi> <attribute> <value>

Attribute Description

<instance>

Name of the global BGP instance. Typically this will be the default instance.

<afi>

Address family identifier (AFI). For MVPN, the required value is: ipv4

<safi>

Supported SAFIs are unicast. For MVPN, the required value is: vpn-multicast

Example: BGP MVPN Address Family Configuration

{
  "ietf-restconf:data": {
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "bgp": {
            "address-family": [
              {
                "afi": "ipv4",
                "safi": "vpn-multicast"
              }
            ]
          }
        }
      }
    ]
  }
}

2.2.4. BGP Peer Group MVPN Address Family Configuration

Enable the MVPN address family for the global BGP peerings carrying the MVPN routes.

Syntax:

set instance <instance> protocol bgp peer-group <attribute> <value>

Attribute Description

<instance>

Name of the global BGP instance. Typically this will be the default instance.

<pg-name>

Peer group name

address-family <afi> <safi>

BGP peer group address family specific. For MVPN, the required AFI/SAFI values are: ipv4/ vpn-multicast.

Example: BGP Peer Group MVPN Address Family Configuration

{
  "ietf-restconf:data": {
    "rtbrick-config:peer-group": [
      {
        "pg-name": "spine",
        "address-family": [
          {
            "afi": "ipv4",
            "safi": "vpn-multicast",
            "extended-nexthop": "true",
            "update-nexthop": {
              "ipv6-address": "2001:db8:0:103::"
            }
          }
        ]
      }
    ]
  }

2.3. Multicast VPN Configuration Example

{
  "ietf-restconf:data": {
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "bgp": {
            "address-family": [
              {
                "afi": "ipv4",
                "safi": "vpn-multicast"
              }
            ],
            "peer-group": [
              {
                "pg-name": "spine",
                "address-family": [
                  {
                    "afi": "ipv4",
                    "safi": "vpn-multicast",
                    "extended-nexthop": "true",
                    "update-nexthop": {
                      "ipv6-address": "2001:db8:0:103::"
                    }
                  }
                ]
              }
            ]
          }
        }
      },
      {
        "name": "services",
        "address-family": [
          {
            "afi": "ipv4",
            "safi": "multicast",
            "route-target": {
              "import": "target:198.51.100.10:13",
              "export": "target:198.51.100.10:13"
            }
          }
        ],
        "protocol": {
          "bgp": {
            "address-family": [
              {
                "afi": "ipv4",
                "safi": "multicast",
                "redistribute": [
                  {
                    "source": "pim"
                  }
                ]
              }
            ]
          }
        }
      }
    ]
  }
}

3. Operational Commands

3.1. Multicast Route Show Commands

Syntax:

show mroute ipv4 instance <vpn-instance-name> <attribute> <value>

Option Description

-

Without any option, the commands displays summary of all the multicast routes.

<vpn-instance-name>

Name of the VPN instance

detail

Displays detailed view of all the multicast routes.

group <group-address>

Multicast group address

source <source-address>

Multicast source address

Example: Display Multicast Route Summary Information

supervisor@rtbrick: op> show mroute ipv4 instance services group 198.51.100.100/24 detail
Instance: services, AFI: ipv4, SAFI: multicast
198.51.100.250/24, 198.51.100.100/24
  Source: pim, Preference: 250
      Next Hop type: Multicast Fanout, Next Hop action: None
      Resolved in: services-ipv4-multicast
      Egress interface: null0

3.2. MVPN Route Show Commands

Syntax:

show bgp fib ipv4 vpn-multicast instance default <attribute> <value>

Option Description

-

Without any option, the commands displays summary of all the multicast routes.

detail

Displays detailed view of all the VPN multicast routes.

<prefix>

Destination prefix address

Example: Display MVPN Route Summary Information

supervisor@rtbrick: op> show bgp fib ipv4 vpn-multicast instance default
Instance: default, AFI: ipv4, SAFI: vpn-multicast
  Group           Source         Preference      Out Label            Route Type           Next Hop
  -               -                     20       20003,bos:1          Intra-AS_I-PMSI_AD   -
  -               -                     20       20003,bos:1          Intra-AS_I-PMSI_AD   -
  198.51.100.111/24    198.51.100.2/24  20       20003,bos:1          Source_Tree_Join     -

©Copyright 2024 RtBrick, Inc. All rights reserved. The information contained herein is subject to change without notice. The trademarks, logos and service marks ("Marks") displayed in this documentation are the property of RtBrick in the United States and other countries. Use of the Marks are subject to RtBrick’s Term of Use Policy, available at https://www.rtbrick.com/privacy. Use of marks belonging to other parties is for informational purposes only.