Example: Configuring Redundant Virtual Tunnel Interfaces in MBGP MVPNs
Understanding Redundant Virtual Tunnel Interfaces in MBGP MVPNs
In multiprotocol BGP (MBGP) multicast VPNs (MVPNs), VT interfaces are needed for multicast traffic on routing devices that function as combined provider edge (PE) and provider core (P) routers to optimize bandwidth usage on core links. VT interfaces prevent traffic replication when a P router also acts as a PE router (an exit point for multicast traffic).
Starting in Junos OS Release 12.3, you can configure up to eight VT interfaces in a routing instance, thus providing Tunnel PIC redundancy inside the same multicast VPN routing instance. When the active VT interface fails, the secondary one takes over, and you can continue managing multicast traffic with no duplication.
Redundant VT interfaces are supported with RSVP point-to-multipoint provider tunnels as well as multicast LDP provider tunnels. This feature also works for extranets.
You can configure one of the VT interfaces to be the primary interface. If a VT interface is configured as the primary, it becomes the next hop that is used for traffic coming in from the core on the label-switched path (LSP) into the routing instance. When a VT interface is configured to be primary and the VT interface is used for both unicast and multicast traffic, only the multicast traffic is affected.
If no VT interface is configured to be the primary or if the primary VT interface is unusable, one of the usable configured VT interfaces is chosen to be the next hop that is used for traffic coming in from the core on the LSP into the routing instance. If the VT interface in use goes down for any reason, another usable configured VT interface in the routing instance is chosen. When the VT interface in use changes, all multicast routes in the instance also switch their reverse-path forwarding (RPF) interface to the new VT interface to allow the traffic to be received.
To realize the full benefit of redundancy, we recommend that when you configure multiple VT interfaces, at least one of the VT interfaces be on a different Tunnel PIC from the other VT interfaces. However, Junos OS does not enforce this.
Example: Configuring Redundant Virtual Tunnel Interfaces in MBGP MVPNs
This example shows how to configure redundant virtual tunnel (VT) interfaces in multiprotocol BGP (MBGP) multicast VPNs (MVPNs). To configure, include multiple VT interfaces in the routing instance and, optionally, apply the primary statement to one of the VT interfaces.
Requirements
The routing device that has redundant VT interfaces configured must be running Junos OS Release 12.3 or later.
Overview
In this example, Device PE2 has redundant VT interfaces configured in a multicast LDP routing instance, and one of the VT interfaces is assigned to be the primary interface.
Figure 1 shows the topology used in this example.
Figure 1: Multiple VT Interfaces in MBGP MVPN Topology

CLI Quick Configuration shows the configuration for the customer edge (CE), provider (P), and provider edge (PE) devices in Figure 1. The section Step-by-Step Procedure describes the steps on Device PE2.
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.
Device CE1
Device CE2
Device CE3
Device P
Device PE1
Device PE2
Device PE3
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 redundant VT interfaces in an MBGP MVPN:
- Configure the physical interfaces and loopback interfaces.[edit interfaces]user@PE2# set ge-1/2/0 unit 0 family inet address 10.1.1.10/30user@PE2# set ge-1/2/0 unit 0 family mpls
user@PE2# set ge-1/2/2 unit 0 family inet address 10.1.1.13/30user@PE2# set ge-1/2/2 unit 0 family mpls
user@PE2# set ge-1/2/1 unit 0 family inet address 10.1.1.17/30user@PE2# set ge-1/2/1 unit 0 family mpls
user@PE2# set lo0 unit 0 family inet address 1.1.1.4/32user@PE2# set lo0 unit 1 family inet address 100.1.1.4/32 - Configure the VT interfaces.
Each VT interface is configurable under one routing instance.
[edit interfaces]user@PE2# set vt-1/1/0 unit 0 family inetuser@PE2# set vt-1/2/1 unit 0 family inet - Configure MPLS on the physical interfaces.[edit protocols mpls]user@PE2# set interface ge-1/2/0.0user@PE2# set interface ge-1/2/2.0
- Configure BGP.[edit protocols bgp group ibgp]user@PE2# set type internaluser@PE2# set local-address 1.1.1.4user@PE2# set family inet-vpn anyuser@PE2# set family inet-mvpn signalinguser@PE2# set neighbor 1.1.1.2user@PE2# set neighbor 1.1.1.5
- Configure an interior gateway protocol.[edit protocols ospf area 0.0.0.0]user@PE2# set interface lo0.0 passiveuser@PE2# set interface ge-1/2/0.0user@PE2# set interface ge-1/2/2.0
- Configure LDP.[edit protocols ldp]user@PE2# set interface ge-1/2/0.0user@PE2# set interface ge-1/2/2.0user@PE2# set p2mp
- Configure the routing policy.[edit policy-options policy-statement parent_vpn_routes]user@PE2# set from protocol bgpuser@PE2# set then accept
- Configure the routing instance.[edit routing-instances vpn-1]user@PE2# set instance-type vrfuser@PE2# set interface ge-1/2/1.0user@PE2# set interface lo0.1user@PE2# set route-distinguisher 100:100user@PE2# set vrf-target target:1:1user@PE2# set protocols ospf export parent_vpn_routesuser@PE2# set protocols ospf area 0.0.0.0 interface lo0.1 passiveuser@PE2# set protocols ospf area 0.0.0.0 interface ge-1/2/1.0user@PE2# set protocols pim rp static address 100.1.1.2user@PE2# set protocols pim interface ge-1/2/1.0 mode sparseuser@PE2# set protocols mvpn
- Configure redundant VT interfaces in the routing instance.
Make vt-1/1/0.0 the primary interface.
[edit routing-instances vpn-1]user@PE2# set interface vt-1/1/0.0 multicast primaryuser@PE2# set interface vt-1/2/1.0 multicast - Configure the router ID and autonomous system (AS) number.[edit routing-options]user@PE2# set router-id 1.1.1.4user@PE2# set autonomous-system 1001
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, show policy-options, show routing-instances, and show routing-options commands. If the output does not display the intended configuration, repeat the configuration instructions in this example to correct it.
If you are done configuring the device, enter commit from configuration mode.
Verification
Confirm that the configuration is working properly.
![]() | Note: The show multicast route extensive instance instance-name command also displays the VT interface in the multicast forwarding table when multicast traffic is transmitted across the VPN. |
Checking the LSP Route
Purpose
Verify that the expected LT interface is assigned to the LDP-learned route.
Action
- From operational mode, enter the show route table mpls command.
user@PE2> show route table mpls
mpls.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0 *[MPLS/0] 02:09:36, metric 1 Receive 1 *[MPLS/0] 02:09:36, metric 1 Receive 2 *[MPLS/0] 02:09:36, metric 1 Receive 13 *[MPLS/0] 02:09:36, metric 1 Receive 299776 *[LDP/9] 02:09:14, metric 1 > via ge-1/2/0.0, Pop 299776(S=0) *[LDP/9] 02:09:14, metric 1 > via ge-1/2/0.0, Pop 299792 *[LDP/9] 02:09:09, metric 1 > via ge-1/2/2.0, Pop 299792(S=0) *[LDP/9] 02:09:09, metric 1 > via ge-1/2/2.0, Pop 299808 *[LDP/9] 02:09:04, metric 1 > via ge-1/2/0.0, Swap 299808 299824 *[VPN/170] 02:08:56 > via ge-1/2/1.0, Pop 299840 *[VPN/170] 02:08:56 > via ge-1/2/1.0, Pop 299856 *[VPN/170] 02:08:56 receive table vpn-1.inet.0, Pop 299872 *[LDP/9] 02:08:54, metric 1 > via vt-1/1/0.0, Pop via ge-1/2/2.0, Swap 299872
- From configuration mode, change the primary VT interface
by removing the primary statement from the vt-1/1/0.0 interface
and adding it to the vt-1/2/1.0 interface. [edit routing-instances vpn-1]user@PE2# delete interface vt-1/1/0.0 primaryuser@PE2# set interface vt-1/2/1.0 primaryuser@PE2# commit
- From operational mode, enter the show route table mpls command.
user@PE2> show route table mpls
mpls.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0 *[MPLS/0] 02:09:36, metric 1 Receive 1 *[MPLS/0] 02:09:36, metric 1 Receive 2 *[MPLS/0] 02:09:36, metric 1 Receive 13 *[MPLS/0] 02:09:36, metric 1 Receive 299776 *[LDP/9] 02:09:14, metric 1 > via ge-1/2/0.0, Pop 299776(S=0) *[LDP/9] 02:09:14, metric 1 > via ge-1/2/0.0, Pop 299792 *[LDP/9] 02:09:09, metric 1 > via ge-1/2/2.0, Pop 299792(S=0) *[LDP/9] 02:09:09, metric 1 > via ge-1/2/2.0, Pop 299808 *[LDP/9] 02:09:04, metric 1 > via ge-1/2/0.0, Swap 299808 299824 *[VPN/170] 02:08:56 > via ge-1/2/1.0, Pop 299840 *[VPN/170] 02:08:56 > via ge-1/2/1.0, Pop 299856 *[VPN/170] 02:08:56 receive table vpn-1.inet.0, Pop 299872 *[LDP/9] 02:08:54, metric 1 > via vt-1/2/1.0, Pop via ge-1/2/2.0, Swap 299872
Meaning
With the original configuration, the output shows the vt-1/1/0.0 interface. If you change the primary interface to vt-1/2/1.0, the output shows the vt-1/2/1.0 interface.