Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Multicast Protocols User Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Configuring BIER MVPN

date_range 30-Aug-24

A Bit Forwarding Ingress Router (BFIR) encapsulates the incoming non-BIER multicast packets with the BIER header. For it to know which bit string to use, a multicast flow overlay protocol is needed so that the BFERs can tell BFIRs that the BFERs need to receive certain overlay (for example IP) multicast traffic. This way BFIRs can set up an overlay multicast forwarding state with appropriate BIER encapsulation information. BGP-MVPN is one such multicast overlay protocol, as it already has mechanisms for egress PEs (BFERs) to notify ingress PEs (BFIRs) that the BFERs need to receive traffic for certain (C-S/*, C-G/*).

Configuring BIER Provider Tunnels

You must include the bier statement at the [edit protocols] hierarchy level to enable BIER on the router.

To configure a Bit Index Explicit Replication (BIER) provider tunnel for a multicast VPN, include the bier statement:

content_copy zoom_out_map
bier {
    label label;
    subdomain-id subdomain-id;
}

You can include this statement at the following hierarchy level:

content_copy zoom_out_map
[edit routing-instances routing-instance-name provider-tunnel]

You can also configure bier for selective provider tunnels by configuring the following statement:

content_copy zoom_out_map
user@router# set routing-instances routing-instance-name provider-tunnel selective group multicast-prefix/prefix-length source ip-prefix/prefix-length bier

The provider tunnel label should be the same as the configured static vrf-table-label so that this label can be assigned to the lsi interface associated with that routing-instance.

content_copy zoom_out_map
user@router# set routing-instances routing-instance-name vrf-table-label static label

In order to avoid interoperability issues with other vendors, the PMSI length should be the same size as the BIER prefix. It can be either IPv4 or IPv6.

Verifying BIER in MVPN

Issue the show mvpn instance command to display provider tunnel information.

content_copy zoom_out_map
user@router> show mvpn instance    

Instance : vrf1
  MVPN Mode : SPT-ONLY
  Sender-Based RPF: Disabled. Reason: Not enabled by configuration.
  Hot Root Standby: Disabled. Reason: Not enabled by configuration.
  Provider tunnel: I-P-tnl:BIER: subdomain-id 10 bfr-id 1 label 990001
  Neighbor                      Inclusive Provider Tunnel                           Label-In    St             Segment
  10.2.2.2                       BIER: subdomain-id 10 bfr-id 2 bier-prefix 10.2.2.2    990001
  10.3.3.3                       BIER: subdomain-id 10 bfr-id 3 bier-prefix 10.3.3.3    990001
  10.4.4.4

  C-mcast IPv4 (S:G)            Provider Tunnel                                     Label-In    St    FwdNh    Segment
  172.11.21.21/32:232.252.1.1/32   BIER: subdomain-id 10 bfr-id 1 label 990001                     RM    M-8169
  172.11.21.21/32:232.252.1.2/32   BIER: subdomain-id 10 bfr-id 1 label 990001                     RM    M-8169
  172.11.21.21/32:232.252.2.1/32   BIER: subdomain-id 10 bfr-id 1 label 990001                     RM    M-8169
  172.11.21.21/32:232.252.2.2/32   BIER: subdomain-id 10 bfr-id 1 label 990001                     RM    M-8169

From the output above, it can be seen that two neighbors advertise the BIER tunnel in sub-domain 10 in their I-PMSI A-D routes, with BFR-ID 2 and 3 respectively. This router also advertises a BIER tunnel in sub-domain 10 with its own BFR-ID (1) and label 999901 to identify this VPN.

The I-PMSI tunnel is used for four (S,G) flows and the forwarding next hop used for those flows is a next hop with ID 8169, displayed as M-8169.

Issue the show multicast route extensive instance instance-name command to review those flows in detail.

content_copy zoom_out_map
user@router> show multicast route extensive instance vrf1    
Instance: vrf1 Family: INET
 
Group: 232.252.1.1
    Source: 172.11.21.21/32
    Upstream interface: ge-0/0/0.1
    Downstream interface list: 
        Push 999901 bier bitstring 00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000006: label 800000
    Number of outgoing interfaces: 0
    Session description: Source specific multicast
    Statistics: 0 kBps, 0 pps, 0 packets
    Next-hop ID: 8169
    Upstream protocol: MVPN
    Route state: Active
    Forwarding state: Forwarding
    Cache lifetime/timeout: forever
    Wrong incoming interface notifications: 0
    Uptime: 01:26:43
......trimmed

Push 999901 - this label identifies the VPN.

bier bitstring - the bit string to be encoded in the BIER header. In this example, the 2nd and 3rd bits are set, indicating that these two corresponding BFERs are to receive traffic.

label 800000 - the label that this router advertised for the corresponding BIFT. When the (S,G) packet is received on PE-CE interface, it matches this route so the VPN label is imposed. The BIER header is encoded with the bit string and this label, and then the packet is treated as if the BIER packet was just received on a core interface.

To display the local tunnel name, issue the show multicast route extensive instance instance-name display-tunnel-name command.

content_copy zoom_out_map
user@router> show multicast route extensive instance vrf1 display-tunnel-name   
Instance: vrf1 Family: INET
 
Group: 232.252.1.1
    Source: 172.11.21.21/32
    Upstream interface: ge-0/0/0.1
    Downstream interface list: 
        bier:mvpn:3 
    Number of outgoing interfaces: 0
    Session description: Source specific multicast
    Statistics: 0 kBps, 0 pps, 0 packets
    Next-hop ID: 8169
    Upstream protocol: MVPN
    Route state: Active
    Forwarding state: Forwarding
    Cache lifetime/timeout: forever
    Wrong incoming interface notifications: 0
    Uptime: 01:26:43
footer-navigation