
Introduction
This implementation of LDP complies with RFC 3036 "LDP Specification".
For this release, the Avici router functions only as a midpoint for LDP signalled LSPs. The LDP ingress and egress functions are performed by edge routers from other vendors. The Avici implementation of LDP supports:
- Downstream Unsolicited (DU) label distribution wherein the Avici router may distribute labels to other LSRs that have not explicitly requested them.
- "Liberal" label retention wherein all label mappings received from a peer are retained regardless of whether the peer is the next hop for the mapping.
- LDP across all Avici router Packet Over SONET (POS) interfaces, Gigabit Ethernet and composite links.
- LDP-ECMP support for up to eight next-hop LSRs for LDP routes.
- LDP over parallel links providing the ability to form multiple LDP sessions with the same LSR across different interfaces by configuring unique label-space-ids per interface.
IPriori supports hitless failover capabilities for LDP. LDP state will remain up and forward LDP-based data packets across a failover on all NSR®-supported hardware. This NSR® functionality supports the system in a mic-point role in Downstream Unsolicited mode for LDP label propagation and creation, Liberal Label Retention mode for LDP label allocation, and Independent Control mode for LSP setup.
Overview of LDP Configuration Tasks
Since this release of LDP supports only midpoint functionality, the steps to configure LDP on an Avici router are very simple. Briefly, you must:
- Globally enable LDP on the Avici router so that the Avici router will recognize LDP signalling from other LDP routers.
- Enable LDP over those interfaces that will operate as either an insegment or outsegment of an LDP signalled tunnel. In the case where parallel LDP links connect two routers, configure a unique label-space-id for each link.
- Auto enable LDP on all interfaces.
- Optionally modify the default values for the LDP keepalive timeout and hello timer to match the values of the egress and ingress routers.
- Configure LDP OSPF recovery to minimize loss of data during periods of LDP/OSPF instability.
- Optionally modify the default value for LDP-ECMP to allow up to eight next-hop LSRs for LDP routes.
- Enable LDP on existing tunnels, both those signalled using LDP and those signalled using RSVP.
- Optionally, enable LDP SNMP traps.
- Display the LDP configuration.
Enable LDP on the Avici router
You must globally enable LDP on the Avici router before you can enable LDP on an interface or over a tunnel.
PROCEDURE: Use the following steps to globally enable LDP on the Avici router:
Step 1 Use the mpls ldp command in Configuration command mode to globally enable LDP on the Avici router. For example:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#mpls ldp
router(config)#end
router# show mpls ldp
LDP status is administratively up.
router#
Enable LDP on Interfaces
To enable legacy edge routers to use Avici router interfaces as segments for an LDP tunnel, you must enable LDP on those interfaces.
PROCEDURE: Use the following steps to enable LDP on POS interfaces:
Step 1 Use the interface pos or the interface composite-link command in Configuration command mode to identify a specific interface or composite link and change the command mode to Interface configuration.
Step 2 Use the mpls ldp command in Interface configuration command mode to enable LDP on an individual POS interface or composite link.
Step 3 Use the show mpls ldp entity command to display the new LDP entity.
For example:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/1/3
router(config-if)#mpls ldp
router(config-if-ldp)#end
router#show mpls ldp entity interface pos 1/1/3
POS 1/1/1 LDP is up
LDP Id: ipAddr 10.10.10.10, label space id 0
Protocol Version: 1
Loop Detection: enabled Vector Limit: 255
Hold Time: session keep-alive is 40, hello is 15
Neighbor Count: 1, Attempted Sessions: 1
Session Init Threshold: 8
Notifications:
0 reject/no hello
0 rejected advertisements
0 session max PDU length
0 session label range
0 shutdown received
0 shutdown sent
Errors:
0 bad LDP identifier
0 bad PDU length
0 bad message length
0 bad TLV length
0 malformed TLV
0 keep-alive timer expired
or:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface composite-link Bos2NY
router(config-if)#mpls ldp
router(config-if-ldp)#end
Auto-Configuring LDP
LDP auto-configuration allows for enabling or disabling of LDP on all interfaces with a single command entered in MPLS LDP command mode. The auto-config all command entered in MPLS LDP command mode enables LDP on all interfaces for this router, with the exception of all interfaces that have been manually configured for LDP with a label-space-ID in the 1000 to 5000 range. LDP auto-configuration first deletes any pre-existing LDP configuration associated with the interface before enabling LDP on the interface with default values. A label-space-ID is auto-assigned to the interface.
Once LDP auto-configuration is enabled, LDP configuration can be disabled per interface using the no ldp-auto-config command in interface configuration mode. Entering the no ldp-auto-config command is allowed when auto-configuration of LDP is not enabled, but will not take affect until the auto-config all command is entered. The auto-config all command will not over-ride an existing no ldp-auto-config configuration on an interface. Enter the ldp-auto-config command to over-ride a no ldp-auto-config configuration.
NOTE The auto-config all command does not apply to interfaces configured with a label-space ID between 1000 and 5000. These interfaces remain unchanged.
Use the no auto-config command in MPLS LDP configuration command mode to disable LDP auto-configuration on this router. All configuration associated with LDP auto-configuration is deleted when using the no auto-config command, including any no ldp-auto-config configuration.
Example 1: In the following example LDP auto-configuration is enabled on this router and LDP auto-configuration is disabled on interface 1/7/2:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#mpls ldp
router(config-ldp)#auto-config all
router(config-ldp)quit
router(config)#interface pos 1/7/2
router(config-if)#no ldp-auto-config
router(config-if)#end
router#show mpls ldp
LDP status is administratively up.
LDP Auto configuration enabled.
router#show mpls ldp entity interface pos 1/7/2
POS 1/7/2 LDP is up
LDP Id: ipAddr 101.101.101.101, label space id 0
Protocol Version: 1
Loop Detection: disabled
Hold Time: session keep-alive is 40, hello is 15
Neighbor Count: 1, Attempted Sessions: 3
Session Init Threshold: 8
LDP auto configuration is disabled.
.
.
.
router#
Example 2: In the following example LDP auto-configuration is disabled on this router:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#mpls ldp
router(config-ldp)#no auto-config all
router(config-ldp)#end
router#
Configuring LDP on Parallel Links
LDP traffic can only be forwarded over interfaces on which an active LDP session has been established. The ability to form multiple LDP sessions with the same physical peer LSR across different interfaces requires the configuration of a unique interface label-space-id for each parallel link. Assigning a unique LDP Label Space ID to each interface ensures that all LDP adjacencies will be able to establish an LDP session. LDP is not supported for multiple links between two routers where unique label-space-ids are not specified for each link.
Use the mpls ldp label-space-id command in interface mode to specify a unique label-space-id for the interface. The label-space-id defaults to 0 when not specified.
Use the no mpls ldp label-space-id command to reset the label-space-id to the default value for this interface.
Example: The following example assigns unique label-space-ids to two parallel interfaces connecting the same LSRs:
- The interface pos 1/1/3 and interface pos 1/1/4 commands identify specific interfaces and change the command mode to Interface Configuration.
- The mpls ldp label-space-id command enables LDP on the specified interface, creates an LDP entity associated with the interface, assigns a label-space-id to each interface, and changes the command mode to Interface LDP configuration.
- The show mpls ldp entity command shows the new LDP entities:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/1/3
router(config-if)#mpls ldp label-space-id 1
router(config-if-ldp)#end
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/1/4
router(config-if)#mpls ldp label-space-id 2
router(config-if-ldp)#end
router#show mpls ldp entity
POS 1/1/3 LDP is up
LDP Id: ipAddr 10.10.10.10, label space id 1
Protocol Version: 1
Loop Detection: enabled Vector Limit: 255
.
.
.
POS 1/1/4 LDP is up
LDP Id: ipAddr 10.10.10.10, label space id 2
Protocol Version: 1
Loop Detection: enabled Vector Limit: 255
Configuring Multiple LDP-ECMP Next Hops
With ECMP support, an LDP LSP can have more than one outgoing next-hop interface. LDP-ECMP midpoint functionality supports up to eight outgoing interfaces per ECMP set per module at a mid-point node. POS, Gigabit Ethernet and composite-link interfaces are supported. Each composite-link is counted as a single interface. If LDP-ECMP is enabled, the discovery of an ECMP candidate is transparent and requires no further action by the user. The LDP-ECMP supports 64 ECMP sets per Avici router.
Use the ecmp-max-paths command to specify either a single or up-to eight ECMP next-hop LSRs for LDP routes.
Use the no ecmp-max-paths command to reset the ECMP maximum next-hops value to the default of 1
Example 1: The following example sets the maximum number of ECMP next-hops for this routers LDP routes to 8:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#mpls ldp
router(config-ldp)#ecmp-max-paths 8
router(config-ldp)#end
router#
Example 2: The following example sets the maximum number of ECMP next-hops for this routers LDP routes to the default value:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#mpls ldp
router(config-ldp)#no ecmp-max-paths
router(config-ldp)#end
router#
Modify LDP Defaults
The LDP default values for:
- The hello hold timer (the number of seconds this LDP node waits for a hello message before declaring the connection to a peer to be down) is 15 seconds.
- The keepalive timeout (the number of seconds between keepalive messages from an LDP neighbor that LDP waits before declaring the LDP session to that peer down) is 40 seconds.
- The maximum number of entries allowed in the path vector list before LDP determines that the packet has traversed a loop is 255.
- The the number of unsuccessful initialization messages the LDP entity sends to a peer before sending an SNMP notification is 8.
PROCEDURE: Use the following steps to modify these values:
Step 1 Use the interface pos or the interface composite-link command in Configuration command mode to identify a specific interface or composite link and change the command mode to Interface configuration.
Step 2 Use the mpls ldp command in Interface configuration command mode to enable LDP on an individual POS interface, create an LDP entity, and change the command mode to LDP configuration,
Step 3 Use the hello hold-time seconds command to modify the value of the hello hold timer.
Step 4 Use the keepalive timeout seconds command to modify the value of the keepalive timeout.
Step 5 Use the path-vector value command to enable loop detection and modify the number of intermediate LSRs that a packet can traverse before LDP determines that it is in a loop.
Step 6 Use the ecmp-max-paths command to specify either a single (1) or up-to four (4) ECMP next-hop LSRs for LDP routes.
Step 7 Use the sess-init-threshold value command to modify the number of unsuccessful initialization messages the LDP entity sends to a peer before sending an SNMP notification.
For example:
router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#interface pos 1/1/1 router(config-if)#mpls ldp router(config-if-ldp)#hello hold-time 20 router(config-if-ldp)#keepalive timeout 45 router(config-if-ldp)#sess-init-threshold 42 router(config-if-ldp)#path-vector 245 router(config-if-ldp)#ecmp-max-paths 4 router(config-if-ldp)#end router#show mpls ldp entity interface pos 1/1/1 POS 1/1/1 LDP is up LDP Id: ipAddr 222.0.0.1, label space id 0 Protocol Version: 1 Loop Detection: enabled Vector Limit: 245 Hold Time: session keep-alive is 45, hello is 20 Maximum ECMP paths is 4 Session Init Threshold: 42 Neighbor Count: 1, Attempted Sessions: 0 Notifications: 0 reject/no hello 0 shutdown received 0 shutdown sent Errors: 0 keep-alive timer expired 0 session max PDU length 0 session label range 0 bad LDP identifier 0 bad PDU length 0 bad message length 0 bad TLV length 0 malformed TLV
Configuring LDP OSPF Recovery
LDP OSPF recovery minimizes loss of data during periods of LDP/OSPF instability. When LDP and the IGP are out of synch, traffic can be black holed. An LDP session going down while OSPF continues to treat the interface as a low-cost link is a major cause of traffic loss. Enabling LDP OSPF recovery globally on the Avici router sets a maximum cost for OSPF links during periods of LDP OSPF instability. LDP OSPF recovery can also be disabled on an interface basis.
Black holing can occur for low cost links from:
- User errors such as removing the LDP configuration
- Software defects, which might result in the LDP configuration being removed accidentally
- OSPF converging before LDP during session bring-up
Costing out OSPF links during LDP instability can minimize traffic loss. LDP OSPF recovery can be enabled globally or per interface.
Use the ldp-max-metric command in OSPF router command mode to enable LDP OSPF recovery on the Avici router.
Use the no ldp-max-metric command in OSPF router command mode to disable LDP OSPF recovery on the Avici router. LDP OSPF recovery is globally disabled by default.
Use the no ip ospf ldp-max-metric command in interface command mode to disable LDP OSPF recovery on this interface. This command overrides the global setting.
Example 1: In the following example LDP OSPF recovery is enabled for OSPF router 12:
router(config)#router ospf 12
router(config-router)#ldp-max-metric
router(config-router)end
router#
Example 2: In the following example LDP OSPF recovery is disabled for OSPF router 12 and enabled for link 1/2/1:
router(config)#router ospf 12
router(config-router)#no ldp-max-metric
router(config-router)quit
router(config)#interface pos 1/2/1
router(config-if)#ldp-max-metric
router(config-if)#end
router#
Enable LDP on Tunnels
Enabling LDP over a tunnel creates a LDP entity. LDP has no affinity for the tunnel over which it is enabled. Instead, LDP has affinity for the egress of the tunnel. Disabling LDP by using the no ldp command or by removing all tunnels with the egress destroys the LDP entity.
Refer to the chapter describing "Configuring Traffic Engineering".
PROCEDURE: Use the following steps to enable LDP on a specific tunnel:
Step 1 Use the mpls te protocol command to enable MPLS and change the command mode to TE configuration.
Step 2 Use the tunnel name command to identify a specific traffic engineering tunnel and change the command mode to TE tunnel configuration.
Step 3 Use the type ldp-adjacent command to enable LDP over the tunnel.
For example:
router#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#mpls te ospf
router(config-te)#tunnel oc12toBos
router(config-te-tunnel)#type ldp-adjacent
router(config-te-tunnel)#end
router#show mpls te tunnel
tunnel oc12toBos
Created 2001/04/17 16:07:37
last: up 2001/04/17 16:09:47 down (never)
change (never) reroute (never)
elapsed: up 211.749s down 0.000s
num: setups 1 change attempts 0 changes 0
manual resets 0 reroute attempts 0 reroutes 0
down 0 preemptions 0 path lost 0
Using LSP id 1 state "up"
created: 2001/04/17 16:09:47 routes installed: yes
Configuration:
shortcut
egress 20.20.20.20
type ldp-adjacent
Clearing an LDP Inactive FEC
If the LDP control plane should be placed in a bad state such as Idle or no longer having a route to it, it is desirable to clear the state and trigger a recomputation process to fix the FEC. LDP inactive FEC is cleared using the clear ldp inactive-fec command specifying a specific prefix and length or specifying all for all prefixes.
Current statistics for the FEC tree state can be displayed using the show mpls ldp fec-tree command.
Configuring LDP FEC Verification
LDP FEC verification provides for the discovery and reporting of software to hardware inconsistencies that can cause black holing of traffic, resulting in discarded or mis-forwarded data. Inconsistent state refers to LDP FEC information stored across multiple software and hardware components in the route controller or modules that doesn't agree with respect to the primary source of data reference. Some inconsistencies may be due to transient states caused by changes in network topologies. Verification may fail if the verification process is ongoing during a period of transients. This failure prevents the false reporting of transient states as inconsistencies.
LDP FEC verification is manually initiated at the CLI using a set of commands. Periodic LDP FEC verification can be configured using a separate command specifying the period between automatic verification. Inconsistencies discovered using periodic LDP FEC verification are reported using traps.
Verification can be configured for all addresses, a range of addresses, or a specific address. The module check can be by-passed for quicker route controller component checking. A specific ingress or egress interface can be optionally specified.
Use the from-interface keyword to perform the verification only on a specific ingress interface.
Use the to-interface keyword to perform the verification only on a specific egress interface.
Use the no-module-check keyword to perform the verification only on the route controller components.
In the syntax formats below ipAddress specifies an IP address/Mask combination.
Complete syntax for LDP FEC verification commands are as follows:
Verifying all LDP FECs:
Syntax: verify ldp fec all [from-interface {pos | gbe | composite-link | aggregate-link} interfaceID] [to-interface {pos | gbe | composite-link | aggregate-link} interfaceID] [no-module-check]
Verifying a range of LDP FECs:
Syntax: verify ldp fec prefix range start ipAddress [end ipAddress] [from-interface {pos | gbe | composite-link | aggregate-link} interfaceID] [to-interface {pos | gbe | composite-link | aggregate-link} interfaceID] [no-module-check]
Verifying a specific LDP FEC:
Syntax: verify ldp fec ipAddress [from-interface {pos | gbe | composite-link | aggregate-link} interfaceID] [to-interface {pos | gbe | composite-link | aggregate-link} interfaceID] [no-module-check]
An automatic periodic verification can be configured with traps reporting any inconsistencies found. This feature defaults to 60 seconds and can be disabled by configuring for 0 seconds. Configuring a periodic LDP FEC verification:
Syntax: verify mpls ldp fec periodic [seconds]
Example 1: In the following example the verify ldp fec all command verifies all LDP FECs for this router:
router#verify ldp fec all
Total FECs verified : 2415
Total FECs consistent in Server : 2370
Total FECs consistent in Modules : 2370
Total FECs inconsistent in Server : 45
Total FECs inconsistent in Modules : 0
Inconsistent FECs:
12.12.12.32/32
6.6.6.6/21
.
.
.
router#
Example 2: In the following example the verify ldp fec all no-module-check command verifies all LDP FECs bypassing the module check:
router#verify ldp fec all no-module-check
Total FECs verified : 2415
Total FECs consistent in Server : 2370
Total FECs inconsistent in Server : 45
Inconsistent FECs:
12.12.12.32/32
6.6.6.6/21
.
.
.
router#
Enable LDP Traps
If an SNMP host is not explicitly configured to get specific trap categories, that host will receive the traps specified by this command.
Refer to the chapter "SNMP" in Volume 1 of the Software Configuration Guide.
PROCEDURE: Use the following steps to enable the sending of SNMP LDP traps to the SNMP server host.
Step 1 Use the snmp-server enable traps ldp command to enable the Avici router to send LDP traps to the SNMP server.
Step 2 Use the show snmp traps command to verify the new setting.
For example:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#snmp-server enable traps ldp
router(config)#end
router#show snmp traps
SNMP Authentication Enabled
Fan Enabled
Voltage Disabled
Temperature Enabled
Link Up/Down Enabled
Sonet Enabled
BGP Enabled
OSPF Enabled
LDP Enabled
Display LDP
IPriori includes the following commands to display LDP:
Copyright © 2004
Avici Systems Inc.
Avici® and TSR®
is a registered trademark of Avici Systems Inc.
IPriori, Composite Links, SSR, QSR, and NSR® are
trademarks of Avici Systems Inc.
Source
File Name: LDP%20Configuration.fm
HTML File Name: LDP%20Configuration.html
Last Updated: 12/19/04 at 16:17:49