Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Improving Layer 3 VPN Performance

This topic introduces chained composite next hops (CNHs) and provides an example of how to enable chained CNH on back-to-back PE routers.

Chained Composite Next Hops for VPNs and Layer 2 Circuits

The Juniper Networks PTX Series Packet Transport Routers, MX Series 5G Universal Routing Platforms with MIC and MPC interfaces, and T4000 Core Routers are principally designed to handle large volumes of traffic in the core of large networks. Chained CNHs help to facilitate this capability by allowing the router to process much larger volumes of routes. A chained CNH allows the router to direct sets of routes sharing the same destination to a common forwarding next hop, rather than having each route also include the destination. In the event that a network destination is changed, rather than having to update all of the routes sharing that destination with the new information, only the shared forwarding next hop is updated with the new information. The chained CNHs continue to point to this forwarding next hop, which now contains the new destination.

When the next hops for MPLS LSPs are created on the routers, the tag information corresponding to the innermost MPLS label is extracted into a chained CNH. The chained CNH is stored in the ingress Packet Forwarding Engine. The chained CNH points to a next hop called the forwarding next hop that resides on the egress Packet Forwarding Engine. The forwarding next hop contains all the other information (all of the labels except for the inner-most labels as well as the IFA/IP information corresponding to the actual next-hop node). Many chained composite next hops can share the same forwarding next hop. Additionally, separating the inner-most label (that is the VPN label) from the forwarding next hop and storing it on the ingress PFE (within the chained composite next hop) helps to conserve egress Packet Forwarding Engine memory by reducing the number of rewrite strings stored on the egress Packet Forwarding Engine.

Table 1 shows support for chained CNHs for ingress or transit routers on the MPLS network.

Table 1: Support for Chained Composite Next Hops

Platform

L2 VPN

L3 VPN

L2 CKT

PTX Series

Ingress and transit

Ingress and transit

Ingress only

MX Series

Ingress only

Ingress only

Ingress only

To enable chained CNHs on a T4000 router, the chassis must be configured to use the enhanced-mode option in network services mode.

Benefits of chained composite next hops

Chained CNH optimizes the memory and performance of the router by reducing the size of the forwarding table. The router can use the same next-hop entry in the forwarding table for routes with different destinations when the next-hop is the same. This reduces the number of entries in the forwarding table and reduces the number of changes when the next hop entry has to be modified.

Accepting Route Updates with Unique Inner VPN Labels in Layer 3 VPNs

For Layer 3 VPNs configured on Juniper Networks routers, Junos OS normally allocates one inner VPN label for each customer edge (CE)-facing virtual routing and forwarding (VRF) interface of a provider edge (PE) router. However, other vendors allocate one VPN label for each route learned over the CE-facing interfaces of a PE router. This practice increases the number of VPN labels exponentially, which leads to slow system processing and slow convergence time.

Chained CNHs is a composition function that concatenates the partial rewrite strings associated with individual next hops to form a larger rewrite string that is added to a packet. By using this function, the number of routes with unique inner VPN labels that can be processed by a Juniper Networks router is increased substantially. Common route update elements associated with Layer 3 VPNs are combined, reducing the number of route updates and individual states the Juniper Networks router must maintain, and leading to enhanced scaling and convergence performance.

Note:

ACX Series routers supports the chained-composite-next-hop ingress CLI statement at the [edit routing-options forwarding-table] hierarchy level only for Layer 3 VPNs. The chained-composite-next-hop ingress CLI statement for Layer 2 services is not supported.

You can configure the router based on the number of VPN labels you want to manage and on whether or not you want to create chained CNHs for IPv6-labeled routes:

Accepting Up to One Million Layer 3 VPN Route Updates

For Juniper Networks routers participating in a mixed vendor network with up to one million Layer 3 VPN labels, include the l3vpn statement at the [edit routing-options forwarding-table chained-composite-next-hop ingress] hierarchy level. The l3vpn statement is disabled by default.

Note:

ACX Series routers do not support the chained-composite-next-hop ingress CLI statement at the [edit routing-options forwarding-table] hierarchy level.

Best Practice:

We recommend that you configure the l3vpn statement whenever you have deployed Juniper Networks routers in mixed vendor networks of up to one million routes to support Layer 3 VPNs.

Because using this statement can also enhance the Layer 3 VPN performance of Juniper Networks routers in networks where only Juniper Networks routers are deployed, we recommend configuring the statements in these networks as well.

You can configure the l3vpn statement on the following routers:

  • ACX Series routers

  • MX Series routers

  • M120 routers

  • M320 routers with one or more Enhanced III FPCs

  • T Series routers (for Junos OS Release 10.4 and later)

To accept up to one million Layer 3 VPN route updates with unique inner VPN labels, configure the l3vpn statement. This statement is supported on indirectly connected PE routers only. Configuring this statement on a router that is directly connected to a PE router provides no benefit. You can configure the l3vpn statement on a router with a mix of links to both directly connected and indirectly connected PE routers.

Note:

You cannot configure the l3vpn statement and sub-statements at same time that you have configured the vpn-unequal-cost statement.

To configure the router to accept up to one million Layer 3 VPN route updates with unique inner VPN labels:

  1. Include the l3vpn statement.
  2. To enhance memory allocation to support a larger number of Layer 3 VPN labels, include the vpn-label statement.
    Note:

    The vpn-label statement does not provide any functional changes when used on the MX Series routers. You can omit the configuration of this statement on MX Series routers.

    For more information about configuring more memory for Layer 3 VPN labels, see the Junos OS Administration Library.

After you have configured the l3vpn statement, you can determine whether or not a Layer 3 VPN route is a part of a chained CNH by examining the display output of the following commands:

  • show route route-value extensive

  • show route forwarding-table destination destination-value extensive

Accepting More Than One Million Layer 3 VPN Route Updates

For Juniper Networks routers participating in a mixed vendor network with more than one million Layer 3 VPN labels, include the extended-space statement at the [edit routing-options forwarding-table chained-composite-next-hop ingress l3vpn] hierarchy level. The extended-space statement is disabled by default.

Note:

The chained-composite-next-hop ingress and extended-space statements are not supported on ACX Series routers.

Best Practice:

We recommend that you configure the extended-space statement in mixed vendor networks containing more than one million routes to support Layer 3 VPNs.

Because using this statements can also enhance the Layer 3 VPN performance of Juniper Networks routers in networks where only Juniper Networks routers are deployed, we recommend configuring the statement in these networks as well.

Using the extended-space statement can double the number of routes with unique inner VPN labels that can be processed by a Juniper Networks router. However, when configuring such very large-scale Layer 3 VPN scenarios, keep the following guidelines in mind:

Best Practice:

We strongly recommend using 64-bit routing engines running 64-bit Junos OS to support Layer 3 VPN prefixes with unique inner VPN labels at higher scale.

To configure the router to accept more than one million Layer 3 VPN route updates with unique inner VPN labels:

  1. Include the l3vpn statement.
  2. Include the extended-space statement.
  3. Configure chassis network services for enhanced mode.
    Note:

    A router reboot might be required. See Network Services Mode Overview in the Junos OS Administration Library for details.

After you have completed the configuration, you can determine whether or not a Layer 3 VPN route is a part of a CNH by examining the display output of the following commands:

  • show route route-value extensive

  • show route forwarding-table destination destination-value extensive

Enabling Chained Composite Next Hops for IPv6-Labeled Unicast Routes

You can enable chained CNHs for IPv6-labeled unicast routes by configuring the labeled-bgp and inet6 statements:

To enable chained composite next hops for inet6 labeled unicast routes, include the inet6 statement at the [edit routing-options forwarding-table chained-composite-next-hop ingress labeled-bgp] hierarchy level. This statement is disabled by default.

Example: Configuring Chained Composite Next Hops for Direct PE-PE Connections in VPNs

This example shows how to enable back-to-back Provider Edge (PE) router Layer 3 Virtual Private Network (VPN) connections with chained CNHs for MIC and MPC interfaces on MX Series and T4000 routers.

Requirements

This example uses the following hardware and software components:

  • Six routers that can be a combination of MX240, MX480, MX960, or T4000 routers.

  • Junos OS Release 13.3 running on all the devices.

Before you begin:

  1. Configure the device interfaces.

  2. Configure the following routing protocols on all the routers:

    1. MPLS

    2. BGP

    3. LDP LSPs as tunnels between the PE devices

    4. OSPF or any other IGP protocol

Overview

Prior to Junos OS Release 13.3, in a degenerated Layer 3 VPN case without the presence of an MPLS core router, previous behavior of flattened out indirect next hop and unicast next hop was utilized because there was no outer label available in the back-to-back PE-PE connection, and the ingress PE device only pushed single VPN labels. In a Layer 3 VPN multipath scenario with mixed PE-PE and PE-P-PE paths, chained CNHs could not be used either.

On platforms that support only MIC and MPC interfaces, chained CNHs are enabled by default. On platforms that support both DPC and MPC interfaces, the Layer 3 VPN configuration required the pe-pe-connection statement to support chained CNHs for PE-PE connections. However, the pe-pe-connection statement was not supported on platforms with MIC and FPC interfaces only.

As a solution to these limitations, starting with Junos OS Release 13.3, the support for chained CNHs is enhanced to automatically identify the underlying platform capability on chainedCNHs at startup time, without relying on user configuration, and to decide the next-hop type (composite or indirect) to embed in the Layer 3 VPN label. This enhances the support for back-to-back PE-PE connections in Layer 3 VPN with chained CNHs, and eliminates the need for the pe-pe-connection statement.

To enable chained CNHs for directly connected PE devices, in addition to including the l3vpn statement at the [edit routing-options forwarding-table chained-composite-next-hop ingress] hierarchy level, make the following changes:

  • On MX Series 5G Universal Routing Platforms containing both DPC and MPC FPCs, chained CNHs are disabled by default. To enable chained CNHs on the MX240, MX480, and MX960, the chassis must be configured to use the enhanced-ip option in network services mode.

  • On T4000 Core Routers containing MPC and FPCs, chained CNHs are disabled by default. To enable chained CNHs on a T4000 router, the chassis must be configured to use the enhanced-mode option in network services mode.

Topology

Figure 1: Chained Composite Next Hops for PE-PE ConnectionsChained Composite Next Hops for PE-PE Connections

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.

CE1

PE1

PE2

P

PE3

CE2

Configuring Multipath Layer 3 VPN with Chained Composite Next Hops

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.

To configure basic Layer 3 VPN with chained CNH on the PE1 router:

Note:

Repeat this procedure for the PE2 and PE3 routers in the MPLS domain, after modifying the appropriate interface names, addresses, and any other parameters for each router.

  1. Configure the interfaces on the PE1 router.

  2. Enable enhanced IP mode on the PE1 chassis.

  3. Enable chained CNH on the global Layer 3 VPN.

  4. Configure the autonomous system for PE1.

  5. Export the policy configured for load balancing.

  6. Configure MPLS on the PE1 interfaces connecting to the P router and other PE routers.

  7. Configure the IBGP group for PE1 to peer with the PE2 and PE3 routers.

  8. Configure OSPF with traffic engineering capability on all the interfaces of PE1, excluding the management interface.

  9. Configure LDP on all the interfaces of PE1, excluding the management interface.

  10. Configure a policy to load-balance traffic on a per packet basis.

  11. Configure a VRF routing instance on the CE1-facing interface of PE1.

  12. Configure the routing instance parameters.

  13. Configure an EBGP group for the routing instance, so PE1 can peer with CE1.

Results

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

PE1

Verification

Confirm that the configuration is working properly.

Verifying the Routes

Purpose

Verify that the Layer 3 VPN prefixes toward PE1-PE2 point to chained CNHs.

Action

From operational mode, run the show route 198.51.100.2 table vpn-a extensive command.

Meaning

The PE2 router is the CNH for PE1 to reach CE2.

Verifying Chained Next Hops on Direct PE-PE Connection

Purpose

Verify that chained next hop is generated for direct PE-PE connection on CE1.

Action

From operational mode, run the ping command.

Meaning

Chained CNH is enabled for the PE1 to PE2 connection.