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 configures 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 may 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.

Figure 48 shows the topology used in this example.

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

Image g040615.gif

Configuration

CLI Quick Configuration

To quickly configure a PIM-SSM provider tunnel for an MBGP MVPN, copy the following commands into a text file, remove any line breaks, and then paste the commands into the CLI.

[edit]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 Modification of the Junos OS Configuration in Junos OS CLI, Release 10.3.

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]user@host# edit interfaces[edit interfaces]user@host# set fe-0/2/0 unit 0 family inet address 192.168.195.109/30[edit interfaces]user@host# set fe-0/2/1 unit 0 family inet address 192.168.195.5/27[edit interfaces]user@host# set fe-0/2/2 unit 0 family inet address 20.10.1.1/30[edit interfaces]user@host# set fe-0/2/2 unit 0 family iso[edit interfaces]user@host# set fe-0/2/2 unit 0 family mpls[edit interfaces]user@host# set lo0 unit 1 family inet address 10.10.47.100/32[edit interfaces]user@host# set lo0 unit 2 family inet address 10.10.48.100/32[edit interfaces]user@host# exit
  2. Configure the autonomous system number in the global routing options. This is required in MBGP MVPNs.

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

    [edit]user@host# set protocols mpls interface all[edit]user@host# edit protocols bgp group ibgp[edit protocols bgp group ibgp]user@host# set type internal[edit protocols bgp group ibgp]user@host# set family inet-vpn any[edit protocols bgp group ibgp]user@host# set family inet-mvpn signaling[edit protocols bgp group ibgp]user@host# set neighbor 10.255.112.155[edit protocols bgp group ibgp]user@host# exit[edit]user@host# edit protocols isis[edit protocols isis]user@host# set level 1 disable[edit protocols isis]user@host# set interface all[edit protocols isis]user@host# set interface fxp0.0 disable[edit protocols isis]user@host# exit[edit]user@host# edit protocols ospf[edit protocols ospf]user@host# set traffic-engineering[edit protocols ospf]user@host# set area 0.0.0.0 interface all[edit protocols ospf]user@host# set area 0.0.0.0 interface fxp0.0 disable[edit protocols isis]user@host# exit[edit]user@host# set protocols ldp interface all[edit]user@host# edit protocols pim[edit protocols pim]user@host# set rp static address 10.255.112.155[edit protocols pim]user@host# set interface all mode sparse-dense[edit protocols pim]user@host# set interface all version 2[edit protocols pim]user@host# set interface fxp0.0 disable[edit protocols pim]user@host# exit
  4. Configure routing instance VPN-A.

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

    [edit]user@host# edit routing-instances VPN-B[edit routing-instances VPN-B]user@host# set instance-type vrf[edit routing-instances VPN-B]user@host# set interface fe-0/2/0.0[edit routing-instances VPN-B]user@host# set interface lo0.2[edit routing-instances VPN-B]user@host# set route-distinguisher 10.255.112.199:200[edit routing-instances VPN-B]user@host# set provider-tunnel pim-ssm group-address 232.2.2.2[edit routing-instances VPN-B]user@host# set vrf-target target:200:200[edit routing-instances VPN-B]user@host# set vrf-table-label[edit routing-instances VPN-B]user@host# set routing-options auto-export[edit routing-instances VPN-B]user@host# set protocols ospf export bgp-to-ospf[edit routing-instances VPN-B]user@host# set protocols ospf area 0.0.0.0 interface lo0.2[edit routing-instances VPN-B]user@host# set protocols ospf area 0.0.0.0 interface fe-0/2/0.0[edit routing-instances VPN-B]user@host# set protocols pim rp static address 10.10.48.101[edit routing-instances VPN-B]user@host# set protocols pim interface lo0.2 mode sparse-dense[edit routing-instances VPN-B]user@host# set protocols pim interface lo0.2 version 2[edit routing-instances VPN-B]user@host# set protocols pim interface fe-0/2/0.0 mode sparse-dense[edit routing-instances VPN-B]user@host# set protocols pim interface fe-0/2/0.0 version 2[edit routing-instances VPN-B]user@host# set protocols mvpn[edit routing-instances VPN-B]user@host# exit
  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]user@host# edit protocols bgp[edit protocols bgp]user@host# set group ibgp local-preference 120[edit protocols bgp]user@host# exit
  7. Configure a higher primary loopback address on PE2 than on PE1. This ensures that PE2 will be 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-election[edit]user@host# set routing-instances VPN-B protocols mvpn unicast-umh-election
  9. If you are done configuring the device, commit the configuration.

    [edit routing-instances VPN-B]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 configuration instructions in this example to correct it.

user@host# show interfacesfe-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 protocolsmpls {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-instancesVPN-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 towards the source. PE1 receives the customer multicast route from the egress PEs and forward data on the PSMI to PE3.

To confirm the configuration, run the following commands:

Related Topics