NG-MVPN Sender-Only, Receiver-Only

This chapter provides information about next generation multicast virtual private network (NG-MVPN) sender-only and receiver-only configurations.

Topics in this chapter include:

Applicability

The sender-only/receiver-only feature as described in this chapter is supported in SR OS Release 11.0.R1, and later. The CLI in this edition is based on SR OS Release 23.10.R1.

Knowledge of the Nokia multicast and Layer 3 VPNs concepts are assumed throughout this document.

Overview

This example covers a basic technology overview, the network topology, and configuration examples which are used for the Multicast VPN (MVPN) sender-only, receiver-only feature.

By default, if multiple PE nodes form a peering relationship within a common MVPN instance, then each PE node originates a multicast tree locally toward the remaining PE nodes that are members of this MVPN instance. This behavior creates a full mesh of Inclusive-Provider Multicast Service Interfaces (I-PMSIs) across all PE nodes in the MVPN.

Figure 1. Default PMSI Hierarchy

It is often the case that an MVPN has many sites with multicast receivers, but only a few sites that host either both receivers and sources, or sources only.

The MVPN sender-only/receiver-only feature optimizes control and data plane resources by preventing unnecessary I-PMSI meshing when a PE hosts multicast sources only, or multicast receivers only, for an MVPN. An example of such an optimization is presented in Optimized PMSI Structure.

Figure 2. Optimized PMSI Structure

The general rules to follow are:

  • For PE nodes that host only multicast sources for a specific MVPN, operators can now block these PEs, through configuration, from joining I-PMSIs from the other PEs in this MVPN.

  • For PE nodes that host only multicast receivers for a specific MVPN, operators can now block these PEs, through configuration, to set-up a local I-PMSI to the other PEs in this MVPN.

MVPN sender-only/receiver-only is supported with next generation MVPN for both IPv4 and IPv6 customer multicast using:

  • IPv4 RSVP-TE provider tunnels

  • IPv4 LDP provider tunnels

Extra attention should be given to the Bootstrap Router/Rendezvous Point (BSR/RP) placement when sender-only/receiver-only is enabled:

  • The RP should be at the sender-receiver or sender-only site so that (*,G) traffic can be sent over the tunnel

  • The BSR should be deployed at the sender-receiver site.

  • The BSR can be at a sender-only site if the RPs are at the same site.

Note:

(*,G) refers to an individual multicast stream indicating any source (*) and the multicast group (G) used by the stream.

Configuration

The example topology is shown in Example Topology.

Figure 3. Example Topology

To configure the sender-only/receiver-only feature, the following configuration command is used:

# on PE-1
configure {
    service {
        vprn "VPRN 1" {
            service-id 1
            customer "1"
            mvpn {
                mdt-type ?

 mdt-type <keyword>
 <keyword> - (sender-only|receiver-only|sender-receiver)
 Default   - sender-receiver

    MVPN instance type per PE node

sender-receiver is the default option and is visible using the info detail command.

This command restricts the MVPN instance to a specific role and provides an option to configure either a sender-only or receiver-only mode per PE node per service.

Parameters:

sender-only — MVPN has only senders connected to PE node.

receiver-only — MVPN has only receivers connected to PE node.

sender-receiver — MVPN has both sender and receivers connected to PE node.

Considerations:

  • Two general approaches for building MVPNs are covered in detail in this example:

    • Point-to-multipoint (P2MP) RSVP MVPNs

    • Multicast LDP (mLDP) MVPNs

  • IPv4 and IPv6 multicast streaming are used for every MVPN at the same time.

  • Basic principles of an MVPN including I-PMSI, S-PMSI, mLDP and P2MP RSVP are covered in the NG-MVPN Configuration with PIM and NG-MVPN Configuration with MPLSchapters of this guide.

PIM SSM is used for IPv4/IPv6 Customer (C)-multicast groups.

Initial Configuration

Step 1: The PE routers already have the following configuration:

  • Interfaces (IPv4/IPv6)

  • IGP (IS-IS or OSPF/OSPFv3)

  • LDP (IPv4 only suffices)

  • MPLS/RSVP

  • BGP

Step 2: The MPLS/RSVP configuration on PE-1 is as follows. An P2MP LSP template is created with an empty path, without explicit hops.

# on PE-1
configure {
    router "Base" {
        mpls {
            admin-state enable
            interface "int-PE-1-PE-2" { }
            interface "int-PE-1-PE-3" { }
            path "EMPTY" {
                admin-state enable
            }
            lsp-template "MVPN-P2MP-LSP" {
                admin-state enable
                type p2mp-rsvp
                default-path "EMPTY"
                path-computation-method local-cspf
            }
        }
        rsvp {
            admin-state enable
            interface "int-PE-1-PE-2" { }
            interface "int-PE-1-PE-3" { }
        }
    }
}

Step 3: The BGP configuration on PE-1 is as follows. No route reflector is used.

# on PE-1
configure {
    router "Base" {
        bgp {
            min-route-advertisement 1
            rapid-withdrawal true
            peer-ip-tracking true
            ebgp-default-reject-policy {
                import false
                export false
            }
            rapid-update {
                mvpn-ipv4 true
                mvpn-ipv6 true
            }
            group "INTERNAL" {
                type internal
                family {
                    vpn-ipv4 true
                    vpn-ipv6 true
                    mvpn-ipv4 true
                    mvpn-ipv6 true
                }
            }
            neighbor "192.0.2.2" {
                group "INTERNAL"
            }
            neighbor "192.0.2.3" {
                group "INTERNAL"
            }
        }
    }
}

RSVP-Based MVPN Configuration

Step 1: Configure a basic MVPN using P2MP RSVP as a transport protocol for C-multicast groups.

For this setup, PE-2 and PE-3 are configured to receive the following multicast groups:

  • IPv4 group 232.0.0.1, source 172.16.1.2

  • IPv6 group FF3E::8000:1, source 2001:DB8:1::2

Step 2: Configure the MDT type for the MVPN.

Based on the example topology, PE-1 is configured as sender-only for the MVPN.

# on PE-1
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            description "RSVP-based MVPN"
            service-id 1
            customer "1"
            autonomous-system 64500
            ecmp 2
            ignore-nh-metric true
            pim {
                apply-to all
                ipv6 {
                    admin-state enable
                }
            }
            mvpn {
                c-mcast-signaling bgp
                mdt-type sender-only
                auto-discovery {
                    type bgp
                }
                vrf-target {
                    unicast true
                }
                provider-tunnel {
                    inclusive {
                        rsvp {
                            admin-state enable
                            lsp-template "MVPN-P2MP-LSP"
                        }
                    }
                }
            }
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64500:101"
                    vrf-target {
                        community "target:64500:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                            rsvp true
                        }
                    }
                }
            }
            interface "int-PE-1-S-1" {
                description "to multicast source S-1"
                ipv4 {
                    primary {
                        address 172.16.1.1
                        prefix-length 30
                    }
                }
                sap 1/1/c3/1 {
                }
                ipv6 {
                    address 2001:db8:1::1 {
                        prefix-length 126
                    }
                }
            }
        }
    }
}

Based on the example topology, PE-2 is configured as receiver-only for the MVPN. PE-2 has static joins for the IPv4 and IPv6 multicast groups:

  • group 232.0.0.1, source 172.16.1.2

  • group FF3E::8000:1, source 2001:DB8:1::2

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            description "RSVP-based MVPN"
            service-id 1
            customer "1"
            autonomous-system 64500
            ecmp 2
            ignore-nh-metric true
            igmp {
                interface "int-PE-2-H-2" {
                    static {
                        group 232.0.0.1 {
                            source 172.16.1.2 { }
                        }
                    }
                }
            }
            mld {
                interface "int-PE-2-H-2" {
                    static {
                        group ff3e::8000:1 {
                            source 2001:db8:1::2 { }
                        }
                    }
                }
            }
            pim {
                apply-to all
                ipv6 {
                    admin-state enable
                }
            }
            mvpn {
                c-mcast-signaling bgp
                mdt-type receiver-only
                auto-discovery {
                    type bgp
                }
                vrf-target {
                    unicast true
                }
                provider-tunnel {
                    inclusive {
                        rsvp {
                            admin-state enable
                            lsp-template "MVPN-P2MP-LSP"
                        }
                    }
                }
            }
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64500:102"
                    vrf-target {
                        community "target:64500:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                            rsvp true
                        }
                    }
                }
            }
            interface "int-PE-2-H-2" {
                description "to receiver Host-2"
                ipv4 {
                    primary {
                        address 172.16.2.1
                        prefix-length 30
                    }
                }
                sap 1/1/c4/1 {
                }
                ipv6 {
                    address 2001:db8:2::1 {
                        prefix-length 126
                    }
                }
            }
        }
    }
}

Based on the example topology, PE-3 is configured as sender-receiver (default) for the MVPN. PE-3 has also static joins for the IPv4 and IPv6 multicast groups:

  • group 232.0.0.1, source 172.16.1.2

  • group FF3E::8000:1, source 2001:DB8:1::2

The interface to the local source for PE-3 is not configured in this example. PE-3 acts as a receiver, not as a sender. Nonetheless, it is configured as sender-receiver and that has its consequences for the I-PMSIs that are established.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            description "RSVP-based MVPN"
            service-id 1
            customer "1"
            autonomous-system 64500
            ecmp 2
            ignore-nh-metric true
            igmp {
                interface "int-PE-3-H-3" {
                    static {
                        group 232.0.0.1 {
                            source 172.16.1.2 { }
                        }
                    }
                }
            }
            mld {
                interface "int-PE-3-H-3" {
                    static {
                        group ff3e::8000:1 {
                            source 2001:db8:1::2 { }
                        }
                    }
                }
            }
            pim {
                apply-to all
                ipv6 {
                    admin-state enable
                }
            }
            mvpn {
                c-mcast-signaling bgp
                auto-discovery {
                    type bgp
                }
                vrf-target {
                    unicast true
                }
                provider-tunnel {
                    inclusive {
                        rsvp {
                            admin-state enable
                            lsp-template "MVPN-P2MP-LSP"
                        }
                    }
                }
            }
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64500:103"
                    vrf-target {
                        community "target:64500:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                            rsvp true
                        }
                    }
                }
            }
            interface "int-PE-3-H-3" {
                description "to receiver Host-3"
                ipv4 {
                    primary {
                        address 172.16.3.1
                        prefix-length 30
                    }
                }
                sap 1/1/c4/1 {
                }
                ipv6 {
                    address 2001:db8:3::1 {
                        prefix-length 126
                    }
                }
            }
        }
    }
}

RSVP-Based MVPN Verification and Debugging

MDT-Type Verification

The status of the MVPN can be checked using the show router <router-instance> mvpn command:

The output for PE-1, PE-2 and PE-3 is as follows:

[/]
A:admin@PE-1# show router "1" mvpn

===============================================================================
MVPN 1 configuration data
===============================================================================
signaling          : Bgp                  auto-discovery     : Default
UMH Selection      : Highest-Ip           SA withdrawn       : Disabled
intersite-shared   : Enabled              Persist SA         : Disabled
vrf-import         : N/A
vrf-export         : N/A
vrf-target         : unicast
C-Mcast Import RT  : target:192.0.2.1:2
 
ipmsi              : rsvp MVPN-P2MP-LSP
i-pmsi P2MP AdmSt  : Up                   
i-pmsi Tunnel Name : MVPN-P2MP-LSP-1-73728
enable-bfd-root    : false                enable-bfd-leaf    : false
Mdt-type           : sender-only          
ipmsi UMH RM       : Disabled
 
BSR signalling     : none                 
Wildcard s-pmsi    : Disabled             
Multistream-SPMSI  : Disabled             
s-pmsi             : none                 
data-delay-interval: 3 seconds            
enable-asm-mdt     : N/A                  
spmsi UMH RM       : Disabled
 
===============================================================================
[/]
A:admin@PE-2# show router "1" mvpn

===============================================================================
MVPN 1 configuration data
===============================================================================
signaling          : Bgp                  auto-discovery     : Default
UMH Selection      : Highest-Ip           SA withdrawn       : Disabled
intersite-shared   : Enabled              Persist SA         : Disabled
vrf-import         : N/A
vrf-export         : N/A
vrf-target         : unicast
C-Mcast Import RT  : target:192.0.2.2:2
 
ipmsi              : rsvp MVPN-P2MP-LSP
i-pmsi P2MP AdmSt  : Up                   
i-pmsi Tunnel Name : mpls-virt-if-1005857
enable-bfd-root    : false                enable-bfd-leaf    : false
Mdt-type           : receiver-only        
ipmsi UMH RM       : Disabled
 
BSR signalling     : none                 
Wildcard s-pmsi    : Disabled             
Multistream-SPMSI  : Disabled             
s-pmsi             : none                 
data-delay-interval: 3 seconds            
enable-asm-mdt     : N/A                  
spmsi UMH RM       : Disabled
 
===============================================================================
[/]
A:admin@PE-3# show router "1" mvpn

===============================================================================
MVPN 1 configuration data
===============================================================================
signaling          : Bgp                  auto-discovery     : Default
UMH Selection      : Highest-Ip           SA withdrawn       : Disabled
intersite-shared   : Enabled              Persist SA         : Disabled
vrf-import         : N/A
vrf-export         : N/A
vrf-target         : unicast
C-Mcast Import RT  : target:192.0.2.3:2
 
ipmsi              : rsvp MVPN-P2MP-LSP
i-pmsi P2MP AdmSt  : Up                   
i-pmsi Tunnel Name : MVPN-P2MP-LSP-1-73728
enable-bfd-root    : false                enable-bfd-leaf    : false
Mdt-type           : sender-receiver      
ipmsi UMH RM       : Disabled
 
BSR signalling     : none                 
Wildcard s-pmsi    : Disabled             
Multistream-SPMSI  : Disabled             
s-pmsi             : none                 
data-delay-interval: 3 seconds            
enable-asm-mdt     : N/A                  
spmsi UMH RM       : Disabled
 
===============================================================================

BGP Verification and Debugging

When the MDT type is changed, the BGP signaling is slightly modified to achieve the signaling optimization.

The PE router does not include the PMSI part in the Intra-AD BGP messages when the MVPN is configured with mdt-type receiver-only. The message flow is presented in RSVP-Based BGP Message Flow Between PE-1 and PE-2.

Figure 4. RSVP-Based BGP Message Flow Between PE-1 and PE-2

The following BGP debug output is taken from PE-2 and demonstrates the message flow between PE-1 and PE-2 for the MVPN-IPv4 address family.

There is no PMSI part in the BGP Intra-AD message sent by PE-2 (message 7), but the PMSI part is present in the BGP Intra-AD message received from sender-only PE-1 (message 1).

1 2023/11/13 11:59:27.048 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 86
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 17 PMSI:
        Tunnel-type RSVP-TE P2MP LSP (1)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        P2MP-ID 0x1, Tunnel-ID: 61441, Extended-Tunnel-ID 192.0.2.1
"
7 2023/11/13 11:59:37.329 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 66
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.2
        Type: Intra-AD Len: 12 RD: 64500:102 Orig: 192.0.2.2
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
"
19 2023/11/13 11:59:41.952 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 76
    Flag: 0x90 Type: 14 Len: 33 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.2
        Type: Source-Join Len:22 RD: 64500:101 SrcAS: 64500 Src: 172.16.1.2 Grp: 232.0.0.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

Similar behavior is observed for IPv6 multicast.The following BGP debug output is also taken from PE-2 and demonstrates the message flow between PE-1 and PE-2 for the MVPN-IPv6 address family.

There is no PMSI part in the Intra-AD message sent by PE-2 (message 8).

2 2023/11/13 11:59:27.049 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 86
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 17 PMSI:
        Tunnel-type RSVP-TE P2MP LSP (1)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        P2MP-ID 0x1, Tunnel-ID: 61441, Extended-Tunnel-ID 192.0.2.1
"
8 2023/11/13 11:59:37.329 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 66
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.2
        Type: Intra-AD Len: 12 RD: 64500:102 Orig: 192.0.2.2
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
"
20 2023/11/13 11:59:41.952 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 100
    Flag: 0x90 Type: 14 Len: 57 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.2
        Type: Source-Join Len:46 RD: 64500:101 SrcAS: 64500 Src: 2001:db8:1::2 Grp: ff3e::8000:1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

The PE router does not change its BGP behavior when the MVPN is configured with mdt-type sender-only. The message flow is presented in RSVP-Based BGP Message Flow Between PE-1 and PE-3.

Figure 5. RSVP-Based BGP Message Flow Between PE-1 and PE-3

The BGP following debug output is taken from PE-3 and demonstrates the message flow between PE-1 and PE-3 for the MVPN-IPv4 address family.

The PMSI part is present in debug message 1, which is sent by PE-1 (sender-only).

1 2023/11/13 11:59:27.013 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 86
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 17 PMSI:
        Tunnel-type RSVP-TE P2MP LSP (1)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        P2MP-ID 0x1, Tunnel-ID: 61441, Extended-Tunnel-ID 192.0.2.1
"
13 2023/11/13 11:59:49.028 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 86
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.3
        Type: Intra-AD Len: 12 RD: 64500:103 Orig: 192.0.2.3
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 17 PMSI:
        Tunnel-type RSVP-TE P2MP LSP (1)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        P2MP-ID 0x1, Tunnel-ID: 61441, Extended-Tunnel-ID 192.0.2.3
"
27 2023/11/13 11:59:53.262 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 76
    Flag: 0x90 Type: 14 Len: 33 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.3
        Type: Source-Join Len:22 RD: 64500:101 SrcAS: 64500 Src: 172.16.1.2 Grp: 232.0.0.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

Similar behavior is observed for IPv6 multicast.

The following BGP debug output is taken from PE-3 and demonstrates the message flow between PE-1 and PE-3 for the MVPN-IPv6 address family.

The PMSI part is present in debug message 2, which is sent by PE-1 (sender-only).

2 2023/11/13 11:59:27.013 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 86
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 17 PMSI:
        Tunnel-type RSVP-TE P2MP LSP (1)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        P2MP-ID 0x1, Tunnel-ID: 61441, Extended-Tunnel-ID 192.0.2.1
"
14 2023/11/13 11:59:49.028 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 86
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.3
        Type: Intra-AD Len: 12 RD: 64500:103 Orig: 192.0.2.3
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 17 PMSI:
        Tunnel-type RSVP-TE P2MP LSP (1)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        P2MP-ID 0x1, Tunnel-ID: 61441, Extended-Tunnel-ID 192.0.2.3
"
28 2023/11/13 11:59:53.262 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 100
    Flag: 0x90 Type: 14 Len: 57 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.3
        Type: Source-Join Len:46 RD: 64500:101 SrcAS: 64500 Src: 2001:db8:1::2 Grp: ff3e::8000:1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

The BGP routing table of each router is populated accordingly.

PE-1 (sender-only) has two Intra-Ad and two Source-Join messages from PE-2 and PE-3.

[/]
A:admin@PE-1# show router bgp routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.1        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Source-Join                 -                      100         0
      64500:101                   64500                  None        -
      192.0.2.2                   172.16.1.2                          
      No As-Path                  232.0.0.1                           
*>i   Source-Join                 -                      100         0
      64500:101                   64500                  None        -
      192.0.2.3                   172.16.1.2                          
      No As-Path                  232.0.0.1                           
u*>i  Intra-Ad                    192.0.2.2              100         0
      64500:102                   -                      None        -
      192.0.2.2                   -                                   
      No As-Path                  -                                   
u*>i  Intra-Ad                    192.0.2.3              100         0
      64500:103                   -                      None        -
      192.0.2.3                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 4
===============================================================================

PE-2 (receiver-only) has two Intra-Ad messages from PE-1 and PE-3.

[/]
A:admin@PE-2# show router bgp routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Intra-Ad                    192.0.2.1              100         0
      64500:101                   -                      None        -
      192.0.2.1                   -                                   
      No As-Path                  -                                   
u*>i  Intra-Ad                    192.0.2.3              100         0
      64500:103                   -                      None        -
      192.0.2.3                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

PE-3 (sender-receiver) has two Intra-Ad messages: one from PE-1 and one from PE-2.

[/]
A:admin@PE-3# show router bgp routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.3        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Intra-Ad                    192.0.2.1              100         0
      64500:101                   -                      None        -
      192.0.2.1                   -                                   
      No As-Path                  -                                   
u*>i  Intra-Ad                    192.0.2.2              100         0
      64500:102                   -                      None        -
      192.0.2.2                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

RSVP Verification and Debugging

When BGP intra-AD messages are exchanged, every PE starts to build multicast tunnels based on the following criteria:

  • PE nodes which are configured as sender-only for an MVPN do not join P2MP LSPs from other PEs in this MVPN.

  • PE nodes which are configured as receiver-only for an MVPN do not originate P2MP LSPs to other PEs in this MVPN.

The RSVP session can be checked with the show router rsvp session command:

PE-1 (192.0.2.1) has two originating LSPs: one toward PE-2 (192.0.2.2) and one toward PE-3 (192.0.2.3). PE-1 also has one incoming LSP from PE-3 (mdt-type sender-receiver).

[/]
A:admin@PE-1# show router rsvp session

===============================================================================
RSVP Sessions
===============================================================================
RSVP Session Name                                                 
    From                To              Tunnel ID   LSP ID       State
-------------------------------------------------------------------------------
MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.1           192.0.2.2           61441       31232        Up

MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.1           192.0.2.3           61441       31232        Up

MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.3           192.0.2.1           61441       33280        Up

-------------------------------------------------------------------------------
Sessions : 3
===============================================================================

PE-2 (192.0.2.2) has two incoming LSPs from PE-1 (192.0.2.1) and PE-3 (192.0.2.3) and no originating LSPs because PE-2 has mdt-type receiver-only.

[/]
A:admin@PE-2# show router rsvp session

===============================================================================
RSVP Sessions
===============================================================================
RSVP Session Name                                                 
    From                To              Tunnel ID   LSP ID       State
-------------------------------------------------------------------------------
MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.1           192.0.2.2           61441       31232        Up

MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.3           192.0.2.2           61441       33280        Up

-------------------------------------------------------------------------------
Sessions : 2
===============================================================================

PE-3 (192.0.2.3) has two originating LSPs: one toward PE-2 (192.0.2.2) and one toward PE-1 (192.0.2.1). PE-3 also has one incoming LSP from PE-1 (mdt-type sender-only).

Theoretically there is no need for the LSP from PE-3 toward PE-1, because PE-1 is a sender-only; this minor limitation should be taken into account during planning phase.

[/]
A:admin@PE-3# show router rsvp session

===============================================================================
RSVP Sessions
===============================================================================
RSVP Session Name                                                 
    From                To              Tunnel ID   LSP ID       State
-------------------------------------------------------------------------------
MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.1           192.0.2.3           61441       31232        Up

MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.3           192.0.2.1           61441       33280        Up

MVPN-P2MP-LSP-1-73728::EMPTY
192.0.2.3           192.0.2.2           61441       33280        Up

-------------------------------------------------------------------------------
Sessions : 3
===============================================================================

Additional details about originating P2MP paths can be found using the following command:

show router mpls p2mp-lsp <lsp name> p2mp-instance p2mp-instance-name <p2mp-instance-name> s2l

The output for PE-1, PE-2 and PE-3 is as follows:

[/]
A:admin@PE-1# show router mpls p2mp-lsp "MVPN-P2MP-LSP-1-73728" p2mp-instance p2mp-instance-name "1" s2l

===============================================================================
MPLS LSP MVPN-P2MP-LSP-1-73728 S2L
===============================================================================
-------------------------------------------------------------------------------
LSP Name    : MVPN-P2MP-LSP-1-73728
P2MP ID          : 1                       
Adm State        : Up                      Oper State        : Up
P2MPInstance     : 1
                                           Inst-type         : Primary
Adm State        : Up                      Oper State        : Up
-------------------------------------------------------------------------------
S2L Name                         To              Next Hop        Adm  Opr  
-------------------------------------------------------------------------------
EMPTY
                                 192.0.2.2       192.168.12.2    Up   Up
EMPTY
                                 192.0.2.3       192.168.13.2    Up   Up
===============================================================================
[/]
A:admin@PE-2# show router mpls p2mp-lsp

===============================================================================
MPLS P2MP LSPs (Originating)
===============================================================================
LSP Name                                            Tun     Fastfail  Adm  Opr
                                                    Id      Config         
-------------------------------------------------------------------------------
No Matching Entries Found
===============================================================================
[/]
A:admin@PE-3# show router mpls p2mp-lsp "MVPN-P2MP-LSP-1-73728" p2mp-instance p2mp-instance-name "1" s2l

===============================================================================
MPLS LSP MVPN-P2MP-LSP-1-73728 S2L
===============================================================================
-------------------------------------------------------------------------------
LSP Name    : MVPN-P2MP-LSP-1-73728
P2MP ID          : 1                       
Adm State        : Up                      Oper State        : Up
P2MPInstance     : 1
                                           Inst-type         : Primary
Adm State        : Up                      Oper State        : Up
-------------------------------------------------------------------------------
S2L Name                         To              Next Hop        Adm  Opr  
-------------------------------------------------------------------------------
EMPTY
                                 192.0.2.1       192.168.13.1    Up   Up
EMPTY
                                 192.0.2.2       192.168.23.1    Up   Up
===============================================================================

Multicast Stream Verification

The status of the multicast groups/streams can be verified using the show router <router-instance> pim group detail [ipv6] command:

There is an IPv4 sender connected to PE-1. The physical interface where the sender is connected is used as the incoming interface. An I-PMSI is used as the outgoing interface.

[/]
A:admin@PE-1# show router "1" pim group detail

===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address      : 232.0.0.1
Source Address     : 172.16.1.2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 172.16.1.2
MRIB Src Flags     : direct             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:02:00        Resolved By        : rtable-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:00
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 172.16.1.2
Incoming Intf      : int-PE-1-S-1
Outgoing Intf List : mpls-if-73728
 
Curr Fwding Rate   : 4642.896 kbps      
Forwarded Packets  : 23271              Discarded Packets  : 0
Forwarded Octets   : 22852122           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

There is an IPv4 receiver connected to PE-2. An I-PMSI is used as the incoming interface and the physical interface where the receiver is connected is used as the outgoing interface.

[/]
A:admin@PE-2# show router "1" pim group detail

===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address      : 232.0.0.1
Source Address     : 172.16.1.2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:02:05        Resolved By        : rtable-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:57
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73728
Outgoing Intf List : int-PE-2-H-2
 
Curr Fwding Rate   : 4658.608 kbps      
Forwarded Packets  : 24037              Discarded Packets  : 0
Forwarded Octets   : 23604334           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

There is an IPv4 receiver connected to PE-3. An I-PMSI is used as the incoming interface and the physical interface where receiver is connected is used as the outgoing interface.

[/]
A:admin@PE-3# show router "1" pim group detail

===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address      : 232.0.0.1
Source Address     : 172.16.1.2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:01:56        Resolved By        : rtable-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:07
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73729
Outgoing Intf List : int-PE-3-H-3
 
Curr Fwding Rate   : 4662.536 kbps      
Forwarded Packets  : 25069              Discarded Packets  : 0
Forwarded Octets   : 24617758           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

Similar behavior is observed for IPv6 multicast.

An IPv6 sender is connected to PE-1. The physical interface where the sender is connected is used as the incoming interface. An I-PMSI is used as the outgoing interface.

[/]
A:admin@PE-1# show router "1" pim group detail ipv6

===============================================================================
PIM Source Group ipv6
===============================================================================
Group Address      : ff3e::8000:1
Source Address     : 2001:db8:1::2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 2001:db8:1::2
MRIB Src Flags     : direct             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:02:00        Resolved By        : rtable6-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:00
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 2001:db8:1::2
Incoming Intf      : int-PE-1-S-1
Outgoing Intf List : mpls-if-73728
 
Curr Fwding Rate   : 4654.680 kbps      
Forwarded Packets  : 20823              Discarded Packets  : 0
Forwarded Octets   : 20448186           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

An IPv6 receiver is connected to PE-2. An I-PMSI is used as the incoming interface and the physical interface where the receiver is connected is used as the outgoing interface.

[/]
A:admin@PE-2# show router "1" pim group detail ipv6

===============================================================================
PIM Source Group ipv6
===============================================================================
Group Address      : ff3e::8000:1
Source Address     : 2001:db8:1::2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:02:04        Resolved By        : rtable6-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:57
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73728
Outgoing Intf List : int-PE-2-H-2
 
Curr Fwding Rate   : 4662.536 kbps      
Forwarded Packets  : 21588              Discarded Packets  : 0
Forwarded Octets   : 21199416           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

An IPv6 receiver is connected to PE-3. An I-PMSI is used as the incoming interface and the physical interface where the receiver is connected is used as the outgoing interface.

[/]
A:admin@PE-3# show router "1" pim group detail ipv6

===============================================================================
PIM Source Group ipv6
===============================================================================
Group Address      : ff3e::8000:1
Source Address     : 2001:db8:1::2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:01:54        Resolved By        : rtable6-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:07
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73729
Outgoing Intf List : int-PE-3-H-3
 
Curr Fwding Rate   : 4658.608 kbps      
Forwarded Packets  : 22621              Discarded Packets  : 0
Forwarded Octets   : 22213822           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

mLDP-Based MVPN Configuration

Step 1: Reconfigure VPRN 1 to make it mLDP-based. The resolution-filter should only be LDP (no RSVP anymore) for auto-bind-tunnel. The MVPN context also changes: the inclusive provider-tunnel is mLDP-based. The MDT-type remains the same: PE-1 is sender-only, PE-2 is receiver-only and PE-3 is sender-receiver (default).

PE-2 and PE-3 have static joins for the IPv4/IPv6 multicast groups:

  • group 232.0.0.1, source 172.16.1.2

  • group FF3E::8000:1, source 2001:DB8:1::2

Step 2: The VPRN 1 configuration on PE-1 is as follows:

# on PE-1
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            description "mLDP-based MVPN"
            service-id 1
            customer "1"
            autonomous-system 64500
            ecmp 2
            ignore-nh-metric true
            pim {
                apply-to all
                ipv6 {
                    admin-state enable
                }
            }
            mvpn {
                c-mcast-signaling bgp
                mdt-type sender-only
                auto-discovery {
                    type bgp
                }
                vrf-target {
                    unicast true
                }
                provider-tunnel {
                    inclusive {
                        mldp {
                            admin-state enable
                        }
                    }
                }
            }
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64500:101"
                    vrf-target {
                        community "target:64500:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                        }
                    }
                }
            }
            interface "int-PE-1-S-1" {
                description "to multicast source S-1"
                ipv4 {
                    primary {
                        address 172.16.1.1
                        prefix-length 30
                    }
                }
                sap 1/1/c3/1 {
                }
                ipv6 {
                    address 2001:db8:1::1 {
                        prefix-length 126
                    }
                }
            }
        }
    }
}

Based on the example topology, PE-2 is configured as receiver-only for the MVPN. PE-2 has also static joins for the IPv4 and IPv6 multicast groups:

  • group 232.0.0.1, source 172.16.1.2

  • group FF3E::8000:1, source 2001:DB8:1::2

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            description "mLDP-based MVPN"
            service-id 1
            customer "1"
            autonomous-system 64500
            ecmp 2
            ignore-nh-metric true
            igmp {
                interface "int-PE-2-H-2" {
                    static {
                        group 232.0.0.1 {
                            source 172.16.1.2 { }
                        }
                    }
                }
            }
            mld {
                interface "int-PE-2-H-2" {
                    static {
                        group ff3e::8000:1 {
                            source 2001:db8:1::2 { }
                        }
                    }
                }
            }
            pim {
                apply-to all
                ipv6 {
                    admin-state enable
                }
            }
            mvpn {
                c-mcast-signaling bgp
                mdt-type receiver-only
                auto-discovery {
                    type bgp
                }
                vrf-target {
                    unicast true
                }
                provider-tunnel {
                    inclusive {
                        mldp {
                            admin-state enable
                        }
                    }
                }
            }
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64500:102"
                    vrf-target {
                        community "target:64500:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                        }
                    }
                }
            }
            interface "int-PE-2-H-2" {
                description "to receiver Host-2"
                ipv4 {
                    primary {
                        address 172.16.2.1
                        prefix-length 30
                    }
                }
                sap 1/1/c4/1 {
                }
                ipv6 {
                    address 2001:db8:2::1 {
                        prefix-length 126
                    }
                }
            }
        }
    }
}

Based on the example topology, PE-3 is configured as sender-receiver (default) for the MVPN. PE-3 has also static joins for the IPv4 and IPv6 multicast groups:

  • group 232.0.0.1, source 172.16.1.2

  • group FF3E::8000:1, source 2001:DB8:1::2

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            description "mLDP-based MVPN"
            service-id 1
            customer "1"
            autonomous-system 64500
            ecmp 2
            ignore-nh-metric true
            igmp {
                interface "int-PE-3-H-3" {
                    static {
                        group 232.0.0.1 {
                            source 172.16.1.2 { }
                        }
                    }
                }
            }
            mld {
                interface "int-PE-3-H-3" {
                    static {
                        group ff3e::8000:1 {
                            source 2001:db8:1::2 { }
                        }
                    }
                }
            }
            pim {
                apply-to all
                ipv6 {
                    admin-state enable
                }
            }
            mvpn {
                c-mcast-signaling bgp
                auto-discovery {
                    type bgp
                }
                vrf-target {
                    unicast true
                }
                provider-tunnel {
                    inclusive {
                        mldp {
                            admin-state enable
                        }
                    }
                }
            }
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64500:103"
                    vrf-target {
                        community "target:64500:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                        }
                    }
                }
            }
            interface "int-PE-3-H-3" {
                description "to receiver Host-3"
                ipv4 {
                    primary {
                        address 172.16.3.1
                        prefix-length 30
                    }
                }
                sap 1/1/c4/1 {
                }
                ipv6 {
                    address 2001:db8:3::1 {
                        prefix-length 126
                    }
                }
            }
        }
    }
}

mLDP-Based MVPN Verification and Debugging

MDT-Type Verification

The status of the MVPN can be checked using the following command:

show router <router-instance> mvpn

The output for PE-1, PE-2 and PE-3 is as follows:

[/]
A:admin@PE-1# show router "1" mvpn

===============================================================================
MVPN 1 configuration data
===============================================================================
signaling          : Bgp                  auto-discovery     : Default
UMH Selection      : Highest-Ip           SA withdrawn       : Disabled
intersite-shared   : Enabled              Persist SA         : Disabled
vrf-import         : N/A
vrf-export         : N/A
vrf-target         : unicast
C-Mcast Import RT  : target:192.0.2.1:2
 
ipmsi              : ldp
i-pmsi P2MP AdmSt  : Up                   
i-pmsi Tunnel Name : mpls-if-73729        
Mdt-type           : sender-only          
ipmsi UMH RM       : Disabled
 
BSR signalling     : none                 
Wildcard s-pmsi    : Disabled             
Multistream-SPMSI  : Disabled             
s-pmsi             : none                 
data-delay-interval: 3 seconds            
enable-asm-mdt     : N/A                  
spmsi UMH RM       : Disabled
 
===============================================================================
[/]
A:admin@PE-2# show router "1" mvpn

===============================================================================
MVPN 1 configuration data
===============================================================================
signaling          : Bgp                  auto-discovery     : Default
UMH Selection      : Highest-Ip           SA withdrawn       : Disabled
intersite-shared   : Enabled              Persist SA         : Disabled
vrf-import         : N/A
vrf-export         : N/A
vrf-target         : unicast
C-Mcast Import RT  : target:192.0.2.2:2
 
ipmsi              : ldp
i-pmsi P2MP AdmSt  : Up                   
i-pmsi Tunnel Name : mpls-virt-if-1005858 
Mdt-type           : receiver-only        
ipmsi UMH RM       : Disabled
 
BSR signalling     : none                 
Wildcard s-pmsi    : Disabled             
Multistream-SPMSI  : Disabled             
s-pmsi             : none                 
data-delay-interval: 3 seconds            
enable-asm-mdt     : N/A                  
spmsi UMH RM       : Disabled
 
===============================================================================
[/]
A:admin@PE-3# show router "1" mvpn

===============================================================================
MVPN 1 configuration data
===============================================================================
signaling          : Bgp                  auto-discovery     : Default
UMH Selection      : Highest-Ip           SA withdrawn       : Disabled
intersite-shared   : Enabled              Persist SA         : Disabled
vrf-import         : N/A
vrf-export         : N/A
vrf-target         : unicast
C-Mcast Import RT  : target:192.0.2.3:2
 
ipmsi              : ldp
i-pmsi P2MP AdmSt  : Up                   
i-pmsi Tunnel Name : mpls-if-73730        
Mdt-type           : sender-receiver      
ipmsi UMH RM       : Disabled
 
BSR signalling     : none                 
Wildcard s-pmsi    : Disabled             
Multistream-SPMSI  : Disabled             
s-pmsi             : none                 
data-delay-interval: 3 seconds            
enable-asm-mdt     : N/A                  
spmsi UMH RM       : Disabled
 
===============================================================================

BGP Verification and Debugging

When the MDT type is changed, the BGP signaling is slightly modified to achieve the signaling optimization.The PE router does not include the PMSI part in Intra-AD BGP messages when the MVPN is configured with mdt-type receiver-only.

The message flow is presented in mLDP-Based BGP Message Flow Between PE-1 and PE-2.

Figure 6. mLDP-Based BGP Message Flow Between PE-1 and PE-2

To demonstrate the BGP message flow sequence the following initialization steps are taken on PE-2:

  1. Bring down the VPRN service, PIM protocol in a VPRN and IGMP/MLD protocol. As a result, the state of all signaling protocols is cleared.

  2. Bring up the VPRN service. BGP exchanges unicast routing information.

  3. Bring up the IPv4 PIM protocol. BGP exchanges IPv4 multicast routing information to build the PMSI infrastructure.

  4. Bring up IGMP and add a static IGMP join where it is applicable. BGP exchanges IPv4 multicast routing information to propagate the multicast traffic to the receiver.

  5. Bring up the IPv6 PIM protocol. BGP exchanges IPv6 multicast routing information to build the PMSI infrastructure.

  6. Bring up MLD and add a static MLD join where it is applicable. BGP exchanges IPv6 multicast routing information to propagate the multicast traffic to the receiver.

The following BGP debug is taken from PE-2 and demonstrates the message flow between PE-2 and PE-1. VPN-IPv4 and VPN-IPv6 updates are not present in this output.

Step 1: Bring down the VPRN service and protocols to clear the state of all signaling protocols.

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            admin-state disable
            pim {
                admin-state disable
                ipv6 {
                    admin-state disable
                }
            }
            igmp {
                admin-state disable
            }
            mld {
                admin-state disable
            }
        }
    }
}

Step 2: Enable the VPRN service on PE-2.

PE-2 immediately receives Intra-AD messages from PE-1 because the remote VPRN service is already enabled for IPv4 and IPv6 multicast propagation.

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
        }
    }
}
12 2023/11/13 12:05:03.948 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 91
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 22 PMSI:
        Tunnel-type LDP P2MP LSP (2)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        Root-Node 192.0.2.1, LSP-ID 0x2001
"
7 2023/11/13 12:05:03.947 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 91
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 22 PMSI:
        Tunnel-type LDP P2MP LSP (2)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        Root-Node 192.0.2.1, LSP-ID 0x2001
"

Step 3: Enable only PIM IPv4 for the service on PE-2.

PE-2 immediately sends Intra-AD messages to PE-1. Note that no PMSI part is present in the debug message sent by receiver-only PE-2.

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            pim {
                admin-state enable
            }
        }
    }
}
7 2023/11/13 11:59:37.329 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 66
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.2
        Type: Intra-AD Len: 12 RD: 64500:102 Orig: 192.0.2.2
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
"

Step 4: Bring up IGMP and add a static IGMP join for the service on a PE-2.

PE-2 immediately sends a source-join message to PE-3 and receives a source-AD message from PE-1.

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            igmp
                interface "int-PE-2-H-2" {
                    static {
                        group 232.0.0.1 {
                            source 172.16.1.2 { }
                        }
                    }
                }
            }
        }
    }
}
19 2023/11/13 11:59:41.952 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 76
    Flag: 0x90 Type: 14 Len: 33 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.2
        Type: Source-Join Len:22 RD: 64500:101 SrcAS: 64500 Src: 172.16.1.2 Grp: 232.0.0.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

Step 5: Enable PIM IPv6 for the service on PE-2.

PE-2 immediately sends Intra-AD messages to PE-3.

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            pim {
                ipv6 {
                    admin-state enable
                }
            }
        }
    }
}
20 2023/11/13 12:05:53.262 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 66
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.2
        Type: Intra-AD Len: 12 RD: 64500:102 Orig: 192.0.2.2
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
"

Step 6: Bring up MLD and add a static MLD join for the service on a PE-2.

PE-2 immediately sends a source-join message to PE-3 and receives a source-AD message from PE-3.

# on PE-2
configure {
    service {
        vprn "VPRN 1" {
            mld {
                interface "int-PE-2-H-2" {
                    static {
                        group FF3E::8000:1 {
                            source 2001:DB8:1::2 { }
                        }
                    }
                }
            }
        }
    }
}
22 2023/11/13 12:06:10.587 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 100
    Flag: 0x90 Type: 14 Len: 57 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.2
        Type: Source-Join Len:46 RD: 64500:101 SrcAS: 64500 Src: 2001:db8:1::2 Grp: ff3e::8000:1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

The same information can be gathered using the following show commands.

show router bgp neighbor <ip-address> advertised-routes [mvpn-ipv4 | mvpn-ipv6]

show router bgp neighbor <ip-address> received-routes [mvpn-ipv4 | mvpn-ipv6]

PE-2 output for the advertised routes for the mvpn-ipv4 address family is as follows:

[/]
A:admin@PE-2# show router bgp neighbor 192.0.2.1 advertised-routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
i     Source-Join                 -                      100         0
      64500:101                   64500                  None        -
      192.0.2.2                   172.16.1.2                          
      No As-Path                  232.0.0.1                           
i     Intra-Ad                    192.0.2.2              100         0
      64500:102                   -                      None        -
      192.0.2.2                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

PE-2 output for the advertised routers for the mvpn-ipv6 address family is as follows:

[/]
A:admin@PE-2# show router bgp neighbor 192.0.2.1 advertised-routes mvpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv6 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
i     Source-Join                 -                      100         0
      64500:101                   64500                  None        -
      192.0.2.2                   2001:db8:1::2                       
      No As-Path                  ff3e::8000:1                        
i     Intra-Ad                    192.0.2.2              100         0
      64500:102                   -                      None        -
      192.0.2.2                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

PE-2 output for the received routes for the mvpn-ipv4 address family is as follows:

[/]
A:admin@PE-2# show router bgp neighbor 192.0.2.1 received-routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Intra-Ad                    192.0.2.1              100         0
      64500:101                   -                      None        -
      192.0.2.1                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

PE-2 output for the received routes for the mvpn-ipv6 address family is as follows:

[/]
A:admin@PE-2# show router bgp neighbor 192.0.2.1 received-routes mvpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv6 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Intra-Ad                    192.0.2.1              100         0
      64500:101                   -                      None        -
      192.0.2.1                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

The PE router does not change the BGP behavior when the MVPN is configured with mdt-type sender-only. A schematic of the message flow is presented in mLDP-Based BGP Message Flow Between PE-1 and PE-3.

Figure 7. mLDP-Based BGP Message Flow Between PE-1 and PE-3

To demonstrate the BGP message flow sequence, the following initialization steps are taken:

  1. Bring down the VPRN service, PIM protocol in the VPRN and IGMP/MLD protocol. As a result, the state of all signaling protocols is cleared.

  2. Bring up the VPRN service. BGP exchanges unicast routing information.

  3. Bring up the IPv4 PIM protocol. BGP exchanges IPv4 multicast routing information to build the PMSI infrastructure.

  4. Bring up IGMP and add a static IGMP join where it is applicable. BGP exchanges IPv4 multicast routing information to propagate the multicast traffic to the receiver.

  5. Bring up the IPv6 PIM protocol. BGP exchanges IPv6 multicast routing information to build the PMSI infrastructure.

  6. Bring up MLD and add a static MLD join where it is applicable. BGP exchanges IPv6 multicast routing information to propagate the multicast traffic to the receiver.

The following BGP debug output is taken from PE-3 and demonstrates the message flow between PE-1 and PE-3.

The PMSI part is present in debug messages sent by PE-1 (sender-only).

Step 1: Bring down the VPRN service and protocols to clear the state of all signaling protocols.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            admin-state disable
            pim {
                admin-state disable
                ipv6 {
                    admin-state disable
                }
            }
            igmp {
                admin-state disable
            }
            mld {
                admin-state disable
            }
        }
    }
}

Step 2: Enable the VPRN service on PE-3. PE-3 immediately receives Intra-AD messages from PE-1 because the remote VPRN service is already enabled for IPv4 and IPv6 multicast propagation. The PMSI attribute is present in both messages.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
        }
    }
}
10 2023/11/13 12:07:22.256 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 91
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 22 PMSI:
        Tunnel-type LDP P2MP LSP (2)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        Root-Node 192.0.2.1, LSP-ID 0x2001
"
7 2023/11/13 12:07:22.256 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 91
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.1
        Type: Intra-AD Len: 12 RD: 64500:101 Orig: 192.0.2.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 22 PMSI:
        Tunnel-type LDP P2MP LSP (2)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        Root-Node 192.0.2.1, LSP-ID 0x2001
"

Step 3: Enable PIM IPv4 only for the service on PE-3. PE-3 immediately sends Intra-AD messages to PE-1.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            pim {
                admin-state enable
            }
        }
    }
}
16 2023/11/13 12:07:25.514 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 91
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.3
        Type: Intra-AD Len: 12 RD: 64500:103 Orig: 192.0.2.3
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 22 PMSI:
        Tunnel-type LDP P2MP LSP (2)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        Root-Node 192.0.2.3, LSP-ID 0x2001
"

Step 4: Bring up IGMP and add a static IGMP join for the service on a PE-3. PE-3 immediately sends a source-join message to PE-1 and receives a source-AD message from PE-1.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            igmp {
                admin-state enable
            }
        }
    }
}
# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            igmp {
                interface "int-PE-3-H-3" {
                    static {
                        group 232.0.0.1 {
                            source 172.16.1.2 { }
                        }
                     }
                }
            }
        }
    }
}
18 2023/11/13 12:08:00.411 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 76
    Flag: 0x90 Type: 14 Len: 33 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV4
        NextHop len 4 NextHop 192.0.2.3
        Type: Source-Join Len:22 RD: 64500:101 SrcAS: 64500 Src: 172.16.1.2 Grp: 232.0.0.1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

Step 5: Enable PIM IPv6 for the service on PE-3. PE-3 immediately sends Intra-AD messages to PE-1.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            pim {
                ipv6 {
                    admin-state enable
                }
            }
        }
    }
}
20 2023/11/13 12:08:15.667 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 91
    Flag: 0x90 Type: 14 Len: 23 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.3
        Type: Intra-AD Len: 12 RD: 64500:103 Orig: 192.0.2.3
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 22 PMSI:
        Tunnel-type LDP P2MP LSP (2)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 0
        Root-Node 192.0.2.3, LSP-ID 0x2001
"

Step 6: Bring up MLD and add a static MLD join for the service on a PE-3. PE-3 immediately sends a source-join message to PE-1.

# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            mld {
                admin-state enable
            }
        }
    }
}
# on PE-3
configure {
    service {
        vprn "VPRN 1" {
            mld {
                interface "int-PE-3-H-3" {
                    static {
                        group ff3e::8000:1 {
                            source 2001:DB8:1::2 { }
                        }
                    }
                }
            }
        }
    }
}
22 2023/11/13 12:08:36.943 CET MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Send BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 100
    Flag: 0x90 Type: 14 Len: 57 Multiprotocol Reachable NLRI:
        Address Family MVPN_IPV6
        NextHop len 4 NextHop 192.0.2.3
        Type: Source-Join Len:46 RD: 64500:101 SrcAS: 64500 Src: 2001:db8:1::2 Grp: ff3e::8000:1
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x80 Type: 4 Len: 4 MED: 0
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 8 Len: 4 Community:
        no-export
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:192.0.2.1:2
"

The same information can be gathered using the following show commands.

show router bgp neighbor <ip-address> advertised-routes [mvpn-ipv4 | mvpn-ipv6]

show router bgp neighbor <ip-address> received-routes [mvpn-ipv4 | mvpn-ipv6]

PE-3 output for the advertised routes for the mvpn-ipv4 address family is as follows:

[/]
A:admin@PE-3# show router bgp neighbor 192.0.2.1 advertised-routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.3        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
i     Source-Join                 -                      100         0
      64500:101                   64500                  None        -
      192.0.2.3                   172.16.1.2                          
      No As-Path                  232.0.0.1                           
i     Intra-Ad                    192.0.2.3              100         0
      64500:103                   -                      None        -
      192.0.2.3                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

PE-3 output for the advertised routes for the mvpn-ipv6 address family is as follows:

[/]
A:admin@PE-3# show router bgp neighbor 192.0.2.1 advertised-routes mvpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.3        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv6 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
i     Source-Join                 -                      100         0
      64500:101                   64500                  None        -
      192.0.2.3                   2001:db8:1::2                       
      No As-Path                  ff3e::8000:1                        
i     Intra-Ad                    192.0.2.3              100         0
      64500:103                   -                      None        -
      192.0.2.3                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

PE-3 output for the received routes for the mvpn-ipv4 address family is as follows:

[/]
A:admin@PE-3# show router bgp neighbor 192.0.2.1 received-routes mvpn-ipv4
===============================================================================
 BGP Router ID:192.0.2.3        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv4 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Intra-Ad                    192.0.2.1              100         0
      64500:101                   -                      None        -
      192.0.2.1                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

PE-3 output for the received routes for the mvpn-ipv6 address family is as follows:

[/]
A:admin@PE-3# show router bgp neighbor 192.0.2.1 received-routes mvpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.3        AS:64500       Local AS:64500      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP MVPN-IPv6 Routes
===============================================================================
Flag  RouteType                   OriginatorIP           LocalPref   MED
      RD                          SourceAS               Path-Id     IGP Cost
      Nexthop                     SourceIP                           Label
      As-Path                     GroupIP                            
-------------------------------------------------------------------------------
u*>i  Intra-Ad                    192.0.2.1              100         0
      64500:101                   -                      None        -
      192.0.2.1                   -                                   
      No As-Path                  -                                   
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

LDP Verification and Debugging

When BGP intra-AD messages are exchanged, every PE starts to build a multicast tunnel based on the following criteria:

  • PE nodes which are configured as sender-only do not distribute mLDP forward equivalence classes (FECs) to remote PEs for this MVPN.

  • PE nodes which are configured as receiver-only do not include the PMSI part for intra-AD messages and remote PEs do not send mLDP FECs for this MVPN.

LDP bindings can be verified using the following command:

show router ldp bindings p2mp

PE-1 (192.0.2.1) has two egress FECs because PE-1 has mdt-type sender-only.

[/]
A:admin@PE-1# show router ldp bindings p2mp ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.1)
             (IPv6 LSR ID 2001:db8::1)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
===============================================================================
LDP Generic IPv4 P2MP Bindings
===============================================================================
P2MP-Id                                      
RootAddr                                    Interface
Peer                                         
IngLbl                                      EgrLbl
EgrNH                                       EgrIf/LspId
-------------------------------------------------------------------------------
8193
192.0.2.1                                   73729
192.0.2.2:0
  --                                        524280
192.168.12.2                                1/1/c1/1
                                             
8193
192.0.2.1                                   73729
192.0.2.3:0
  --                                        524280
192.168.13.2                                1/1/c2/1
                                             
-------------------------------------------------------------------------------
No. of Generic IPv4 P2MP Bindings: 2
===============================================================================
---snip---
===============================================================================

PE-2 (192.0.2.2) has two ingress FECs because PE-2 has mdt-type receiver-only.

[/]
A:admin@PE-2# show router ldp bindings p2mp ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.2)
             (IPv6 LSR ID 2001:db8::2)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
===============================================================================
LDP Generic IPv4 P2MP Bindings
===============================================================================
P2MP-Id                                      
RootAddr                                    Interface
Peer                                         
IngLbl                                      EgrLbl
EgrNH                                       EgrIf/LspId
-------------------------------------------------------------------------------
8193
192.0.2.1                                   73732
192.0.2.1:0
524280U                                       --
  --                                          --
                                             
8193
192.0.2.3                                   73734
192.0.2.3:0
524279U                                       --
  --                                          --
                                             
-------------------------------------------------------------------------------
No. of Generic IPv4 P2MP Bindings: 2
===============================================================================
 ---snip---
===============================================================================

PE-3 (192.0.2.3) has one ingress FEC and one egress FECs because PE-3 has the default mdt-type sender-receiver. There is only an egress FEC to PE-2 (receiver-only), but not to PE-1. PE-1 can never be a receiver, because it is configured as sender-only.

[/]
A:admin@PE-3# show router ldp bindings p2mp ipv4 opaque-type generic

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.3)
             (IPv6 LSR ID 2001:db8::3)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
===============================================================================
LDP Generic IPv4 P2MP Bindings
===============================================================================
P2MP-Id                                      
RootAddr                                    Interface
Peer                                         
IngLbl                                      EgrLbl
EgrNH                                       EgrIf/LspId
-------------------------------------------------------------------------------
8193
192.0.2.1                                   73733
192.0.2.1:0
524280U                                       --
  --                                          --
                                             
8193
192.0.2.3                                   73732
192.0.2.2:0
  --                                        524279
192.168.23.1                                1/1/c2/1
                                             
-------------------------------------------------------------------------------
No. of Generic IPv4 P2MP Bindings: 2
===============================================================================

Multicast Stream Verification

The status of a multicast group/stream can be verified using the following command:

show router <router-instance> pim group detail [ipv6]

An IPv4 sender is connected to PE-1. The physical interface where the source is connected is used as incoming interface and the I-PMSI is used as outgoing interface.

[/]
A:admin@PE-1# show router "1" pim group detail

===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address      : 232.0.0.1
Source Address     : 172.16.1.2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 172.16.1.2
MRIB Src Flags     : direct             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:05:16        Resolved By        : rtable-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:00
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 172.16.1.2
Incoming Intf      : int-PE-1-S-1
Outgoing Intf List : mpls-if-73729
 
Curr Fwding Rate   : 4662.536 kbps      
Forwarded Packets  : 187549             Discarded Packets  : 0
Forwarded Octets   : 184173118          RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

There is an IPv4 receiver connected to PE-2. The I-PMSI is used as incoming interface and the physical interface where the receiver is connected is used as outgoing.

[/]
A:admin@PE-2# show router "1" pim group detail

===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address      : 232.0.0.1
Source Address     : 172.16.1.2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:03:41        Resolved By        : rtable-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:19
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73732
Outgoing Intf List : int-PE-2-H-2
 
Curr Fwding Rate   : 4658.608 kbps      
Forwarded Packets  : 131231             Discarded Packets  : 0
Forwarded Octets   : 128868842          RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

There is IPv4 receiver connected to PE-3. The I-PMSI is used as incoming interface and the physical interface where the receiver is connected is used as outgoing.

[/]
A:admin@PE-3# show router "1" pim group detail

===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address      : 232.0.0.1
Source Address     : 172.16.1.2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:01:17        Resolved By        : rtable-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:43
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73733
Outgoing Intf List : int-PE-3-H-3
 
Curr Fwding Rate   : 4670.392 kbps      
Forwarded Packets  : 46080              Discarded Packets  : 0
Forwarded Octets   : 45250560           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

Similar behavior is observed for IPv6 multicast.

There is an IPv6 sender connected to PE-1. The physical interface where the sender is connected is used as the incoming interface and the I-PMSI is used as the outgoing interface.

[/]
A:admin@PE-1# show router "1" pim group detail ipv6

===============================================================================
PIM Source Group ipv6
===============================================================================
Group Address      : ff3e::8000:1
Source Address     : 2001:db8:1::2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 2001:db8:1::2
MRIB Src Flags     : direct             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:05:17        Resolved By        : rtable6-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:00
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 2001:db8:1::2
Incoming Intf      : int-PE-1-S-1
Outgoing Intf List : mpls-if-73729
 
Curr Fwding Rate   : 4666.464 kbps      
Forwarded Packets  : 187565             Discarded Packets  : 0
Forwarded Octets   : 184188830          RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

There is an IPv6 receiver connected to PE-2. An I-PMSI is used as the incoming interface and the physical interface where the receiver is connected is used as the outgoing interface.

[/]
A:admin@PE-2# show router "1" pim group detail ipv6

===============================================================================
PIM Source Group ipv6
===============================================================================
Group Address      : ff3e::8000:1
Source Address     : 2001:db8:1::2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:03:05        Resolved By        : rtable6-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:55
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73732
Outgoing Intf List : int-PE-2-H-2
 
Curr Fwding Rate   : 4646.824 kbps      
Forwarded Packets  : 109661             Discarded Packets  : 0
Forwarded Octets   : 107687102          RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

There is an IPv6 receiver connected to PE-3. An I-PMSI is used as the incoming interface and the physical interface where the receiver is connected is used as the outgoing interface.

[/]
A:admin@PE-3# show router "1" pim group detail ipv6

===============================================================================
PIM Source Group ipv6
===============================================================================
Group Address      : ff3e::8000:1
Source Address     : 2001:db8:1::2
RP Address         : 0
Advt Router        : 192.0.2.1
Flags              :                    Type               : (S,G)
Mode               : sparse             
MRIB Next Hop      : 192.0.2.1
MRIB Src Flags     : remote             
Keepalive Timer    : Not Running        
Up Time            : 0d 00:00:41        Resolved By        : rtable6-u
 
Up JP State        : Joined             Up JP Expiry       : 0d 00:00:19
Up JP Rpt          : Not Joined StarG   Up JP Rpt Override : 0d 00:00:00
 
Register State     : No Info            
Reg From Anycast RP: No                 
 
Rpf Neighbor       : 192.0.2.1
Incoming Intf      : mpls-if-73733
Outgoing Intf List : int-PE-3-H-3
 
Curr Fwding Rate   : 4670.392 kbps      
Forwarded Packets  : 24402              Discarded Packets  : 0
Forwarded Octets   : 23962764           RPF Mismatches     : 0
Spt threshold      : 0 kbps             ECMP opt threshold : 7
Admin bandwidth    : 1 kbps             
-------------------------------------------------------------------------------
Groups : 1
===============================================================================

Conclusion

The sender-only/receiver-only feature provides significant signaling optimization in the core network for RSVP and LDP protocols and is recommended to be used when such functionality is required. The following are required before implementing this feature in the network:

  • MDT-types sender-only, receiver-only and sender-receiver are enabled per MVPN.

  • The default mdt-type is sender-receiver mode for backward compatibility.

  • This is purely a control plane feature and there are no hardware dependencies.

  • Rosen MPVN or MDT-SAFI based MVPNs are not supported.

  • IPv4 and IPv6 C-signaling are supported.

  • mLDP and RSVP demonstrate slightly different behavior because of the nature of each protocol.

  • mLDP provides a better optimization than RSVP in all cases, as mLDP does not initiate LSPs to sender-only routers.