NSF SSO - MPLS VPN

Last Updated: October 5, 2012

The NSF/SSO - MPLS VPN feature allows a provider edge (PE) router or Autonomous System Border Router (ASBR) (with redundant Route Processors) to preserve data forwarding information in a Multiprotocol Label Switching (MPLS) Virtual Private Network (VPN) when the primary Route Processor (RP) restarts. This feature module describes how to enable Nonstop Forwarding in MPLS VPN networks, including the following types of VPNs:

  • Basic MPLS VPNs
  • MPLS VPN--Carrier Supporting Carrier
  • MPLS VPN--Carrier Supporting Carrier--IPv4 BGP Label Distribution
  • MPLS VPN--Interautonomous Systems
  • MPLS VPN--Inter-AS--IPv4 BGP Label Distribution

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for NSF SSO - MPLS VPN

The NSF/SSO - MPLS VPN feature has the following prerequisites:

For information about supported hardware, see the release notes for your platform.

Before enabling Stateful Switchover (SSO), you must enable MPLS Label Distrbution Protocol (LDP) Graceful Restart if you use LDP in the core or in the MPLS VPN routing and forwarding instance in an MPLS VPN Carrier Supporting Carrier configuration. See the NSF/SSO-MPLS LDP and MPLS LDP Graceful Restart feature module for more information.

You must enable NSF on the routing protocols running between the provider (P) routers , PE routers, and customer edge (CE) routers. The routing protocols are:

  • Border Gateway Protocol (BGP)
  • Open Shortest Path First (OSPF)
  • Intermediate System-to-Intermediate System (IS-IS)

Cisco nonstop forwarding support must be configured on the routers for Cisco Express Forwarding. See the Cisco Nonstop Forwarding feature module for more information.

Before enabling the NSF/SSO - MPLS VPN feature, you must have a supported MPLS VPN network configuration. Configuration information is included in the Configuring MPLS VPNs feature module.

Restrictions for NSF SSO - MPLS VPN

The NSF/SSO - MPLS VPN feature has the following restrictions:

  • Tag Distribution Protocol (TDP) sessions are not supported. Only LDP sessions are supported.
  • The NSF/SSO - MPLS VPN feature requires that neighbor networking devices be NSF-aware. Peer routers must support the graceful restart of the protocol used to communicate with the NSF/SSO - MPLS VPN-capable router.
  • The NSF/SSO - MPLS VPN feature cannot be configured on label-controlled ATM (LC-ATM) interfaces.

Information About NSF SSO - MPLS VPN

Elements That Enable NSF SSO - MPLS VPN to Work

VPN NSF requires several elements to work:

  • VPN NSF uses the BGP Graceful Restart mechanisms defined in the Graceful Restart Internet Engineering Task Force (IETF) specifications and in the Cisco Nonstop Forwarding feature module. BGP Graceful Restart allows a router to create MPLS forwarding entries for VPNv4 prefixes in NSF mode. The forwarding entries are preserved during a restart. BGP also saves prefix and corresponding label information and recovers the information after a restart.
  • The NSF/SSO - MPLS VPN feature also uses NSF for the label distribution protocol (LDP) in the core network (either MPLS Label Distribution Protocol, traffic engineering, or static labeling).
  • The NSF/SSO - MPLS VPN feature uses NSF for the Interior Gateway Protocol (IGP) used in the core (OSPF or IS-IS).
  • The NSF/SSO - MPLS VPN feature uses NSF for the routing protocols between the PE and customer CE routers.

How VPN Prefix Information Is Checkpointed to the Backup Route Processor

When BGP allocates local labels for prefixes, it checkpoints the local label binding in the backup Route Processor. The checkpointing function copies state information from the active Route Processor to the backup Route Processor, thereby ensuring that the backup Route Processor has an identical copy of the latest information. If the active Route Processor fails, the backup Route Processor can take over with no interruption in service. Checkpointing begins when the active Route Processor does a bulk synchronization, which copies all of the local label bindings to the backup Route Processor. After that, the active Route Processor dynamically checkpoints individual prefix label bindings when a label is allocated or freed. This allows forwarding of labeled packets to continue before BGP reconverges.

How BGP Graceful Restart Preserves Prefix Information During a Restart

When a router that is capable of BGP Graceful Restart loses connectivity, the following happens to the restarting router:

  1. The router establishes BGP sessions with other routers and relearns the BGP routes from other routers that are also capable of Graceful Restart. The restarting router waits to receive updates from the neighboring routers. When the neighboring routers send end-of-Routing Information Base (RIB) markers to indicate that they are done sending updates, the restarting router starts sending its own updates.
  2. The restarting router accesses the checkpoint database to find the label that was assigned for each prefix. If it finds the label, it advertises it to the neighboring router. If it does not find the label, it allocates a new label and advertises it.
  3. The restarting router removes any stale prefixes after a timer for stale entries expires.

When a peer router that is capable of BGP Graceful Restart encounters a restarting router, it does the following:

  1. The peer router sends all of the routing updates to the restarting router. When it has finished sending updates, the peer router sends an end-of RIB marker to the restarting router.
  2. The peer router does not immediately remove the BGP routes learned from the restarting router from its BGP routing table. As it learns the prefixes from the restarting router, the peer refreshes the stale routes if the new prefix and label information matches the old information.

What Happens If a Router Does Not Have NSF SSO - MPLS VPN Enabled

If a router is not configured for the NSF/SSO - MPLS VPN feature and it attempts to establish a BGP session with a router that is configured with the NSF/SSO - MPLS VPN feature, the two routers create a normal BGP session but do not have the ability to perform the NSF/SSO - MPLS VPN feature.

How to Configure NSF SSO - MPLS VPN

Configuring NSF Support for Basic VPNs

Perform this task to configure NSF support for basic VPNs.

Before You Begin

Route Processors must be configured for SSO. See the Stateful Switchover feature module for more information.

If you use LDP in the core or in the virtual routing and forwarding (VRF) instances for MPLS VPN Carrier Supporting Carrier configurations, you must enable the MPLS LDP: NSF/SSO Support and Graceful Restart feature. See the NSF/SSO-MPLS LDP and MPLS LDP Graceful Restart feature module for more information.

You must enable Nonstop Forwarding on the routing protocols running between the P, PE, and CE routers. The routing protocols are OSPF, IS-IS, and BGP. See the Cisco Nonstop Forwarding feature module for more information.

Before enabling the NSF/SSO - MPLS VPN feature, you must have a supported MPLS VPN network configuration. Configuration information is included in the Configuring MPLS VPNs feature module.


SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip cef [distributed]

4.    router bgp as - number

5.    bgp graceful-restart restart-time secs

6.    bgp graceful-restart stalepath-time secs

7.    bgp graceful-restart

8.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
ip cef [distributed]


Example:

Router(config)# ip cef distributed

 

Enables Cisco Express Forwarding

  • Use this command if Cisco Express Forwarding is not enabled by default on the router.
 
Step 4
router bgp as - number


Example:

Router(config)# router bgp 1

 

Configures a BGP routing process and enters router configuration mode.

  • The as-number argument indicates the number of an autonomous system that identifies the router to other BGP routers and tags the routing information passed along.

Valid numbers are from 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.

 
Step 5
bgp graceful-restart restart-time secs

Example:

Router(config-router)# bgp graceful-restart restart-time 200

 

(Optional) Specifies the maximum time to wait for a graceful-restart-capable neighbor to come back up after a restart. The default is 120 seconds. The valid range is from 1 to 3600 seconds.

 
Step 6
bgp graceful-restart stalepath-time secs

Example:

Router(config-router)# bgp graceful-restart stalepath-time 400

 

(Optional) Specifies the maximum time to hold on to the stale paths of a gracefully restarted peer. All stale paths are deleted after the expiration of this timer. The default is 360 seconds. The valid range is from 1 to 3600 seconds.

 
Step 7
bgp graceful-restart

Example:

Router(config-router)# bgp graceful-restart

 

Enables BGP Graceful Restart on the router. See Cisco Nonstop Forwarding for more information about the bgp graceful-restart command.

 
Step 8
end


Example:

Router(config-router)# end

 

(Optional) Exits to privileged EXEC mode.

 

Configuring NSF Support for Interfaces That Use BGP as the LDP

The following VPN features require special configuration for the NSF/SSO - MPLS VPN feature:

  • MPLS VPN--Carrier Supporting Carrier--IPv4 BGP Label Distribution
  • MPLS VPN--Inter-AS--IPv4 BGP Label Distribution

You must issue an extra command, mpls forwarding bgp, on the interfaces that use BGP to distribute MPLS labels and routes. Use the following procedure to configure the NSF/SSO - MPLS VPN feature in these MPLS VPNs.

Before You Begin
  • Make sure your MPLS VPN is configured for Carrier Supporting Carrier (CSC) or Inter-AS with BGP as the label distribution protocol.
  • Configure NSF/SSO - MPLS VPN first, as described in Configuring NSF Support for Basic VPNs.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip cef [distributed]

4.    interface slot/port

5.    mpls forwarding bgp


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
ip cef [distributed]


Example:

Router(config)# ip cef distributed

 

Enables Cisco Express Forwarding.

  • Use this command if Cisco Express Forwarding is not enabled by default on the router.
 
Step 4
interface slot/port


Example:

Router(config)# interface POS1/0/0

 

Defines the interface and enters interface configuration mode.

 
Step 5
mpls forwarding bgp

Example:

Router(config-if)# mpls forwarding bgp

 

Enables the interface to exchange BGP labels. You need to issue this command on any interface configured to use BGP to forward MPLS labels and routes.

 

Verifying the NSF and SSO - MPLS VPN Configuration

This section explains how to verify a configuratin that has the the NSF/SSO - MPLS VPN feature.

  • See the Cisco Nonstop Forwarding feature module for verification procedures for BGP, OSPF, and IS-IS.
  • See the NSF/SSO-MPLS LDP and MPLS LDP Graceful Restart feature module for verification procedures for the MPLS LDP: NSF/SSO feature
  • See the verification information included in the Configuring MPLS VPNs feature module.
SUMMARY STEPS

1.    show ip bgp vpnv4 all labels

2.    show ip bgp vpnv4 all neighbors

3.    show ip bgp labels

4.    show ip bgp neighbors


DETAILED STEPS
Step 1   show ip bgp vpnv4 all labels

This command displays incoming and outgoing BGP labels for each route distinguisher. The following is sample output from the command:



Example:
Router# show ip bgp vpnv4 all labels 
Network          Next Hop      In label/Out label
Route Distinguisher: 100:1 (vpn1)
   10.3.0.0/16      10.0.0.5        25/20
                    10.0.0.1        25/23
                    10.0.0.2        25/imp-null
   10.0.0.9/32      10.0.0.1        24/22
                    10.0.0.2        24/imp-null
Step 2   show ip bgp vpnv4 all neighbors

This command displays whether the BGP peers are capable of Graceful Restart. The following is sample output from the command:



Example:
Router# show ip bgp vpnv4 all neighbors
BGP neighbor is 10.0.0.1,  remote AS 100, internal link
  BGP version 4, remote router ID 10.0.0.1
  BGP state = Established, up for 02:49:47
  Last read 00:00:47, hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    Route refresh: advertised and received(new)
    Address family VPNv4 Unicast: advertised and received
    Graceful Restart Capabilty: advertised and received
      Remote Restart timer is 120 seconds
      Address families preserved by peer:
        VPNv4 Unicast
.
.
.
Step 3   show ip bgp labels
This command displays information about MPLS labels in the Exterior Border Gateway Protocol (EBGP) route table. The following is sample output from the command:


Example:
Router# show ip bgp labels
   Network          Next Hop      In label/Out label
   10.3.0.0/16      10.0.0.1        imp-null/imp-null
                    0.0.0.0         imp-null/nolabel
   10.0.0.9/32      10.0.0.1        21/29
   10.0.0.11/32     10.0.0.1        24/38
   10.0.0.13/32     0.0.0.0         imp-null/nolabel
   10.0.0.15/32     10.0.0.1        29/nolabel
                    10.0.0.1        29/21
Step 4   show ip bgp neighbors

This command displays whether the BGP peers are capable of Graceful Restart. The following is sample output from the command:



Example:
Router# show ip bgp neighbors
BGP neighbor is 10.0.0.1,  remote AS 100, external link
  BGP version 4, remote router ID 10.0.0.5
  BGP state = Established, up for 02:54:19
  Last read 00:00:18, hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    Route refresh: advertised and received(new)
    Address family IPv4 Unicast: advertised and received
    ipv4 MPLS Label capability: advertised and received
    Graceful Restart Capabilty: advertised and received
      Remote Restart timer is 120 seconds
      Address families preserved by peer:
        IPv4 Unicast
.
.
.

Configuration Examples for NSF SSO - MPLS VPN

This section includes six configuration examples. The first configuration example shows the most simple configuration, a basic VPN configuration. The second, third, and fourth examples show different CSC VPN configurations. The fourth example hows a CSC VPN configuration that uses BGP as the MPLS label distribution method and therefore requires the mpls forwarding bgp command. The last two examples show Inter-AS configurations.

NSF SSO - MPLS VPN for a Basic MPLS VPN Example

In this example, the NSF/SSO--MPLS VPN feature is enabled on the existing MPLS VPN configuration.

Enabling SSO on a Cisco 7500 Series Router

The following commands are used to enable SSO on the Cisco 7500 series routers:

  • hw-module slot
  • redundancy
  • mode sso

The configuration examples are the same for both platforms with the exception that the following configuration boot commands are seen in the beginning of a Cisco 7500 series router configuration (and not in a Cisco 10000 series router configuration):

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz

Enabling SSO on a Cisco 10000 Series Router

The SSO mode is enabled by default.

Enabling NSF on Both the Cisco 7500 Series and Cisco 10000 Series Routers

The following commands are used to enable NSF for the routing protocols, such as BGP and OSPF, and for the label distribution protocols, such as BGP and LDP:

  • bgp graceful-restart restart-time
  • bgp graceful-restart stalepath-time
  • bgp graceful-restart
  • nsf enforce global

Note


In the configuration example, the NSF/SSO commands are bold-faced and any platform-specific commands are highlighted by arrows.

The figure below shows the configuration of the NSF/SSO - MPLS VPN feature on the PE and CE routers.




Note


LDP is the default MPLS label protocol.

The following configuration examples show the configuration of the NSF/SSO - MPLS VPN feature on the CE and PE routers.

CE1 Router

ip cef
no ip domain-lookup
!
interface Loopback0
 ip address 10.10.10.10 255.255.255.255
!
interface Ethernet4
 ip address 10.0.0.1 255.0.0.0
 media-type 10BaseT
!
router ospf 100
 redistribute bgp 101
 nsf enforce global
 passive-interface Ethernet4
 network 10.0.0.0 0.255.255.255 area 100
!
router bgp 101
 no synchronization
 bgp graceful-restart restart-time 120 
 bgp graceful-restart stalepath-time 360 
 bgp graceful-restart network 10.0.0.0
 network 10.0.0.0
 neighbor 10.0.0.2 remote-as 100

PE1 Router

redundancy 
mode sso 
!
ip cef distributed
mpls ldp graceful-restart 
mpls label protocol ldp
ip vrf vpn1
 rd 100:1
 route-target export 100:1
 route-target import 100:1
no mpls aggregate-statistics
!
interface Loopback0
 ip address 10.12.12.12 255.255.255.255
!
interface Ethernet1/4    =====> interface FastEthernet1/1/4 on a Cisco 10000 series router
 ip vrf forwarding vpn1
 ip address 10.0.0.2 255.0.0.0
 !
 mpls ip
interface ATM3/0              =====> interface ATM3/0/0 on a Cisco 10000 series router
 no ip address
!
interface ATM3/0.1 point-to-point ==> interface ATM3/0/0.1 point-to-point on a Cisco 10000
 ip unnumbered Loopback0
 mpls ip
!
router ospf 100
 passive-interface Ethernet1/4   ===> passive-interface FastEthernet1/1/4 on a Cisco 10000
 nsf enforce global
 network 10.0.0.0 0.255.255.255 area 100
!
router bgp 100
 no synchronization
 bgp graceful-restart restart-time 120 
 bgp graceful-restart stalepath-time 360 
 bgp graceful-restart 
 no bgp default ipv4-unicast
 neighbor 10.14.14.14 remote-as 100
 neighbor 10.14.14.14 update-source Loopback0
!
 address-family ipv4 vrf vpn1
 neighbor 10.0.0.1 remote-as 101
 neighbor 10.0.0.1 activate
 exit-address-family
!
 address-family vpnv4
 neighbor 10.14.14.14 activate
 neighbor 10.14.14.14 send-community extended
 exit-address-family

PE2 Router

redundancy 
mode sso 
!
ip cef distributed
mpls ldp graceful-restart 
mpls label protocol ldp
!
ip vrf vpn1
 rd 100:1
 route-target export 100:1
 route-target import 100:1
no mpls aggregate-statistics
!
!
interface Loopback0
 ip address 10.14.14.14 255.255.255.255
!
interface ATM1/0              =====> interface ATM1/0/0 on a Cisco 10000 series router
 no ip address
!
interface ATM1/0.1 point-to-point ==> interface ATM1/0/0.1 point-to-point on a Cisco 10000
 ip unnumbered Loopback0
 mpls ip
!
interface FastEthernet3/0/0
 ip vrf forwarding vpn1
 ip address 10.0.0.1 255.0.0.0
 ip route-cache distributed
 mpls ip
!
router ospf 100
 nsf enforce global
 passive-interface FastEthernet3/0/0
 network 10.0.0.0 0.255.255.255 area 100
!
router bgp 100
 no synchronization
 bgp graceful-restart restart-time 120 
 bgp graceful-restart stalepath-time 360 
 bgp graceful-restart 
 no bgp default ipv4-unicast
 neighbor 10.12.12.12 remote-as 100
 neighbor 10.12.12.12 update-source Loopback0
!
address-family ipv4 vrf vpn1
 neighbor 10.0.0.2 remote-as 102
 neighbor 10.0.0.2 activate
 exit-address-family
!
address-family vpnv4
 neighbor 10.12.12.12 activate
 neighbor 10.12.12.12 send-community extended
 exit-address-family

CE2 Router

ip cef
!
interface Loopback0
 ip address 10.13.13.13 255.255.255.255
!
interface FastEthernet0
 ip address 10.0.0.2 255.0.0.0
 no ip mroute-cache
!
router ospf 100
 redistribute bgp 102
 nsf enforce global 
 passive-interface FastEthernet0
 network 10.0.0.0 0.255.255.255 area 100
!
router bgp 102
 no synchronization
 bgp graceful-restart restart-time 120 
 bgp graceful-restart stalepath-time 360 
 bgp graceful-restart 
 network 10.0.0.0
 network 10.0.0.0
 neighbor 10.0.0.1 remote-as 100

NSF SSO - MPLS VPN for a CSC Network with a Customer ISP as Carrier Example

In this example, MPLS VPN SSO and NSF are configured on the existing MPLS CSC VPN configuration. In the CSC network configuration, the customer carrier is an Internet Service Provider (ISP), as shown in the figure below.

Enabling SSO on a Cisco 7500 Series Router

The following commands are used to enable SSO on the Cisco 7500 series routers:

  • hw-module slot
  • redundancy
  • mode sso

The configuration examples are the same for both platforms with the exception that the following configuration boot commands are seen in the beginning of a Cisco 7500 series router configuration (and not in a Cisco 10000 series router configuration):

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz

Enabling SSO on a Cisco 10000 Series Router

The SSO mode is enabled by default.

Enabling NSF on Both the Cisco 7500 Series and Cisco 10000 Series Routers

The following commands are used to enable NSF for the routing protocols, such as BGP and OSPF, and for the label distribution protocols, such as BGP and LDP:

  • bgp graceful-restart restart-time
  • bgp graceful-restart stalepath-time
  • bgp graceful-restart
  • nsf enforce global

Note


In the configuration example, the NSF/SSO commands are bold-faced and any platform-specific commands are highlighted by arrows.


CSC-CE1 Configuration

mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address 10.14.14.14 255.255.255.255
!
no ip route-cache
no ip mroute-cache
!
interface ATM1/0
no ip address
!
interface ATM1/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
!
atm pvc 101 0 51 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM2/0
no ip address
!
interface ATM2/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
!
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
redistribute connected subnets
 nsf enforce global
network 10.14.14.14 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
network 10.0.0.0 0.255.255.255 area 200

CSC-PE1 Configuration

redundancy 
mode sso 
ip cef distributed
mpls ldp graceful-restart
mpls label protocol ldp
!
ip vrf vpn1
rd 100:0
route-target export 100:0
route-target import 100:0
no mpls aggregate-statistics
!
interface Loopback0
ip address 10.11.11.11 255.255.255.255
!
no ip route-cache
no ip mroute-cache
!
interface Loopback100
ip vrf forwarding vpn1
ip address 10.19.19.19 255.255.255.255
!
interface ATM1/1/0
no ip address
!
interface ATM1/1/0.1 point-to-point
ip address 10.0.0.1 255.0.0.0
!
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM3/0/0
no ip address
!
interface ATM3/0/0.1 point-to-point
ip vrf forwarding vpn1
ip address 10.0.0.1 255.0.0.0
atm pvc 101 0 51 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 100
log-adjacency-changes
nsf enforce global
passive-interface ATM3/0/0.1
passive-interface Loopback100
network 10.11.11.11 0.0.0.0 area 100
network 10.0.0.0 0.255.255.255 area 100
!
router ospf 200 vrf vpn1
log-adjacency-changes
nsf enforce global
redistribute bgp 100 metric-type 1 subnets
network 10.19.19.19 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
!
router bgp 100
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor 10.12.12.12 remote-as 100
neighbor 10.12.12.12 update-source Loopback0
!
address-family ipv4
neighbor 10.12.12.12 activate
neighbor 10.12.12.12 send-community extended
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.12.12.12 activate
neighbor 10.12.12.12 send-community extended
exit-address-family
!
address-family ipv4 vrf vpn1
redistribute ospf 200 match internal external 1 external 2
no auto-summary
no synchronization
exit-address-family

CSC-PE2 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn1
rd 100:0
route-target export 100:0
route-target import 100:0
mpls ldp graceful-restart
mpls label protocol ldp
no mpls aggregate-statistics
!
interface Loopback0
ip address 10.12.12.12 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Loopback100
ip vrf forwarding vpn1
ip address 10.20.20.20 255.255.255.255
!
interface ATM0/1/0
no ip address
!
interface ATM0/1/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM3/0/0
no ip address
!
interface ATM3/0/0.1 point-to-point
ip vrf forwarding vpn1
ip address 10.0.0.1 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 100
log-adjacency-changes
nsf enforce global 
passive-interface ATM3/0/0.1
passive-interface Loopback100
network 10.12.12.12 0.0.0.0 area 100
network 10.0.0.0 0.255.255.255 area 100
!
router ospf 200 vrf vpn1
log-adjacency-changes
nsf enforce global 
redistribute bgp 100 metric-type 1 subnets
network 10.20.20.20 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
!
router bgp 100
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor 10.11.11.11 remote-as 100
neighbor 10.11.11.11 update-source Loopback0
!
address-family ipv4
neighbor 10.11.11.11 activate
neighbor 10.11.11.11 send-community extended
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.11.11.11 activate
neighbor 10.11.11.11 send-community extended
exit-address-family
!
address-family ipv4 vrf vpn1
redistribute ospf 200 match internal external 1 external 2
no auto-summary
no synchronization
exit-address-family

CSC-CE2 Configuration

ip cef
!
mpls label protocol ldp
mpls ldp graceful-restart
!
interface Loopback0
ip address 10.16.16.16 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface ATM1/0
no ip address
!
interface ATM1/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM5/0
no ip address
!
interface ATM5/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
nsf enforce global 
redistribute connected subnets
network 10.16.16.16 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
network 10.0.0.0 0.255.255.255 area 200 

NSF SSO - MPLS VPN for a CSC Network with a MPLS VPN Provider Example

In the CSC network configuration shown in the figure below, the customer carrier is an MPLS VPN provider. The customer carrier has two sites. The backbone carrier and the customer carrier use MPLS. The internal BGP (iBGP) sessions exchange the external routing information of the ISP.



 
      

The following configuration example shows the configuration of each router in the CSC network. OSPF is the protocol used to connect the customer carrier to the backbone carrier. The NSF/SSO--MPLS VPN feature is enabled on the existing MPLS VPN configuration.

Enabling SSO on a Cisco 7500 Series Router

The following commands are used to enable SSO on the routers:

  • hw-module slot
  • redundancy
  • mode sso

The configuration examples are the same for both platforms with the exception that the following configuration boot commands are seen in the beginning of a Cisco 7500 series router configuration (and not in a Cisco 10000 series router configuration):

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz

Enabling SSO on a Cisco 10000 Series Router

The SSO mode is enabled by default.

Enabling NSF on Both the Cisco 7500 Series and Cisco 10000 Series Routers

The following commands are used to enable NSF for the routing protocols, such as BGP and OSPF, and for the label distribution protocols, such as BGP and LDP:

  • bgp graceful-restart restart-time
  • bgp graceful-restart stalepath-time
  • bgp graceful-restart
  • nsf enforce global

Note


In the configuration examples, the NSF/SSO commands are bold-faced and any platform-specific commands are highlighted with arrows.

CE1 Configuration

ip cef
!
interface Loopback0
ip address 10.17.17.17 255.255.255.255
!
interface Ethernet0/1
ip address 10.0.0.2 255.0.0.0
!
router ospf 300
log-adjacency-changes
nsf enforce global 
redistribute bgp 300 subnets
passive-interface Ethernet0/1
network 10.17.17.17 0.0.0.0 area 300
!
router bgp 300
no synchronization
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
redistribute connected
redistribute ospf 300 match internal external 1 external 2
neighbor 10.0.0.1 remote-as 200
neighbor 10.0.0.1 advertisement-interval 5
no auto-summary

PE1 Configuration

redundancy 
mode sso 
ip cef distributed
mpls ldp graceful-restart
mpls label protocol ldp
!
ip vrf vpn2
rd 200:1
route-target export 200:1
route-target import 200:1
!
interface Loopback0
ip address 10.13.13.13 255.255.255.255
!
interface ATM1/0              =====> interface ATM1/0/0 on a Cisco 10000 series router
no ip address
!
interface ATM1/0.1 point-to-point  ===> interface ATM1/0/0 point-to-point on a Cisco 10000
ip address 10.0.0.1 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface Ethernet3/0    =====> interface FastEthernet3/0/0 on a Cisco 10000 series router
ip vrf forwarding vpn2
ip address 10.0.0.1 255.0.0.0
no ip mroute-cache
!
router ospf 200
log-adjacency-changes
redistribute connected subnets
nsf enforce global 
passive-interface Ethernet3/0    ===> passive-interface FastEthernet3/0/0 on a Cisco 10000
network 10.13.13.13 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
!
router bgp 200
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor 10.15.15.15 remote-as 200
neighbor 10.15.15.15 update-source Loopback0
!
address-family ipv4
neighbor 10.15.15.15 activate
neighbor 10.15.15.15 send-community extended
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.15.15.15 activate
neighbor 10.15.15.15 send-community extended
exit-address-family
!
address-family ipv4 vrf vpn2
neighbor 10.0.0.2 remote-as 300
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 as-override
neighbor 10.0.0.2 advertisement-interval 5
no auto-summary
no synchronization
exit-address-family

CSC-CE1 Configuration

mpls label protocol ldp
mpls ldp graceful-restart
!
interface Loopback0
ip address 10.14.14.14 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface ATM1/0
no ip address
!
interface ATM1/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 101 0 51 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM2/0
no ip address
!
interface ATM2/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
redistribute connected subnets
nsf enforce global 
network 10.14.14.14 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
network 10.0.0.0 0.255.255.255 area 200

CSC-PE1 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn1
rd 100:0
route-target export 100:0
route-target import 100:0
mpls label protocol ldp
mpls ldp graceful-restart
no mpls aggregate-statistics
!
interface Loopback0
ip address 10.11.11.11 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Loopback100
ip vrf forwarding vpn1
ip address 10.19.19.19 255.255.255.255
!
interface ATM1/1/0
no ip address
!
interface ATM1/1/0.1 point-to-point
ip address 10.0.0.1 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM3/0/0
no ip address
!
interface ATM3/0/0.1 point-to-point
ip vrf forwarding vpn1
ip address 10.0.0.1 255.0.0.0
atm pvc 101 0 51 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 100
log-adjacency-changes
passive-interface ATM3/0/0.1
nsf enforce global 
passive-interface Loopback100
network 10.11.11.11 0.0.0.0 area 100
network 10.0.0.0 0.255.255.255 area 100
!
router ospf 200 vrf vpn1
log-adjacency-changes
nsf enforce global 
redistribute bgp 100 metric-type 1 subnets
network 10.19.19.19 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
!
router bgp 100
bgp log-neighbor-changes
timers bgp 10 30
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
neighbor 10.12.12.12 remote-as 100
neighbor 10.12.12.12 update-source Loopback0
!
address-family ipv4
neighbor 10.12.12.12 activate
neighbor 10.12.12.12 send-community extended
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.12.12.12 activate
neighbor 10.12.12.12 send-community extended
exit-address-family
!
address-family ipv4 vrf vpn1
redistribute ospf 200 match internal external 1 external 2
no auto-summary
no synchronization
exit-address-family

CSC-PE2 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn1
rd 100:0
route-target export 100:0
route-target import 100:0
mpls label protocol ldp
mpls ldp graceful-restart
no mpls aggregate-statistics
!
interface Loopback0
ip address 10.12.12.12 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Loopback100
ip vrf forwarding vpn1
ip address 10.20.20.20 255.255.255.255
!
interface ATM0/1/0
no ip address
!
interface ATM0/1/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM3/0/0
no ip address
!
interface ATM3/0/0.1 point-to-point
ip vrf forwarding vpn1
ip address 10.0.0.1 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 100
log-adjacency-changes
nsf enforce global 
passive-interface ATM3/0/0.1
passive-interface Loopback100
network 10.12.12.12 0.0.0.0 area 100
network 10.0.0.0 0.255.255.255 area 100
!
router ospf 200 vrf vpn1
log-adjacency-changes
nsf enforce global 
redistribute bgp 100 metric-type 1 subnets
network 10.20.20.20 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
!
router bgp 100
bgp log-neighbor-changes
timers bgp 10 30
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
neighbor 10.11.11.11 remote-as 100
neighbor 10.11.11.11 update-source Loopback0
!
address-family ipv4
neighbor 10.11.11.11 activate
neighbor 10.11.11.11 send-community extended
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.11.11.11 activate
neighbor 10.11.11.11 send-community extended
exit-address-family
!
address-family ipv4 vrf vpn1
redistribute ospf 200 match internal external 1 external 2
no auto-summary
no synchronization
exit-address-family

CSC-CE2 Configuration

ip cef
!
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address 10.16.16.16 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface ATM1/0
no ip address
!
interface ATM1/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
interface ATM5/0
no ip address
!
interface ATM5/0.1 point-to-point
ip address 10.0.0.2 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
redistribute connected subnets
nsf enforce global 
network 10.16.16.16 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
network 10.0.0.0 0.255.255.255 area 200

PE2 Configuration

redundancy 
mode sso 
ip cef distributed
ip cef accounting non-recursive
!
ip vrf vpn2
rd 200:1
route-target export 200:1
route-target import 200:1
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address 10.15.15.15 255.255.255.255
!
interface Ethernet3/0    =====> interface FastEthernet3/0/0 on a Cisco 10000 series router
ip vrf forwarding vpn2
ip address 10.0.0.1 255.0.0.0
!
interface ATM5/0             =====> interface ATM5/0/0 on a Cisco 10000 series router
no ip address
!
interface ATM5/0.1 point-to-point ==> interface ATM5/0/0.1 point-to-point on a Cisco 10000
ip address 10.0.0.1 255.0.0.0
atm pvc 100 0 50 aal5snap
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
redistribute connected subnets
nsf enforce global 
passive-interface Ethernet3/0   ===> passive-interface FastEthernet3/0/0 on a Cisco 10000
network 10.15.15.15 0.0.0.0 area 200
network 10.0.0.0 0.255.255.255 area 200
!
router bgp 200
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor 10.13.13.13 remote-as 200
neighbor 10.13.13.13 update-source Loopback0
!
address-family ipv4
neighbor 10.13.13.13 activate
neighbor 10.13.13.13 send-community extended
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.13.13.13 activate
neighbor 10.13.13.13 send-community extended
exit-address-family
!
address-family ipv4 vrf vpn2
neighbor 10.0.0.2 remote-as 300
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 as-override
neighbor 10.0.0.2 advertisement-interval 5
no auto-summary
no synchronization
exit-address-family

CE2 Configuration

ip cef
!
interface Loopback0
ip address 10.18.18.18 255.255.255.255
!
interface Ethernet0/1
ip address 10.0.0.2 255.0.0.0
!
router ospf 300
log-adjacency-changes
nsf enforce global 
redistribute bgp 300 subnets
passive-interface Ethernet0/1
network 10.18.18.18 0.0.0.0 area 300
!
router bgp 300
no synchronization
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
redistribute connected
redistribute ospf 300 match internal external 1 external 2
neighbor 10.0.0.1 remote-as 200
neighbor 10.0.0.1 advertisement-interval 5
no auto-summary 

NSF SSO - MPLS VPN for a CSC Network with BGP to Distribute MPLS Labels Example

In the following example and in the figure below, the NSF/SSO--MPLS VPN feature is configured on an existing MPLS VPN.

Enabling SSO on a Cisco 7500 Series Router

The following commands are used to enable SSO on the routers:

  • hw-module slot
  • redundancy
  • mode sso

The configuration examples are the same for both platforms with the exception that the following configuration boot commands are seen in the beginning of a Cisco 7500 series router configuration (and not in a Cisco 10000 series router configuration):

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz

Enabling SSO on a Cisco 10000 Series Router

The SSO mode is enabled by default.

Enabling NSF on Both the Cisco 7500 Series and Cisco 10000 Series Routers

The following commands are used to enable NSF for the routing protocols, such as BGP and OSPF, and for the label distribution protocols, such as BGP and LDP:

  • bgp graceful-restart restart-time
  • bgp graceful-restart stalepath-time
  • bgp graceful-restart
  • nsf enforce global
  • mpls forwarding bgp

Note


In the configuration examples, the NSF/SSO commands are bold-faced and arrows highlight any platform-specific commands.

This section and the figure below provide an example of a backbone carrier and a customer carrier who are both BGP/MPLS VPN service providers. The example shows how BGP is enabled to distribute routes and MPLS labels between PE and CE routers.

Figure 1 MPLS VPN CSC Configuration 3 with MPLS VPN: NSF and SSO


In the figure above, the subnet mask is 255.255.255.252.

The routers have the following characteristics:

  • CE1 and CE2 belong to an end customer. CE1 and CE2 routers exchange routes learned from PE routers. The end customer is purchasing VPN services from a customer carrier.
  • PE1 and PE2 are part of a customer carrier network that is configured to provide MPLS VPN services. PE1 and PE2 are peering with a VPNv4 IBGP session to form an MPLS VPN network.
  • CSC-CE1 and CSC-CE2 are part of a customer carrier network. CSC-CE1 and CSC-CE2 routers exchange IPv4 BGP updates with MPLS labels and redistribute PE loopback addressees that are sent to and received from the IGP (OSPF in this example). The customer carrier is purchasing Carrier Supporting Carrier VPN services from a backbone carrier.
  • CSC-PE1 and CSC-PE2 are part of the backbone carrier's network configured to provide Carrier Supporting Carrier VPN services. CSC-PE1 and CSC-PE2 peer with a VPNv4 IP BGP session to form the MPLS VPN network. In the VRF, CSC-PE1 and CSC-PE2 peer with the CSC-CE routers, which are configured to carry MPLS labels with the routes, within an IPv4 EBGP session.

CE1 Configuration

ip cef
interface Loopback0
ip address aa.aa.aa.aa 255.255.255.255
!
interface Ethernet3/3
ip address mm.0.0.1 255.0.0.0
!
router bgp 300
no synchronization
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
redistribute connected !Exchange routes
neighbor mm.0.0.2 remote-as 200 !learned from PE1.
neighbor mm.0.0.2 advertisement-interval 5
no auto-summary

PE1 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn2
rd 200:1
route-target export 200:1
route-target import 200:1
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address bb.bb.bb.bb 255.255.255.255
!
interface Ethernet3/0    =====> interface FastEthernet3/0/0 on a Cisco 10000 series router
ip address nn.0.0.1 255.0.0.0
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
interface Ethernet3/3    =====> interface FastEthernet3/0/3 on a Cisco 10000 series router
ip vrf forwarding vpn2
ip address mm.0.0.2 255.0.0.0
no ip mroute-cache
!
router ospf 200
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets
passive-interface Ethernet3/3   ===> passive-interface FastEthernet3/0/3 on a Cisco 10000
network bb.bb.bb.bb 0.0.0.0 area 200
network nn.0.0.0 0.255.255.255 area 200
!
router bgp 200
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor hh.hh.hh.hh remote-as 200
neighbor hh.hh.hh.hh update-source Loopback0
!
address-family vpnv4 !VPNv4 session with PE2.
neighbor hh.hh.hh.hh activate
neighbor hh.hh.hh.hh send-community extended
bgp dampening 30
exit-address-family
!
address-family ipv4 vrf vpn2
neighbor mm.0.0.1 remote-as 300
neighbor mm.0.0.1 activate
neighbor mm.0.0.1 as-override
neighbor mm.0.0.1 advertisement-interval 5
no auto-summary
no synchronization
bgp dampening 30
exit-address-family

CSC-CE1 Configuration

ip cef
!
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address cc.cc.cc.cc 255.255.255.255
!
interface Ethernet3/0
ip address pp.0.0.1 255.0.0.0
mpls forwarding bgp
!
interface Ethernet4/0
ip address nn.0.0.2 255.0.0.0
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets !Exchange routes
redistribute bgp 200 metric 3 subnets !learned from PE1.
passive-interface ATM1/0
passive-interface Ethernet3/0
network cc.cc.cc.cc 0.0.0.0 area 200
network nn.0.0.0 0.255.255.255 area 200
!
router bgp 200
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor pp.0.0.2 remote-as 100
neighbor pp.0.0.2 update-source Ethernet3/0
no auto-summary
!
address-family ipv4
redistribute connected
redistribute ospf 200 metric 4 match internal
neighbor pp.0.0.2 activate
neighbor pp.0.0.2 send-label
no auto-summary
no synchronization
bgp dampening 30
exit-address-family

CSC-PE1 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn1
rd 100:1
route-target export 100:1
route-target import 100:1
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address dd.dd.dd.dd 255.255.255.255
!
interface Ethernet3/1    =====> interface FastEthernet3/0/1 on a Cisco 10000 series router
ip vrf forwarding vpn1
ip address pp.0.0.2 255.0.0.0
mpls forwarding bgp
!
interface ATM0/1/0
no ip address
!
interface ATM0/1/0.1 point-to-point
ip unnumbered Loopback0
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 100
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets
passive-interface Ethernet3/1
network dd.dd.dd.dd 0.0.0.0 area 100
!
router bgp 100
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor ee.ee.ee.ee remote-as 100
neighbor ee.ee.ee.ee update-source Loopback0
!
address-family vpnv4 !VPNv4 session with CSC-PE2.
neighbor ee.ee.ee.ee activate
neighbor ee.ee.ee.ee send-community extended
bgp dampening 30
exit-address-family
!
address-family ipv4 vrf vpn1
neighbor pp.0.0.1 remote-as 200
neighbor pp.0.0.1 activate
neighbor pp.0.0.1 as-override
neighbor pp.0.0.1 advertisement-interval 5
neighbor pp.0.0.1 send-label
no auto-summary
no synchronization
bgp dampening 30
exit-address-family

CSC-PE2 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn1
rd 100:1
route-target export 100:1
route-target import 100:1
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address ee.ee.ee.ee 255.255.255.255
!
interface Ethernet5/0    =====> interface FastEthernet5/0/0 on a Cisco 10000 series router
ip vrf forwarding vpn1
ip address ss.0.0.2 255.0.0.0
mpls forwarding bgp
no ip route-cache distributed
clock source internal
!
interface ATM2/1/0
no ip address
!
interface ATM2/1/0.1 point-to-point
ip unnumbered Loopback0
no atm enable-ilmi-trap
mpls label protocol ldp
mpls ip
!
router ospf 100
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets
passive-interface Ethernet5/0   ====> passive-interface FastEthernet5/0/0 on a Cisco 10000
passive-interface ATM3/0/0
network ee.ee.ee.ee 0.0.0.0 area 100
!
router bgp 100
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor dd.dd.dd.dd remote-as 100
neighbor dd.dd.dd.dd update-source Loopback0
!
address-family vpnv4 !VPNv4 session with CSC-PE1.
neighbor dd.dd.dd.dd activate
neighbor dd.dd.dd.dd send-community extended
bgp dampening 30
exit-address-family
!
address-family ipv4 vrf vpn1
neighbor ss.0.0.1 remote-as 200
neighbor ss.0.0.1 activate
neighbor ss.0.0.1 as-override
neighbor ss.0.0.1 advertisement-interval 5
neighbor ss.0.0.1 send-label
no auto-summary
no synchronization
bgp dampening 30
exit-address-family

CSC-CE2 Configuration

ip cef
!
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address gg.gg.gg.gg 255.255.255.255
!
interface Ethernet2/2
ip address ss.0.0.2 255.0.0.0
no ip mroute-cache
mpls forwarding bgp
!
interface ATM3/1/0.1 point-to-point
ip address yy.0.0.1 255.0.0.0
mpls label protocol ldp
mpls ip
!
router ospf 200
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets !Exchange routes
redistribute bgp 200 metric 3 subnets !learned from PE2.
passive-interface ATM3/1/0.1
network gg.gg.gg.gg 0.0.0.0 area 200
network ss.0.0.0 0.255.255.255 area 200
!
router bgp 200
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor yy.0.0.2 remote-as 100
neighbor yy.0.0.2 update-source ATM3/1/0.1
no auto-summary
!
address-family ipv4
redistribute connected
redistribute ospf 200 metric 4 match internal
neighbor yy.0.0.2 activate
neighbor yy.0.0.2 send-label
no auto-summary
no synchronization
bgp dampening 30
exit-address-family

PE2 Configuration

redundancy 
mode sso 
ip cef distributed
!
ip vrf vpn2
rd 200:1
route-target export 200:1
route-target import 200:1
!
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address hh.hh.hh.hh 255.255.255.255
!
interface Ethernet3/6    =====> interface FastEthernet3/0/6 on a Cisco 10000 series router
ip vrf forwarding vpn2
ip address tt.0.0.2 255.0.0.0
!
interface ATM5/0.1 point2point
ip address qq.0.0.1 255.0.0.0
no atm enable-ilmi-trap
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
router bgp 200
no bgp default ipv4-unicast
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor bb.bb.bb.bb remote-as 200
neighbor bb.bb.bb.bb update-source Loopback0
!
address-family vpnv4 !VPNv4 session with PE1.
neighbor bb.bb.bb.bb activate
neighbor bb.bb.bb.bb send-community extended
bgp dampening 30
exit-address-family
!
address-family ipv4 vrf vpn2
neighbor tt.0.0.1 remote-as 300
neighbor tt.0.0.1 activate
neighbor tt.0.0.1 as-override
neighbor tt.0.0.1 advertisement-interval 5
no auto-summary
no synchronization
bgp dampening 30
exit-address-family

CE2 Configuration

ip cef
!
interface Loopback0
ip address jj.jj.jj.jj 255.255.255.255
!
interface Ethernet3/6
ip address tt.0.0.1 255.0.0.0
!
router bgp 300
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
no synchronization
bgp log-neighbor-changes
timers bgp 10 30 !Exchange routes
redistribute connected !learned from PE2.
redistribute ospf 300 match internal external 1 external 2
neighbor tt.0.0.2 remote-as 200
neighbor tt.0.0.2 advertisement-interval 5
no auto-summary 

NSF SSO - MPLS VPN for an Inter-AS Network with BGP to Distribute Routes and MPLS Labels Example

In the figure below and in the following example, the NSF/SSO--MPLS VPN feature is configured on the existing MPLS VPN Inter-AS configuration.

Enabling SSO on a Cisco 7500 Series Router

The following commands are used to enable SSO on the routers:

  • hw-module slot
  • redundancy
  • mode sso

The configuration examples are the same for both platforms with the exception that the following configuration boot commands are seen in the beginning of a Cisco 7500 series router configuration (and not in a Cisco 10000 series router configuration):

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz

Enabling SSO on a Cisco 10000 Series Router

The SSO mode is enabled by default.

Enabling NSF on Both the Cisco 7500 Series and Cisco 10000 Series Routers

The following commands are used to enable NSF for the routing protocols, such as BGP and OSPF, and for the label distribution protocols, such as BGP and LDP:

  • bgp graceful-restart restart-time
  • bgp graceful-restart stalepath-time
  • bgp graceful-restart
  • nsf enforce global
  • mpls forwarding bgp

Inter-AS with IPv4 BGP Label Distribution enables you to set up a VPN so that the ASBRs exchange IPv4 routes with MPLS labels of the PE routers. Route reflectors (RRs) exchange VPNv4 routes by using Multihop, Multiprotocol EBGP. This configuration saves the ASBRs from having to store all of the VPNv4 routes. Using the RRs to store the VPNv4 routes and forward them to the PE routers improves scalability.

The figure below shows two MPLS VPN service providers. They distribute VPNv4 addresses between the RRs and IPv4 routes and MPLS labels between ASBRs.



The figure above shows the two techniques you can use to distribute the VPNv4 routes and the IPv4 routes and MPLS labels of remote PEs and RRs to local PEs and RRs:

  • AS 100 uses the route reflectors to distribute the IPv4 routes and MPLS labels and the VPNv4 routes from the ASBR to the PE.
  • In AS 200, the IPv4 routes that ASBR2 learned are redistributed into IGP.

Note


In the configuration examples, the NSF/SSO commands are bold-faced and arrows highlight any platform-specific commands.

RR1 Configuration

The configuration example for RR1 specifies the following:

  • RR1 exchanges VPNv4 routes with RR2, using Multihop, Multiprotocol EBGP.
  • The VPNv4 next hop information and the VPN label are preserved across the autonomous systems.
  • RR1 reflects to PE1 the VPNv4 routes learned from RR2 and the IPv4 routes and MPLS labels learned from ASBR1.
redundancy 
mode sso 
ip subnet-zero
ip cef distributed
!
interface Loopback0
ip address aa.aa.aa.aa 255.255.255.255
!
interface Serial1/2                    =======> Serial1/0/2 on a Cisco 10000 series router
ip address dd.0.0.2 255.0.0.0
clockrate 124061
!
router ospf 10
log-adjacency-changes
auto-cost reference-bandwidth 1000
network aa.aa.aa.aa 0.0.0.0 area 100
network dd.0.0.0 0.255.255.255 area 100
!
router bgp 100
bgp cluster-id 1
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor ee.ee.ee.ee remote-as 100
neighbor ee.ee.ee.ee update-source Loopback0
neighbor ww.ww.ww.ww remote-as 100
neighbor ww.ww.ww.ww update-source Loopback0
neighbor bb.bb.bb.bb remote-as 200
neighbor bb.bb.bb.bb ebgp-multihop 255
neighbor bb.bb.bb.bb update-source Loopback0
no auto-summary
!
address-family ipv4
neighbor ee.ee.ee.ee activate
neighbor ee.ee.ee.ee route-reflector-client !IPv4+labels session to PE1
neighbor ee.ee.ee.ee send-label
neighbor ww.ww.ww.ww activate
neighbor ww.ww.ww.ww route-reflector-client !IPv4+labels session to ASBR1
neighbor ww.ww.ww.ww send-label
no neighbor bb.bb.bb.bb activate
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor ee.ee.ee.ee activate
neighbor ee.ee.ee.ee route-reflector-client !VPNv4 session with PE1
neighbor ee.ee.ee.ee send-community extended
neighbor bb.bb.bb.bb activate
neighbor bb.bb.bb.bb next-hop-unchanged 
!MH-VPNv4 session with RR2 with next hop unchanged
neighbor bb.bb.bb.bb send-community extended 
exit-address-family
!
ip default-gateway 10.3.0.1
no ip classless
!
end

ASBR1 Configuration

ASBR1 exchanges IPv4 routes and MPLS labels with ASBR2.

redundancy 
mode sso 
ip cef distributed
ip subnet-zero
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address ww.ww.ww.ww 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Ethernet0/2    =====> interface FastEthernet1/0/2 on a Cisco 10000 series router
ip address hh.0.0.2 255.0.0.0
no ip mroute-cache
mpls forwarding bgp
!
interface Ethernet0/3    =====> interface FastEthernet1/0/3 on a Cisco 10000 series router
ip address dd.0.0.1 255.0.0.0
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
router ospf 10
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets
passive-interface Ethernet0/2  =====> passive-interface FastEthernet1/0/2 on a Cisco 10000
network ww.ww.ww.ww 0.0.0.0 area 100
network dd.0.0.0 0.255.255.255 area 100
!
router bgp 100
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor aa.aa.aa.aa remote-as 100
neighbor aa.aa.aa.aa update-source Loopback0
neighbor hh.0.0.1 remote-as 200
no auto-summary
! Redistributing IGP into BGP
! so that PE1 & RR1 loopbacks
! get into the BGP table.
address-family ipv4 
redistribute ospf 10 
neighbor aa.aa.aa.aa activate 
neighbor aa.aa.aa.aa send-label
neighbor hh.0.0.1 activate
neighbor hh.0.0.1 advertisement-interval 5
neighbor hh.0.0.1 send-label
no auto-summary
no synchronization
exit-address-family
!
ip default-gateway 10.3.0.1
ip classless
end

RR2 Configuration

RR2 exchanges VPNv4 routes with RR1 through Multihop, Multiprotocol EBGP. In this configuration, the next hop information and the VPN label are preserved across the autonomous systems.

ip subnet-zero
ip cef
!
interface Loopback0
ip address bb.bb.bb.bb 255.255.255.255
!
interface Serial1/1
ip address ii.0.0.2 255.0.0.0
no ip mroute-cache
!
router ospf 20
log-adjacency-changes
network bb.bb.bb.bb 0.0.0.0 area 200
network ii.0.0.0 0.255.255.255 area 200
!
router bgp 200
bgp cluster-id 1
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor aa.aa.aa.aa remote-as 100
neighbor aa.aa.aa.aa ebgp-multihop 255
neighbor aa.aa.aa.aa update-source Loopback0
neighbor ff.ff.ff.ff remote-as 200
neighbor ff.ff.ff.ff update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor aa.aa.aa.aa activate
neighbor aa.aa.aa.aa next-hop-unchanged 
!Multihop VPNv4 session with RR1 with next-hop unchanged
neighbor aa.aa.aa.aa send-community extended 
neighbor ff.ff.ff.ff activate
neighbor ff.ff.ff.ff route-reflector-client !VPNv4 session with PE2
neighbor ff.ff.ff.ff send-community extended
exit-address-family
!
ip default-gateway 10.3.0.1
no ip classless
end

ASBR2 Configuration

ASBR2 exchanges IPv4 routes and MPLS labels with ASBR1. However, in contrast to ASBR1, ASBR2 does not use the RR to reflect IPv4 routes and MPLS labels to PE2. ASBR2 redistributes the IPv4 routes and MPLS labels learned from ASBR1 into IGP. PE2 can reach these prefixes.

ip subnet-zero
ip cef
!
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address xx.xx.xx.xx 255.255.255.255
!
interface Ethernet1/0
ip address hh.0.0.1 255.0.0.0
no ip mroute-cache
mpls forwarding bgp
!
interface Ethernet1/2
ip address jj.0.0.1 255.0.0.0
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
router ospf 20
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets
redistribute bgp 200 subnets 
passive-interface Ethernet1/0
! redistributing the routes learned from ASBR1
!(EBGP+labels session) into IGP so that PE2 
! will learn them
network xx.xx.xx.xx 0.0.0.0 area 200 
network jj..0.0 0.255.255.255 area 200
!
router bgp 200
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor bb.bb.bb.bb remote-as 200
neighbor bb.bb.bb.bb update-source Loopback0
neighbor hh.0.0.2 remote-as 100
no auto-summary
!
address-family ipv4
redistribute ospf 20 
! Redistributing IGP into BGP
! so that PE2 & RR2 loopbacks
! will get into the BGP-4 table
neighbor hh.0.0.2 activate 
neighbor hh.0.0.2 advertisement-interval 5 
neighbor hh.0.0.2 send-label
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor bb.bb.bb.bb activate
neighbor bb.bb.bb.bb send-community extended
exit-address-family
!
ip default-gateway 10.3.0.1
ip classless
!
end

NSF SSO - MPLS VPN for an Inter-AS Network That Uses BGP over a Non-MPLS VPN Service Provider Example

In this example, the NSF/SSO--MPLS VPN feature is configured on an existing MPLS VPN.

Enabling SSO on a Cisco 7500 Series Router

The following commands are used to enable SSO on the routers:

  • hw-module slot
  • redundancy
  • mode sso

The configuration examples are the same for both platforms with the exception that the following configuration boot commands are seen in the beginning of a Cisco 7500 series router configuration (and not in a Cisco 10000 series router configuration):

boot system slot0:rsp-pv-mz 
hw-module slot 2 image slot0:rsp-pv-mz 
hw-module slot 3 image slot0:rsp-pv-mz

Enabling SSO on a Cisco 10000 Series Router

The SSO mode is enabled by default.

Enabling NSF on Both the Cisco 7500 Series and Cisco 10000 Series Routers

The following commands are used to enable NSF for the routing protocols, such as BGP and OSPF, and for the label distribution protocols, such as BGP and LDP:

  • bgp graceful-restart restart-time
  • bgp graceful-restart stalepath-time
  • bgp graceful-restart
  • nsf enforce global
  • mpls forwarding bgp

The figure below shows two MPLS VPN service providers that are connected through a non-MPLS VPN service provider. The autonomous system in the middle of the network is configured as a backbone autonomous system that uses LDP to distribute MPLS labels. You can also use traffic engineering tunnels instead of LDP to build the LSP across the non-MPLS VPN service provider.




Note


In the configuration examples, the NSF/SSO commands are bold-faced and arrows highlight any platform-specific commands.

RR1 Configuration

The configuration example for RR1 specifies the following:

  • RR1 exchanges VPNv4 routes with RR2, using Multihop, Multiprotocol EBGP.
  • The VPNv4 next hop information and the VPN label are preserved across the autonomous systems.
  • RR1 reflects to PE1 the VPNv4 routes learned from RR2 and the IPv4 routes and MPLS labels learned from ASBR1.
ip subnet-zero
ip cef
!
interface Loopback0
ip address aa.aa.aa.aa 255.255.255.255
!
interface Serial1/2
ip address dd.0.0.2 255.0.0.0
clockrate 124061
!
router ospf 10
log-adjacency-changes
auto-cost reference-bandwidth 1000
network aa.aa.aa.aa 0.0.0.0 area 100
network dd.dd.0.0.0 0.255.255.255 area 100
!
router bgp 100
bgp cluster-id 1
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor ee.ee.ee.ee remote-as 100
neighbor ee.ee.ee.ee update-source Loopback0
neighbor ww.ww.ww.ww remote-as 100
neighbor ww.ww.ww.ww update-source Loopback0
neighbor bb.bb.bb.bb remote-as 200
neighbor bb.bb.bb.bb ebgp-multihop 255
neighbor bb.bb.bb.bb update-source Loopback0
no auto-summary
!
address-family ipv4
neighbor ee.ee.ee.ee activate
neighbor ee.ee.ee.ee route-reflector-client !IPv4+labels session to PE1
neighbor ee.ee.ee.ee send-label
neighbor ww.ww.ww.ww activate
neighbor ww.ww.ww.ww route-reflector-client !IPv4+labels session to ASBR1
neighbor ww.ww.ww.ww send-label
no neighbor bb.bb.bb.bb activate
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor ee.ee.ee.ee activate
neighbor ee.ee.ee.ee route-reflector-client !VPNv4 session with PE1
neighbor ee.ee.ee.ee send-community extended
neighbor bb.bb.bb.bb activate
neighbor bb.bb.bb.bb next-hop-unchanged 
!MH-VPNv4 session with RR2 with next-hop-unchanged
neighbor bb.bb.bb.bb send-community extended 
exit-address-family
!
ip default-gateway 10.3.0.1
no ip classless
!
snmp-server engineID local 00000009020000D0584B25C0
snmp-server community public RO
snmp-server community write RW
no snmp-server ifindex persist
snmp-server packetsize 2048
!
end

ASBR1 Configuration

ASBR1 exchanges IPv4 routes and MPLS labels with ASBR2.

redundancy 
mode sso 
ip subnet-zero
ip cef distributed 
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address ww.ww.ww.ww 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Serial3/0/0
ip address kk.0.0.2 255.0.0.0
mpls forwarding bgp
ip route-cache distributed
!
interface Ethernet0/3
ip address dd.0.0.1 255.0.0.0
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
router ospf 10
log-adjacency-changes
nsf enforce global 
auto-cost reference-bandwidth 1000
redistribute connected subnets
passive-interface Serial3/0/0
network ww.ww.ww.ww 0.0.0.0 area 100
network dd.0.0.0 0.255.255.255 area 100
!
router bgp 100
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor aa.aa.aa.aa remote-as 100
neighbor aa.aa.aa.aa update-source Loopback0
neighbor kk.0.0.1 remote-as 200
no auto-summary
!
address-family ipv4
redistribute ospf 10 ! Redistributing IGP into BGP
neighbor aa.aa.aa.aa activate ! so that PE1 & RR1 loopbacks
neighbor aa.aa.aa.aa send-label ! get into BGP table
neighbor kk.0.0.1 activate
neighbor kk.0.0.1 advertisement-interval 5
neighbor kk.0.0.1 send-label
no auto-summary
no synchronization
exit-address-family
!
ip default-gateway 10.3.0.1
ip classless
!
end

RR2 Configuration

RR2 exchanges VPNv4 routes with RR1, using Multihop, Multiprotocol EBGP. This configuration also preserves the next hop information and the VPN label across the autonomous systems.

ip subnet-zero
ip cef
!
interface Loopback0
ip address bb.bb.bb.bb 255.255.255.255
!
interface Serial1/1
ip address ii.0.0.2 255.0.0.0
no ip mroute-cache
!
router ospf 20
log-adjacency-changes
network bb.bb.bb.bb 0.0.0.0 area 200
network ii.0.0.0 0.255.255.255 area 200
!
router bgp 200
bgp cluster-id 1
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor aa.aa.aa.aa remote-as 100
neighbor aa.aa.aa.aa ebgp-multihop 255
neighbor aa.aa.aa.aa update-source Loopback0
neighbor ff.ff.ff.ff remote-as 200
neighbor ff.ff.ff.ff update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor aa.aa.aa.aa activate
neighbor aa.aa.aa.aa next-hop-unchanged 
!MH Vpnv4 session with RR1 with next-hop-unchanged
neighbor aa.aa.aa.aa send-community extended 
neighbor ff.ff.ff.ff activate
neighbor ff.ff.ff.ff route-reflector-client !Vpnv4 session with PE2
neighbor ff.ff.ff.ff send-community extended
exit-address-family
!
ip default-gateway 10.3.0.1
no ip classless
!
end

ASBR2 Configuration

ASBR2 exchanges IPv4 routes and MPLS labels with ASBR1. However, in contrast to ASBR1, ASBR2 does not use the RR to reflect IPv4 routes and MPLS labels to PE2. Instead, ASBR2 redistributes the IPv4 routes and MPLS labels learned from ASBR1 into IGP. PE2 can now reach these prefixes.

redundancy 
mode sso 
ip subnet-zero
ip cef distributed
!
mpls ldp graceful-restart
mpls label protocol ldp
!
interface Loopback0
ip address xx.xx.xx.xx 255.255.255.255
!
interface Ethernet0/1    =====> interface FastEthernet1/0/1 on a Cisco 10000 series router
ip address qq.0.0.2 255.0.0.0
mpls forwarding bgp
!
interface Ethernet1/2    =====> interface FastEthernet1/1/2 on a Cisco 10000 series router
ip address jj.0.0.1 255.0.0.0
no ip mroute-cache
mpls label protocol ldp
mpls ip
!
router ospf 20
log-adjacency-changes
auto-cost reference-bandwidth 1000
nsf enforce global 
redistribute connected subnets
redistribute bgp 200 subnets 
!redistributing the routes learned from ASBR4
!(EBGP+labels session) into IGP so that PE2 
!will learn them
passive-interface Ethernet0/1   ====> passive-interface FastEthernet1/0/1 on a Cisco 10000
network xx.xx.xx.xx 0.0.0.0 area 200 
network jj.0.0.0 0.255.255.255 area 200
!
router bgp 200
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor bb.bb.bb.bb remote-as 200
neighbor bb.bb.bb.bb update-source Loopback0
neighbor qq.0.0.1 remote-as 100
no auto-summary
!
address-family ipv4 
! Redistributing IGP into BGP redistribute ospf 20 
! so that PE2 & RR2 loopbacks
! will get into the BGP-4 table
neighbor qq.0.0.1 activate 
neighbor qq.0.0.1 advertisement-interval 5
neighbor qq.0.0.1 send-label
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor bb.bb.bb.bb activate
neighbor bb.bb.bb.bb send-community extended
exit-address-family
!
ip default-gateway 10.3.0.1
ip classless
!
end

ASBR3 Configuration

ASBR3 belongs to a non-MPLS VPN service provider. ASBR3 exchanges IPv4 routes and MPLS labels with ASBR1. ASBR3 also passes the routes learned from ASBR1 to ASBR3 through RR3.


Note


Do not redistribute EBGP routes learned into internal BGP if you are using IBGP to distribute the routes and labels. This is not a supported configuration.
ip subnet-zero
ip cef
!
interface Loopback0
ip address yy.yy.yy.yy 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Hssi4/0                        ========> only on a Cisco 7500 series router
ip address mm.0.0.0.1 255.0.0.0      ========> only on a Cisco 7500 series router
no ip mroute-cache                   ========> only on a Cisco 7500 series router
mpls ip                              ========> only on a Cisco 7500 series router
hssi internal-clock                  ========> only on a Cisco 7500 series router
!
interface Serial5/0                   ========>
 Serial5/0/0 on a Cisco 10000 series router
ip address kk.0.0.1 255.0.0.0
no ip mroute-cache
load-interval 30
clockrate 124061
mpls forwarding bgp
!
router ospf 30
log-adjacency-changes
auto-cost reference-bandwidth 1000
redistribute connected subnets
network yy.yy.yy.yy 0.0.0.0 area 300
network mm.0.0.0 0.255.255.255 area 300   ========> only on a Cisco 7500 series router
!
router bgp 300
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor cc.cc.cc.cc remote-as 300
neighbor cc.cc.cc.cc update-source Loopback0
neighbor kk.0.0.2 remote-as 100
no auto-summary
!
address-family ipv4
neighbor cc.cc.cc.cc activate ! IBGP+labels session with RR3
neighbor cc.cc.cc.cc send-label
neighbor kk.0.0.2 activate ! EBGP+labels session with ASBR1
neighbor kk.0.0.2 advertisement-interval 5
neighbor kk.0.0.2 send-label
no auto-summary
no synchronization
exit-address-family
!
end

RR3 Configuration

RR3 is a non-MPLS VPN RR that reflects IPv4 routes with MPLS labels to ASBR3 and ASBR4.

ip subnet-zero
!
interface Loopback0
ip address cc.cc.cc.cc 255.255.255.255
!
interface POS0/2              =========> interface POS1/0/2 on a Cisco 10000 series router
ip address pp.0.0.1 255.0.0.0
no ip route-cache cef
no ip route-cache
no ip mroute-cache
crc 16
clock source internal
!
router ospf 30
log-adjacency-changes
network cc.cc.cc.cc 0.0.0.0 area 300
network pp.0.0.0 0.255.255.255 area 300
!
router bgp 300
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
neighbor zz.zz.zz.zz remote-as 300
neighbor zz.zz.zz.zz update-source Loopback0
neighbor yy.yy.yy.yy remote-as 300
neighbor yy.yy.yy.yy update-source Loopback0
no auto-summary
!
address-family ipv4
neighbor zz.zz.zz.zz activate
neighbor zz.zz.zz.zz route-reflector-client
neighbor zz.zz.zz.zz send-label ! IBGP+labels session with ASBR3
neighbor yy.yy.yy.yy activate
neighbor yy.yy.yy.yy route-reflector-client
neighbor yy.yy.yy.yy send-label ! IBGP+labels session with ASBR4
no auto-summary
no synchronization
exit-address-family
!
ip default-gateway 10.3.0.1
ip classless
!
end

ASBR4 Configuration

ASBR4 belongs to a non-MPLS VPN service provider. ASBR4 and ASBR3 exchange IPv4 routes and MPLS labels by means of RR3.


Note


If you use IBGP to distribute the routes and labels, do not redistribute EBGP learned routes into IBGP. This is not a supported configuration.
redundancy 
mode sso 
mpls ldp graceful-restart
ip subnet-zero
ip cef distributed
!
interface Loopback0
ip address zz.zz.zz.zz 255.255.255.255
no ip route-cache
no ip mroute-cache
!
interface Ethernet0/2    =====> interface FastEthernet1/0/2 on a Cisco 10000 series router
ip address qq.0.0.1 255.0.0.0
no ip mroute-cache
mpls forwarding bgp
!
interface POS1/1/0
ip address pp.0.0.2 255.0.0.0
ip route-cache distributed
!
interface Hssi2/1/1                        ========> only on a Cisco 7500 series router
ip address mm.0.0.2 255.0.0.0          ========> only on a Cisco 7500 series router
ip route-cache distributed       ========> only on a Cisco 7500 series router
no ip mroute-cache               ========> only on a Cisco 7500 series router
mpls label protocol ldp          ========> only on a Cisco 7500 series router
mpls ip                          ========> only on a Cisco 7500 series router
hssi internal-clock              ========> only on a Cisco 7500 series router
!
router ospf 30
log-adjacency-changes
nsf enforce global 
auto-cost reference-bandwidth 1000
redistribute connected subnets
passive-interface Ethernet0/2   ====> passive-interface FastEthernet1/0/2 on a Cisco 10000
network zz.zz.zz.zz 0.0.0.0 area 300
network pp.0.0.0 0.255.255.255 area 300
network mm.0.0.0 0.255.255.255 area 300
!
router bgp 300
bgp log-neighbor-changes
bgp graceful-restart restart-time 120 
bgp graceful-restart stalepath-time 360 
bgp graceful-restart 
timers bgp 10 30
neighbor cc.cc.cc.cc remote-as 300
neighbor cc.cc.cc.cc update-source Loopback0
neighbor qq.0.0.2 remote-as 200
no auto-summary
!
address-family ipv4
neighbor cc.cc.cc.cc activate
neighbor cc.cc.cc.cc send-label
neighbor qq.0.0.2 activate
neighbor qq.0.0.2 advertisement-interval 5
neighbor qq.0.0.2 send-label
no auto-summary
no synchronization
exit-address-family
!
ip classless
end 

Additional References

The following sections provide additional information related to the NSF/SSO - MPLS VPN feature.

Related Documents

Related Topic

Document Title

Nonstop forwarding and BGP Graceful Restart

Cisco Nonstop Forwarding

Nonstop forwarding for MPLS LDP

NSF/SSO-MPLS LDP and MPLS LDP Graceful Restart

Stateful awitchover

Stateful Switchover

Basic VPNs, MPLS VPN interautonomous systems, MPLS VPN Carrier Supporting Carrier

Configuring MPLS VPNs

Standards

Standards

Title

draft-ietf-mpls-bgp-mpls-restart.txt

Graceful Restart Mechanism for BGP with MPLS

draft-ietf-mpls-idr-restart.txt

Graceful Restart Mechanism for BGP

MIBs

MIBs

MIBs Link

MPLS VPN MIB

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFCs

Title

RFC 1163

A Border Gateway Protocol

RFC 1164

Application of the Border Gateway Protocol in the Internet

RFC 2283

Multiprotocol Extensions for BGP-4

RFC 2547

BGP/MPLS VPNs

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. If you have a valid service contract but do not have a user ID or password, you can register on Cisco.com.

http://www.cisco.com/techsupport

Feature Information for NSF SSO - MPLS VPN

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Table 1 Feature Information for NSF/SSO - MPLS VPN

Feature Name

Releases

Feature Information

NSF/SSO--MPLS VPN

12.2(25)S 12.2(28)SB 12.2(33)SRA 12.2(33)SXH

This feature allows a provider edge (PE) router or Autonomous System Border Router (ASBR) (with redundant Route Processors) to preserve data forwarding information in a Multiprotocol Label Switching (MPLS) Virtual Private Network (VPN) when the primary Route Processor restarts.

In 12.2(25)S, this feature was introduced on the Cisco 7500 series router.

In 12.2(28)SB, support was added for the Cisco 10000 series routers.

In 12.2(33)SRA, support was added for the Cisco 7600 series routers.

In 12.2(33)SXH, this feature was integrated into this release.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2012 Cisco Systems, Inc. All rights reserved.