Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Example: Configuring a PIM-SSM Provider Tunnel for an MBGP MVPN

This example shows how to configure a PIM-SSM provider tunnel for an MBGP MVPN. The configuration enables service providers to carry customer data in the core. This example shows how to configure PIM-SSM tunnels as inclusive PMSI and uses the unicast routing preference as the metric for determining the single forwarder (instead of the default metric, which is the IP address from the global administrator field in the route-import community).

Requirements

Before you begin:

Overview

When a PE receives a customer join or prune message from a CE, the message identifies a particular multicast flow as belonging either to a source-specific tree (S,G) or to a shared tree (*,G). If the route to the multicast source or RP is across the VPN backbone, then the PE needs to identify the upstream multicast hop (UMH) for the (S,G) or (*,G) flow. Normally the UMH is determined by the unicast route to the multicast source or RP.

However, in some cases, the CEs might be distributing to the PEs a special set of routes that are to be used exclusively for the purpose of upstream multicast hop selection using the route-import community. More than one route might be eligible, and the PE needs to elect a single forwarder from the eligible UMHs.

The default metric for the single forwarder election is the IP address from the global administrator field in the route-import community. You can configure a router to use the unicast route preference to determine the single forwarder election.

This example includes the following settings.

  • provider-tunnel pim-ssm group-address—Specifies a valid SSM VPN group address. The SSM VPN group address and the source address are advertised by the type-1 autodiscovery route. On receiving an autodiscovery route with the SSM VPN group address and the source address, a PE router sends an (S,G) join in the provider space to the PE advertising the autodiscovery route. All PE routers exchange their PIM-SSM VPN group address to complete the inclusive provider multicast service interface (I-PMSI). Unlike a PIM-ASM provider tunnel, the PE routers can choose a different VPN group address because the (S,G) joins are sent directly toward the source PE.

    Note: Similar to a PIM-ASM provider tunnel, PIM must be configured in the default master instance.

  • unicast-umh-election—Specifies that the PE router uses the unicast route preference to determine the single-forwarder election.

Figure 1 shows the topology used in this example.

Figure 1: PIM-SSM Provider Tunnel for an MBGP MVPN Topology

PIM-SSM Provider Tunnel for an MBGP MVPN
Topology

Configuration

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

set interfaces fe-0/2/0 unit 0 family inet address 192.168.195.109/30 set interfaces fe-0/2/1 unit 0 family inet address 192.168.195.5/27 set interfaces fe-0/2/2 unit 0 family inet address 20.10.1.1/30 set interfaces fe-0/2/2 unit 0 family iso set interfaces fe-0/2/2 unit 0 family mpls set interfaces lo0 unit 1 family inet address 10.10.47.100/32 set interfaces lo0 unit 1 family inet address 1.1.1.1/32 primary set interfaces lo0 unit 2 family inet address 10.10.48.100/32 set protocols mpls interface all set protocols bgp group ibgp type internal set protocols bgp group ibgp local-preference 120 set protocols bgp group ibgp family inet-vpn any set protocols bgp group ibgp family inet-mvpn signaling set protocols bgp group ibgp neighbor 10.255.112.155 set protocols isis level 1 disable set protocols isis interface all set protocols isis interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all set protocols pim rp static address 10.255.112.155 set protocols pim interface all mode sparse-dense set protocols pim interface all version 2 set protocols pim interface fxp0.0 disable set routing-instances VPN-A instance-type vrf set routing-instances VPN-A interface fe-0/2/1.0 set routing-instances VPN-A interface lo0.1 set routing-instances VPN-A route-distinguisher 10.255.112.199:100 set routing-instances VPN-A provider-tunnel pim-ssm group-address 232.1.1.1 set routing-instances VPN-A vrf-target target:100:100 set routing-instances VPN-A vrf-table-label set routing-instances VPN-A routing-options auto-export set routing-instances VPN-A protocols ospf export bgp-to-ospf set routing-instances VPN-A protocols ospf area 0.0.0.0 interface lo0.1 set routing-instances VPN-A protocols ospf area 0.0.0.0 interface fe-0/2/1.0 set routing-instances VPN-A protocols pim rp static address 10.10.47.101 set routing-instances VPN-A protocols pim interface lo0.1 mode sparse-dense set routing-instances VPN-A protocols pim interface lo0.1 version 2 set routing-instances VPN-A protocols pim interface fe-0/2/1.0 mode sparse-dense set routing-instances VPN-A protocols pim interface fe-0/2/1.0 version 2 set routing-instances VPN-A protocols mvpn unicast-umh-election set routing-instances VPN-B instance-type vrf set routing-instances VPN-B interface fe-0/2/0.0 set routing-instances VPN-B interface lo0.2 set routing-instances VPN-B route-distinguisher 10.255.112.199:200 set routing-instances VPN-B provider-tunnel pim-ssm group-address 232.2.2.2 set routing-instances VPN-B vrf-target target:200:200 set routing-instances VPN-B vrf-table-label set routing-instances VPN-B routing-options auto-export set routing-instances VPN-B protocols ospf export bgp-to-ospf set routing-instances VPN-B protocols ospf area 0.0.0.0 interface lo0.2 set routing-instances VPN-B protocols ospf area 0.0.0.0 interface fe-0/2/0.0 set routing-instances VPN-B protocols pim rp static address 10.10.48.101 set routing-instances VPN-B protocols pim interface lo0.2 mode sparse-dense set routing-instances VPN-B protocols pim interface lo0.2 version 2 set routing-instances VPN-B protocols pim interface fe-0/2/0.0 mode sparse-dense set routing-instances VPN-B protocols pim interface fe-0/2/0.0 version 2 set routing-instances VPN-B protocols mvpn unicast-umh-electionset routing-options autonomous-system 100

Step-by-Step Procedure

The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User Guide.

To configure a PIM-SSM provider tunnel for an MBGP MVPN:

  1. Configure the interfaces in the master routing instance on the PE routers. This example shows the interfaces for one PE router.

    [edit interfaces]user@host# set fe-0/2/0 unit 0 family inet address 192.168.195.109/30user@host# set fe-0/2/1 unit 0 family inet address 192.168.195.5/27user@host# set fe-0/2/2 unit 0 family inet address 20.10.1.1/30user@host# set fe-0/2/2 unit 0 family isouser@host# set fe-0/2/2 unit 0 family mplsuser@host# set lo0 unit 1 family inet address 10.10.47.100/32user@host# set lo0 unit 2 family inet address 10.10.48.100/32
  2. Configure the autonomous system number in the global routing options. This is required in MBGP MVPNs.

    [edit routing-options]user@host# set autonomous-system 100
  3. Configure the routing protocols in the master routing instance on the PE routers.

    user@host# set protocols mpls interface all
    [edit protocols bgp group ibgp]user@host# set type internaluser@host# set family inet-vpn anyuser@host# set family inet-mvpn signalinguser@host# set neighbor 10.255.112.155
    [edit protocols isis]user@host# set level 1 disableuser@host# set interface alluser@host# set interface fxp0.0 disable
    [edit protocols ospf]user@host# set traffic-engineeringuser@host# set area 0.0.0.0 interface alluser@host# set area 0.0.0.0 interface fxp0.0 disable
    user@host# set protocols ldp interface all
    [edit protocols pim]user@host# set rp static address 10.255.112.155user@host# set interface all mode sparse-denseuser@host# set interface all version 2user@host# set interface fxp0.0 disable
  4. Configure routing instance VPN-A.

    [edit routing-instances VPN-A]user@host# set instance-type vrfuser@host# set interface fe-0/2/1.0user@host# set interface lo0.1user@host# set route-distinguisher 10.255.112.199:100user@host# set provider-tunnel pim-ssm group-address 232.1.1.1user@host# set vrf-target target:100:100user@host# set vrf-table-labeluser@host# set routing-options auto-exportuser@host# set protocols ospf export bgp-to-ospfuser@host# set protocols ospf area 0.0.0.0 interface lo0.1user@host# set protocols ospf area 0.0.0.0 interface fe-0/2/1.0user@host# set protocols pim rp static address 10.10.47.101user@host# set protocols pim interface lo0.1 mode sparse-denseuser@host# set protocols pim interface lo0.1 version 2user@host# set protocols pim interface fe-0/2/1.0 mode sparse-denseuser@host# set protocols pim interface fe-0/2/1.0 version 2user@host# set protocols mvpn
  5. Configure routing instance VPN-B.

    [edit routing-instances VPN-B]user@host# set instance-type vrfuser@host# set interface fe-0/2/0.0user@host# set interface lo0.2user@host# set route-distinguisher 10.255.112.199:200user@host# set provider-tunnel pim-ssm group-address 232.2.2.2user@host# set vrf-target target:200:200user@host# set vrf-table-labeluser@host# set routing-options auto-exportuser@host# set protocols ospf export bgp-to-ospfuser@host# set protocols ospf area 0.0.0.0 interface lo0.2user@host# set protocols ospf area 0.0.0.0 interface fe-0/2/0.0user@host# set protocols pim rp static address 10.10.48.101user@host# set protocols pim interface lo0.2 mode sparse-denseuser@host# set protocols pim interface lo0.2 version 2user@host# set protocols pim interface fe-0/2/0.0 mode sparse-denseuser@host# set protocols pim interface fe-0/2/0.0 version 2user@host# set protocols mvpn
  6. Configure the topology such that the BGP route to the source advertised by PE1 has a higher preference than the BGP route to the source advertised by PE2.

    [edit protocols bgp]user@host# set group ibgp local-preference 120
  7. Configure a higher primary loopback address on PE2 than on PE1. This ensures that PE2 is the MBGP MVPN single-forwarder election winner.

    [edit]user@host# set interface lo0 unit 1 family inet address 1.1.1.1/32 primary
  8. Configure the unicast-umh-knob statement on PE3.

    [edit]user@host# set routing-instances VPN-A protocols mvpn unicast-umh-electionuser@host# set routing-instances VPN-B protocols mvpn unicast-umh-election
  9. If you are done configuring the device, commit the configuration.

    user@host# commit

Results

Confirm your configuration by entering the show interfaces, show protocols, show routing-instances, and show routing-options commands from configuration mode. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.

user@host# show interfaces
fe-0/2/0 {unit 0 {family inet {address 192.168.195.109/30;}}}
fe-0/2/1 {unit 0 {family inet {address 192.168.195.5/27;}}}
fe-0/2/2 {unit 0 {family inet {address 20.10.1.1/30;}family iso;family mpls;}}
lo0 {unit 1 {family inet {address 10.10.47.100/32;address 1.1.1.1/32 {primary;}}}unit 2 {family inet {address 10.10.48.100/32;}}}
user@host# show protocols
mpls {interface all;}
bgp {group ibgp {type internal;local-preference 120;family inet-vpn {any;}family inet-mvpn {signaling;}neighbor 10.255.112.155;}}
isis {level 1 disable;interface all;interface fxp0.0 {disable;}}
ospf {traffic-engineering;area 0.0.0.0 {interface all;interface fxp0.0 {disable;}}}
ldp {interface all;}
pim {rp {static {address 10.255.112.155;}}interface all {mode sparse-dense;version 2;}interface fxp0.0 {disable;}}
user@host# show routing-instances
VPN-A {instance-type vrf;interface fe-0/2/1.0;interface lo0.1;route-distinguisher 10.255.112.199:100;provider-tunnel {pim-ssm {group-address 232.1.1.1;}}vrf-target target:100:100;vrf-table-label;routing-options {auto-export;}protocols {ospf {export bgp-to-ospf;area 0.0.0.0 {interface lo0.1;interface fe-0/2/1.0;}}pim {rp {static {address 10.10.47.101;}}interface lo0.1 {mode sparse-dense;version 2;}interface fe-0/2/1.0 {mode sparse-dense;version 2;}}mvpn {unicast-umh-election;}}}
VPN-B {instance-type vrf;interface fe-0/2/0.0;interface lo0.2;route-distinguisher 10.255.112.199:200;provider-tunnel {pim-ssm {group-address 232.2.2.2;}}vrf-target target:200:200;vrf-table-label;routing-options {auto-export;}protocols {ospf {export bgp-to-ospf;area 0.0.0.0 {interface lo0.2;interface fe-0/2/0.0;}}pim {rp {static {address 10.10.48.101;}}interface lo0.2 {mode sparse-dense;version 2;}interface fe-0/2/0.0 {mode sparse-dense;version 2;}}mvpn {unicast-umh-election;}}}
fe-0/2/0 {unit 0 {family inet {address 192.168.195.109/30;}}}
fe-0/2/1 {unit 0 {family inet {address 192.168.195.5/27;}}}
user@host# show routing-optionsautonomous-system 100;

Verification

To verify the configuration, start the receivers and the source. PE3 should create type-7 customer multicast routes from the local joins. Verify the source-tree customer multicast entries on all PE routers. PE3 should choose PE1 as the upstream PE toward the source. PE1 receives the customer multicast route from the egress PEs and forwards data on the PSMI to PE3.

To confirm the configuration, run the following commands:

Published: 2013-07-31