Configuring LDP with CLI

This section provides information to configure LDP using the command line interface.

Topics in this section include:

LDP Configuration Overview

When the 7705 SAR implementation of LDP is instantiated, the protocol is in the no shutdown state. In addition, targeted sessions are then enabled. The default parameters for LDP are set to the documented values for targeted sessions in draft-ietf-mpls-ldp-mib-09.txt.

LDP must be enabled in order for signaling to be used to obtain the ingress and egress labels in frames transmitted and received on the service destination point (SDP). When signaling is off, labels must be manually configured when the SDP is bound to a service.

Basic LDP Configuration

This section provides information to configure LDP and gives configuration examples of common configuration tasks.

The LDP protocol instance is created in the no shutdown (enabled) state.

The following example displays the default LDP configuration output.

ALU-1>config>router>ldp# info 
----------------------------------------------
            interface-parameters
            exit
            targeted-session
            exit
----------------------------------------------
ALU-1>config>router>ldp#

Common Configuration Tasks

This section provides a brief overview of the following common configuration tasks to configure LDP:

Enabling LDP

LDP must be enabled in order for the protocol to be active. MPLS must also be enabled. MPLS is enabled in the config>router>mpls context.

Use the following CLI syntax to enable LDP on a 7705 SAR router:

CLI Syntax:
ldp
Example:
config>router# ldp

The following example displays the enabled LDP configuration output.

ALU-1>config>router# info
----------------------------------------------
...
#------------------------------------------
echo "LDP Configuration"
#------------------------------------------
        ldp
            interface-parameters
            exit
            targeted-session
            exit
        exit
----------------------------------------------
...
ALU-1>config>router#

Configuring Graceful Restart Helper Parameters

Graceful Restart Helper advertises to its LDP neighbors by carrying the fault tolerant (FT) session TLV in the LDP initialization message, assisting the LDP in preserving its IP forwarding state across the restart. Alcatel-Lucent’s SAR recovery is self-contained and relies on information stored internally to self-heal.

Maximum recovery time is the time (in seconds) that the sender of the TLV would like the receiver to wait, after detecting the failure of LDP communication with the sender.

Neighbor liveness time is the time (in seconds) that the LSR is willing to retain its MPLS forwarding state. The time should be long enough to allow the neighboring LSRs to resynchronize all the LSPs in a graceful manner, without creating congestion in the LDP control plane.

Use the following syntax to configure graceful restart parameters:

CLI Syntax:
config>router>ldp
[no] graceful-restart
[no] maximum-recovery-time interval
[no] neighbor-liveness-time interval
Example:
config>router>ldp
config>router>ldp# graceful-restart
config>router>ldp>graceful-restart# maximum-recovery-
  time 120
config>router>ldp>graceful-restart# neighbor-liveness-
  time 60
config>router>ldp# exit
config>router#

The following example displays the import policy configuration output.

ALU-1>config>router>ldp>graceful-restart# info
----------------------------------------------
                maximum-recovery-time 120
                neighbor-liveness-time 60
----------------------------------------------
ALU-1>config>router>ldp>graceful-restart#

Applying Import and Export Policies

Inbound filtering (import policy) allows a route policy to control the label bindings that an LSR accepts from its peers. An import policy can accept or reject label bindings received from LDP peers. Label bindings can be filtered based on the following:

  1. neighbor — match on bindings received from the specified peer
  2. prefix-list — match on bindings with the specified prefix or prefixes

Outbound filtering (export policy) allows a route policy to control the label bindings advertised by the LSR to its peers. Label bindings can be filtered based on the following:

  1. all — all local subnets by specifying “direct” as the match protocol
  2. prefix-list — match on bindings with the specified prefix/prefixes

Import or export policies must already exist before they are applied to LDP. Policies are configured in the config>router>policy-options context. Refer to the “Route Policies” section in the 7705 SAR OS Router Configuration Guide for details.

Note:

  1. The 7705 SAR supports a specific number of labels, which varies by platform and software release. If the number of labels is exceeded for a specific protocol (for example, LDP or RSVP), a log message will appear by default in logs 99 and 100. The log message states the affected protocol and the label count that was exceeded. For example: “mpls_label_ilm_helper: XXXX XXX XXXX limit reached max obj count of YYYY”.
  2. For the LDP protocol, when the label count is exceeded, LDP sessions will be shut down and all labels will be removed. To recover the LDP sessions, perform a shutdown/no shutdown combination of commands in the config>router>ldp context.

Use the following CLI syntax to apply import or export policies:

CLI Syntax:
config>router>ldp
import policy-name [policy-name...(up to 5 max)]
export policy-name [policy-name...(up to 5 max)]
Example:
config>router>ldp
config>router>ldp# import LDP-import
config>router>ldp# export LDP-export
config>router>ldp# exit
config>router#

The following example displays the import and export policy configuration output.

ALU-1>config>router>ldp# info
----------------------------------------------
            export "LDP-export"
            import "LDP-import"
            interface-parameters
            exit
            targeted-session
            exit
----------------------------------------------

Configuring Interface Parameters

Use the following CLI syntax to configure LDP interface parameters:

CLI Syntax:
config>router# ldp
interface-parameters
hello timeout factor
interface ip-int-name
hello timeout factor
keepalive timeout factor
local-lsr-id {system|interface}
transport-address {system|interface}
no shutdown
keepalive timeout factor
transport-address {system|interface}
Example:
config>router# ldp
config>router>ldp# interface-parameters
config>router>ldp>if-params# interface to-104
config>router>ldp>if-params>if# hello 15 3
config>router>ldp>if-params>if# local-lsr-id system
config>router>ldp>if-params>if# no shutdown
config>router>ldp>if-params>if# exit
config>router>ldp>if-params# exit
config>router>ldp#

The following example displays the LDP interface parameter configuration output.

ALU-1>config>router>ldp# info
----------------------------------------------
          import "LDP-import"
            interface-parameters
                hello 15 3
                keepalive 30 3
                interface "to-104"
                    hello 15 3
                    keepalive 30 3
                    local-lsr-id system
                    no shutdown
                exit
            exit
          targeted-session
          exit
          no shutdown
----------------------------------------------
ALU-1>config>router>ldp#

Specifying Targeted Session Parameters

Use the following CLI syntax to specify targeted session parameters:

CLI Syntax:
config>router# ldp
targeted-session
disable-targeted-session
hello timeout factor
keepalive timeout factor
peer ip-address
bfd-enable
hello timeout factor
keepalive timeout factor
local-lsr-id interface-name
no shutdown
Example:
config>router# ldp
config>router>ldp# targeted-session
config>router>ldp>targ-session# bfd-enable
config>router>ldp>targ-session# hello 5000 255
config>router>ldp>targ-session# keepalive 5000 255
config>router>ldp>targ-session# peer 10.10.10.104
config>router>ldp>targ-session>peer# hello 2500 100
config>router>ldp>targ-session>peer# keepalive 15 3
config>router>ldp>targ-session>peer# local-lsr-id to-104
config>router>ldp>targ-session>peer# no shutdown
config>router>ldp>targ-session>peer# exit
config>router>ldp>targ-session# exit
config>router>ldp#

The following example displays the LDP targeted session configuration output.

ALU-1>config>router>ldp# info
----------------------------------------------
          import "LDP-import"
          interface-parameters
                hello 15 3
                keepalive 30 3
                interface "to-104"
                    hello 15 3
                    keepalive 30 3
                    no shutdown
                exit
          exit
            targeted-session
                hello 5000 255
                keepalive 5000 255
                peer 10.10.10.104
                    hello 2500 100
                    keepalive 15 3
                    local-lsr-id “to-104”
                exit
            exit
----------------------------------------------

Specifying Peer Parameters

Use the following CLI syntax to specify LDP peer parameters:

CLI Syntax:
config>router# ldp
peer-parameters
peer ip-address
authentication-key {authentication-key|hash-key} [hash|hash2]
Example:
config>router# ldp
config>router>ldp# peer-parameters
config>router>ldp>peer-params# peer 10.10.10.104
config>router>ldp>peer-params>peer$ authentication-key
  testuser
config>router>ldp>peer-params>peer$ exit

The following example displays the LDP peer parameters configuration output.

ALU-1>config>router>ldp# info
----------------------------------------------
           import "LDP-import"
           graceful-restart
           exit
           import "LDP-import"
           peer-parameters
                peer 10.10.10.104
                    authentication-key "nGjXyHQtCgHxbBm.kDeYdzSmPZy9KK03" hash2
                exit
           exit
           interface-parameters
                interface "test"
                exit
                interface "to-104"
                    hello 15 3
                exit
           exit
           targeted-session
                hello 5000 255
                keepalive 5000 255
                peer 10.10.10.104
                    hello 2500 100
                    keepalive 15 3
                exit
           exit
----------------------------------------------
ALU-1>config>router>ldp#

Enabling LDP Signaling and Services

When LDP is enabled, targeted sessions can be established to create remote adjacencies with nodes that are not directly connected. When service destination points (SDPs) are configured, extended discovery mechanisms enable LDP to send periodic targeted hello messages to the SDP’s far-end point. The exchange of LDP hellos triggers session establishment. The SDP’s signaling default enables tldp. The SDP uses the targeted-session parameters configured in the config>router>ldp>targeted-session context.

The service>sdp>ldp and router>lsp commands are mutually exclusive; you can either specify an LSP or enable an LDP. There cannot be two methods of transport in a single SDP.

To enable LDP on the SDP when an LSP is already specified, the LSP must be removed from the configuration using the no lsp lsp-name command. For further information about configuring SDPs, refer to the 7705 SAR OS Services Guide.

Use the following CLI syntax to enable LDP on an MPLS SDP:

CLI Syntax:
config>service>sdp#
ldp
signaling {off|tldp}

The following example displays an SDP configuration output with the signaling default tldp enabled.

ALU-1>config>service>sdp# info detail
----------------------------------------------
            description "MPLS: to-99"
            far-end 10.10.10.99
            ldp
            signaling tldp
            path-mtu 4462
            keep-alive
                hello-time 10
                hold-down-time 10
                max-drop-count 3
                timeout 5
                no message-length
                no shutdown
            exit
            no shutdown
----------------------------------------------
ALU-1>config>service>sdp#

LDP Configuration Management Tasks

This section discusses the following LDP configuration management tasks:

Disabling LDP

The no ldp command disables the LDP protocol on the router. All parameters revert to the default settings. LDP must be shut down before it can be disabled.

Use the following CLI syntax to disable LDP:

CLI Syntax:
no ldp
shutdown
Example:
config>router# ldp
config>router>ldp# shutdown
config>router>ldp# exit
config>router# no ldp

Modifying Targeted Session Parameters

You can modify targeted session parameters without shutting down entities. However, for any LDP timers (hello or keepalive timers), the changes do not take effect until a shutdown/no shutdown command is performed on the LDP session.

The no form of a targeted-session parameter command reverts modified values back to the default.

The following example displays the CLI syntax to revert targeted session parameters back to the default values.

Example:
config>router# ldp
config>router>ldp# targeted-session
config>router>ldp>targeted# no disable-targeted-session
config>router>ldp>targeted# no hello
config>router>ldp>targeted# no keepalive
config>router>ldp>targeted# shutdown
config>router>ldp>targeted# no shutdown
config>router>ldp>targeted# no peer 10.10.10.99

The following example displays the default value output.

ALU-1>config>router>ldp>targeted# info detail
----------------------------------------------
                no disable-targeted-session
                hello 45 3
                keepalive 40 4
----------------------------------------------
ALU-1>config>router>ldp>targeted#

Modifying Interface Parameters

You can modify LDP interface parameters without shutting down entities. However, at the global timer configuration level (ldp>interface-parameters), the hello and keepalive parameter modifications do not take effect until a shutdown/no shutdown command is performed on the LDP session. At the interface timer configuration level (ldp>interface-parameters>interface), any changes to the keepalive parameter do not take effect until a shutdown/no shutdown command is performed on the LDP session. For all other parameters, the changes take effect immediately.

Individual parameters cannot be deleted. The no form of an interface-parameter command reverts modified values back to the defaults.

The following example displays the CLI syntax to revert interface parameters back to the default values.

Example:
config>router# ldp
config>router>ldp>interface-parameters
config>router>ldp>if-params# no hello
config>router>ldp>if-params# interface to-104
config>router>ldp>if-params>if# no keepalive
config>router>ldp>if-params>if# no transport-address
config>router>ldp>if-params>if# shutdown
config>router>ldp>if-params>if# no shutdown
config>router>ldp>if-params>if# exit
config>router>ldp>if-params# exit
config>router>ldp# shutdown
config>router>ldp# no shutdown

The following example displays the default value output.

ALU-1>config>router>ldp>if-params# info detail
----------------------------------------------
                hello 15 3
                keepalive 30 3
                no transport-address
----------------------------------------------
ALU-1>config>router>ldp>params#