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:
- Configure the router interfaces. See the Network Interfaces Configuration Guide.
- Configure the BGP-to-OSPF routing policy. See the Policy Framework Configuration Guide.
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.
- 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 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 towards 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 48 shows the topology used in this example.
Figure 48: PIM-SSM Provider Tunnel for an MBGP MVPN Topology

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.
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:
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# exitConfigure 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# exitConfigure 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# exitConfigure 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# exitConfigure 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# exitConfigure 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# exitConfigure 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 primaryConfigure 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-electionIf 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.
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:
- show route table VPN-A.mvpn.0 extensive
- show multicast route extensive instance VPN-A
Hide Navigation Pane
Show Navigation Pane
Download
SHA1