MPLS Transport Profile: Finding Feature Information
MPLS Transport Profile: Finding Feature Information
MPLS Transport Profile: Finding Feature Information
Multiprotocol Label Switching (MPLS) Transport Profile (TP) enables you to create tunnels that provide
the transport network service layer over which IP and MPLS traffic traverses. MPLS-TP tunnels enable a
transition from Synchronous Optical Networking (SONET) and Synchronous Digital Hierarchy (SDH)
time-division multiplexing (TDM) technologies to packet switching to support services with high bandwidth
requirements, such as video.
L2VPN Restrictions
• Layer 2 Virtual Private Network (L2VPN) interworking is not supported.
• Local switching with Any Transport over MPLS (AToM) pseudowire as a backup is not supported.
• L2VPN pseudowire redundancy to an AToM pseudowire by one or more attachment circuits is not
supported.
• Pseudowire ID Forward Equivalence Class (FEC) type 128 is supported, but generalized ID FEC type
129 is not supported.
• Static pseudowire Operations, Administration, and Maintenance (OAM) protocol and BFD VCCV
attachment circuit (AC) status signaling are mutually exclusive protocols. Bidirectional Forwarding
Detection (BFD) and Virtual Circuit Connectivity Verification (VCCV) in failure detection mode can
be used with Static Pseudowire OAM protocol.
• BFD VCCV AC status signaling cannot be used in pseudowire redundancy configurations. You can use
Static Pseudowire OAM instead.
• Default reply mode for (1) is 4—Reply via application level control channel is supported. An echo reply
consists of the following elements:
• A labeled packet with a GAL label at the bottom of the label stack.
• Associated Channel (ACh) is IP (0x21).
• RFC-4379-based IP, UDP packet payload with valid source.
• Destination IP address and UDP port 3503.
Bidirectional LSPs
Multiprotocol Label Switching Transport Profile (MPLS-TP) label switched paths (LSPs) are bidirectional
and co-routed. They comprise of two unidirectional LSPs that are supported by the MPLS forwarding
infrastructure. A TP tunnel consists of a pair of unidirectional tunnels that provide a bidirectional LSP. Each
unidirectional tunnel can be optionally protected with a protect LSP that activates automatically upon failure
conditions.
• MPLS-TP OAM Fault Management (LDI, AIS, and LKR messages)—LDI messages are AIS messages
whose L-flags are set. The LDI messages are generated at midpoint nodes when a failure is detected.
From the midpoint, an LDI message is sent to the endpoint that is reachable with the existing failure.
Similarly, LKR messages are sent from a midpoint node to the reachable endpoint when an interface is
administratively shut down. By default, the reception of LDI and LKR messages on the active LSP at
an endpoint will cause a path protection switchover, whereas the reception of an AIS message will not.
• MPLS-TP OAM Fault Management with Emulated Protection Switching for LSP Lockout—Cisco
implements a form of Emulated Protection Switching to support LSP Lockout using customized Fault
messages. When a Lockout message is sent, it does not cause the LSP to be administratively down. The
Cisco Lockout message causes a path protection switchover and prevents data traffic from using the
LSP. The LSP remains administratively up so that BFD and other OAM messages can continue to
traverse it and so that maintenance of the LSP can take place (such as reconfiguring or replacing a
midpoint LSR). After OAM verifies the LSP connectivity, the Lockout is removed and the LSP is brought
back to service. Lockout of the working LSP is not allowed if a protect LSP is not configured. Conversely,
the Lockout of a protect LSP is allowed if a working LSP is not configured.
• LSP ping and trace—To verify MPLS-TP connectivity, use the ping mpls tp and trace mpls tp
commands. You can specify that echo requests be sent along the working LSP, the protect LSP, or the
active LSP. You can also specify that echo requests be sent on a locked-out MPLS-TP tunnel LSP (either
working or protected) if the working or protected LSP is explicitly specified. You can also specify
ping/trace messages with or without IP.
• MPLS-TP OAM Continuity Check (CC) via BFD and Remote Defect Indication (RDI)—RDI is
communicated via the BFD diagnostic field in BFD CC messages. BFD sessions run on both the working
LSP and the protect LSP. To perform a path protection switchover within 60 milliseconds on an MPLS-TP
endpoint, use the BFD Hardware Offload feature, which enables the router hardware to construct and
send BFD messages, removing the task from the software path. The BFD Hardware Offload feature is
enabled automatically on supported platforms.
MPLS-TP OAM GACH—Generic Associated Channel (G-ACh) is the control channel mechanism associated
with Multiprotocol Label Switching (MPLS) LSPs in addition to MPLS pseudowire. The G-ACh Label (GAL)
(Label 13) is a generic alert label to identify the presence of the G-ACh in the label packet. It is taken from
the reserved MPLS label space. G-ACh/GAL supports OAMs of LSPs and in-band OAMs of pseudowires
(PWs). OAM messages are used for fault management, connection verification, continuity check, and so on.
Tunnel Midpoints
Tunnel LSPs, whether endpoint or midpoint, use the same identifying information. However, it is entered
differently.
• At the midpoint, all information for the LSP is specified with the mpls tp lsp command for configuring
forward and reverse information for forwarding.
• At the midpoint, determining which end is source and which is destination is arbitrary. That is, if you
are configuring a tunnel between your device and a coworker’s device, then your device is the source.
However, your coworker considers his or her device to be the source. At the midpoint, either device
could be considered the source. At the midpoint, the forward direction is from source to destination, and
the reverse direction is from destination to source.
• At the endpoint, the local information (source) either comes from the global device ID and global ID,
or from the locally configured information using the tp source command.
• At the endpoint, the remote information (destination) is configured using the tp destination command
after you enter the interface tunnel-tp number command. The tp destination command includes the
destination node ID, and optionally the global ID and the destination tunnel number. If you do not specify
the destination tunnel number, the source tunnel number is used.
• At the endpoint, the LSP number is configured in working-lsp or protect-lsp submode. The default is 0
for the working LSP and 1 for the protect LSP.
• When configuring LSPs at midpoint devices, ensure that the configuration does not deflect traffic back
to the originating node.
SUMMARY STEPS
1. enable
2. configure terminal
3. mpls label range minimum-value maximum-value static minimum-static-value maximum-static-value
4. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 mpls label range minimum-value maximum-value static Specifies a static range of MPLS labels.
minimum-static-value maximum-static-value
Example:
Device(config)# mpls label range 1001 1003 static
10000 25000
1. enable
2. configure terminal
3. mpls tp
4. router-id node-id
5. global-id num
6. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 mpls tp Enters MPLS-TP configuration mode, from which you can configure
MPLS-TP parameters for the device.
Example:
Device(config)# mpls tp
Step 4 router-id node-id Specifies the default MPLS-TP router ID, which is used as the default
source node ID for all MPLS-TP tunnels configured on the device.
Example:
Device(config-mpls-tp)# router-id
10.10.10.10
Step 5 global-id num (Optional) Specifies the default global ID used for all endpoints and
midpoints.
Example: • This command makes the router ID globally unique in a multiprovider
Device(config-mpls-tp)# global-id 1 tunnel. Otherwise, the router ID is only locally meaningful.
• The global ID is an autonomous system number, which is a controlled
number space by which providers can identify each other.
• The router ID and global ID are also included in fault messages sent
by devices from the tunnel midpoints to help isolate the location of
faults.
Step 6 end Exits MPLS-TP configuration mode and returns to privileged EXEC mode.
Example:
Device(config-mpls-tp)# end
SUMMARY STEPS
1. enable
2. configure terminal
3. bfd-template single-hop template-name
4. interval [microseconds] {both time | min-tx time min-rx time} [multiplier multiplier-value]
5. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 bfd-template single-hop template-name Creates a BFD template and enter BFD configuration
mode.
Example:
Device(config)# bfd-template single-hop mpls-bfd-1
Step 4 interval [microseconds] {both time | min-tx time min-rx Specifies a set of BFD interval values.
time} [multiplier multiplier-value]
Example:
Device(config-bfd)# interval min-tx 99 min-rx 99
multiplier 3
1. enable
2. configure terminal
3. pseudowire-static-oam class class-name
4. timeout refresh send seconds
5. exit
DETAILED STEPS
Example:
Device# configure terminal
Step 3 pseudowire-static-oam class class-name Creates a pseudowire OAM class and enters pseudowire
OAM class configuration mode.
Example:
Device(config)# pseudowire-static-oam class
oam-class1
Step 4 timeout refresh send seconds Specifies the OAM timeout refresh interval.
Example:
Device(config-st-pw-oam-class)# timeout refresh
send 20
SUMMARY STEPS
1. enable
2. configure terminal
3. pseudowire-class class-name
4. encapsulation mpls
5. control-word
6. protocol {l2tpv2 | l2tpv3 | none} [l2tp-class-name]
7. preferred-path {interface tunnel tunnel-number | peer {ip-address | host-name}} [disable-fallback]
8. status protocol notification static class-name
9. vccv bfd template name [udp | raw-bfd]
10. end
DETAILED STEPS
Example:
Device# configure terminal
Example:
Device(config-pw-class)# encapsulation mpls
Example:
Device(config-pw-class)# control-word
Step 6 protocol {l2tpv2 | l2tpv3 | none} [l2tp-class-name] Specifies the type of protocol.
Example:
Device(config-pw-class)# protocol none
Step 7 preferred-path {interface tunnel tunnel-number | peer Specifies the tunnel to use as the preferred path.
{ip-address | host-name}} [disable-fallback]
Example:
Device(config-pw-class)# preferred-path interface
tunnel-tp2
Step 8 status protocol notification static class-name Specifies the OAM class to use.
Example:
Device(config-pw-class)# status protocol notification
static oam-class1
Step 9 vccv bfd template name [udp | raw-bfd] Specifies the VCCV BFD template to use.
Example:
Device(config-pw-class)# vccv bfd template bfd-temp1
raw-bfd
1. enable
2. configure terminal
3. interface type number
4. xconnect peer-ip-address vc-id {encapsulation {l2tpv3 [manual] | mpls [manual]} | pw-class
pw-class-name} [pw-class pw-class-name] [sequencing {transmit | receive | both}]
5. mpls label local-pseudowire-label remote-pseudowire-label
6. mpls control-word
7. backup delay {enable-delay-period | never} {disable-delay-period | never}
8. backup peer peer-router-ip-addr vcid [pw-class pw-class-name] [priority value]
9. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface type number Specifies the interface and enters interface
configuration mode.
Example:
Device(config)# interface Ethernet 1/0
Step 4 xconnect peer-ip-address vc-id {encapsulation {l2tpv3 Binds the attachment circuit to a pseudowire VC and
[manual] | mpls [manual]} | pw-class pw-class-name} enters xconnect interface configuration mode.
[pw-class pw-class-name] [sequencing {transmit | receive |
both}]
Example:
Device(config-if)# xconnect 10.131.191.251 100
encapsulation mpls manual pw-class mpls-tp-class1
Example:
Device(config-if-xconn)# no mpls control-word
Step 7 backup delay {enable-delay-period | never} Specifies how long a backup pseudowire virtual circuit
{disable-delay-period | never} (VC) should wait before resuming operation after the
primary pseudowire VC goes down.
Example:
Device(config-if-xconn)# backup delay 0 never
Step 8 backup peer peer-router-ip-addr vcid [pw-class Specifies a redundant peer for a pseudowire virtual
pw-class-name] [priority value] circuit (VC).
Example:
Device(config-if-xconn)# backup peer 10.0.0.2 50
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel-tp number
4. description tunnel-description
5. tp tunnel-name name
6. tp bandwidth num
7. tp source node-id [global-id num]
8. tp destination node-id [tunnel-tp num[ global-id num]]
9. bfd bfd-template
10. working-lsp
11. in-label num
12. out-label num out-link num
13. exit
14. protect-lsp
15. in-label num
16. out-label num out-link num
17. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel-tp number Enters tunnel interface configuration mode. Tunnel
numbers from 0 to 999 are supported.
Example:
Device(config)# interface tunnel-tp
Example:
Device(config-if)# description headend tunnel
Example:
Device(config-if)# tp tunnel-name tunnel 122
Example:
Device(config-if)# tp bandwidth 10000
Step 7 tp source node-id [global-id num] (Optional) Specifies the tunnel source and endpoint.
Example:
Device(config-if)# tp source 10.11.11.11 global-id
10
Step 8 tp destination node-id [tunnel-tp num[ global-id num]] Specifies the destination node of the tunnel.
Example:
Device(config-if)# tp destination 10.10.10.10
Example:
Device(config-if)# bfd mpls-tp-bfd-2
Device(config-if)# working-lsp
Example:
Device(config-if-working)# in-label 111
Step 12 out-label num out-link num Specifies the out-label number and out-link.
Example:
Device(config-if-working)# out-label 112 out-link
Example:
Device(config-if)# protect-lsp
Example:
Device(config-if-protect)# in-label 100
Step 16 out-label num out-link num Specifies the out label and out link.
Example:
Device(config-if-protect)# out-label 113 out-link
Note When configuring LSPs at midpoint devices, ensure that the configuration does not deflect traffic back
to the originating node.
SUMMARY STEPS
1. enable
2. configure terminal
3. mpls tp lsp source node-id [global-id num] tunnel-tp num lsp{lsp-num | protect | working} destination
node-id [global-id num] tunnel-tp num
4. forward-lsp
5. bandwidth num
6. in-label num out-label num out-link num
7. exit
8. reverse-lsp
9. bandwidth num
10. in-label num out-label num out-link num
11. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 mpls tp lsp source node-id [global-id num] tunnel-tp num Enables MPLS-TP midpoint connectivity and enters
lsp{lsp-num | protect | working} destination node-id MPLS TP LSP configuration mode.
[global-id num] tunnel-tp num
Example:
Device(config)# mpls tp lsp source 10.10.10.10
global-id 2 tunnel-tp 4 lsp protect destination
10.11.11.11 global-id 11 tunnel-tp 12
Example:
Device(config-mpls-tp-lsp-forw)# bandwidth 100
Step 6 in-label num out-label num out-link num Specifies the in label, out label, and out link
numbers.
Example:
Device(config-mpls-tp-lsp-forw)# in-label 53
out-label 43 out-link 41
Example:
Device(config-mpls-tp-lsp-rev)# bandwidth 100
Step 10 in-label num out-label num out-link num Specifies the in-label, out-label, and out-link
numbers.
Example:
Device(config-mpls-tp-lsp-rev)# in-label 33 out-label
23 out-link 44
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. ip address ip-address mask
5. mpls tp link link-num {ipv4 ip-address | tx-mac mac-address} rx-mac mac-address
6. ip rsvp bandwidth [rdm [bc0 interface-bandwidth] [[single-flow-bandwidth [bc1 bandwidth | sub-pool
bandwidth]]] [interface-bandwidth [single-flow-bandwidth [bc1 bandwidth | sub-pool bandwidth]] | mam
max-reservable-bw [interface-bandwidth [single-flow-bandwidth] [bc0 interface-bandwidth [bc1
bandwidth]]] | percent percent-bandwidth [single-flow-bandwidth]]
7. end
8. show mpls tp link-numbers
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface type number Specifies the interface and enters interface configuration mode.
Example:
Device(config)# interface ethernet 1/0
Example:
Device(config-if)# ip address 10.10.10.10
255.255.255.0
Step 5 mpls tp link link-num {ipv4 ip-address | tx-mac Associates an MPLS-TP link number with a physical interface and
mac-address} rx-mac mac-address next-hop node. On point-to-point interfaces or Ethernet interfaces
designated as point-to-point using the medium p2p command, the
Example: next-hop can be implicit, so the mpls tp link command just
associates a link number to the interface.
Device(config-if)# mpls tp link 1 ipv4
10.0.0.2 Multiple tunnels and LSPs can refer to the MPLS-TP link to
indicate they are traversing that interface. You can move the
Step 6 ip rsvp bandwidth [rdm [bc0 interface-bandwidth] Enables Resource Reservation Protocol (RSVP) bandwidth for IP
[[single-flow-bandwidth [bc1 bandwidth | sub-pool on an interface.
bandwidth]]] [interface-bandwidth For the Cisco 7600 platform, if you configure non-zero bandwidth
[single-flow-bandwidth [bc1 bandwidth | sub-pool for the TP tunnel or at a midpoint LSP, make sure that the interface
bandwidth]] | mam max-reservable-bw to which the output link is attached has enough bandwidth
[interface-bandwidth [single-flow-bandwidth] [bc0 available. For example, if three tunnel LSPs run over link 1 and
interface-bandwidth [bc1 bandwidth]]] | percent each LSP was assigned 1000 with the tp bandwidth command,
percent-bandwidth [single-flow-bandwidth]] the interface associated with link 1 needs bandwidth of 3000 with
the ip rsvp bandwidth command.
Example:
Device(config-if)# ip rsvp bandwidth 1158
100
Step 7 end Exits interface configuration mode and returns to privileged EXEC
mode.
Example:
Device(config-if)# end
Example:
Device# show mpls tp link-numbers
1. enable
2. configure terminal
3. l2 vfi name point-to-point
4. neighbor ip-address vc-id {encapsulation mpls | pw-class pw-class-name}
5. mpls label local-pseudowire-label remote-pseudowire-label
6. mpls control-word
7. neighbor ip-address vc-id {encapsulation mpls | pw-class pw-class-name}
8. mpls label local-pseudowire-label remote-pseudowire-label
9. mpls control-word
10. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 l2 vfi name point-to-point Creates a point-to-point Layer 2 virtual forwarding interface
(VFI) and enters VFI configuration mode.
Example:
Device(config)# l2 vfi atom point-to-point
Step 4 neighbor ip-address vc-id {encapsulation mpls | Sets up an emulated VC. Specify the IP address, the VC
pw-class pw-class-name} ID of the remote device, and the pseudowire class to use
for the emulated VC.
Example: Note Only two neighbor commands are allowed for
Device(config-vfi)# neighbor 10.111.111.111 123 each Layer 2 VFI point-to-point command.
pw-class atom
Example:
Device(config-vfi)# mpls label 101 201
Example:
Device(config-vfi)# mpls control-word
Step 7 neighbor ip-address vc-id {encapsulation mpls | Sets up an emulated VC. Specify the IP address, the VC
pw-class pw-class-name} ID of the remote device, and the pseudowire class to use
for the emulated VC.
Example:
Device(config-vfi)# neighbor 10.10.10.11 123
pw-class atom
Step 8 mpls label local-pseudowire-label Configures the static pseudowire connection by defining
remote-pseudowire-label local and remote circuit labels.
Example:
Device(config-vfi)# mpls label 102 202
Example:
Example:
Device(config-vfi)# mpls control-word
1. enable
2. configure terminal
3. pseudowire-tlv template template-name
4. tlv [type-name] type-value length [dec | hexstr | str] value
5. end
DETAILED STEPS
Example:
Device# configure terminal
Step 4 tlv [type-name] type-value length [dec | hexstr | str] value Specifies the TLV parameters.
Example:
Device(config-pw-tlv-template)# tlv statictemp
2 4 hexstr 1
SUMMARY STEPS
1. enable
2. configure terminal
3. pseudowire-class class-name
4. encapsulation mpls
5. control-word
6. protocol {l2tpv2 | l2tpv3 | none} [l2tp-class-name]
7. exit
8. pseudowire-class class-name
9. encapsulation mpls
10. exit
11. l2 vfi name point-to-point
12. neighbor ip-address vc-id {encapsulation mpls | pw-class pw-class-name}
13. neighbor ip-address vc-id {encapsulation mpls | pw-class pw-class-name}
14. mpls label local-pseudowire-label remote-pseudowire-label
15. mpls control-word
16. local interface pseudowire-type
17. Do one of the following:
• tlv [type-name] type-value length [dec | hexstr | str] value
• tlv template template-name
18. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 pseudowire-class class-name Creates a pseudowire class and enters pseudowire class
configuration mode.
Example:
Device(config)# pseudowire-class mpls-tp-class1
Example:
Device(config-pw-class)# encapsulation mpls
Example:
Device(config-pw-class)# control-word
Step 6 protocol {l2tpv2 | l2tpv3 | none} [l2tp-class-name] Specifies the type of protocol. Use the protocol none
command to specify a static pseudowire.
Example:
Device(config-pw-class)# protocol none
Step 8 pseudowire-class class-name Creates a pseudowire class and enters pseudowire class
configuration mode.
Example:
Device(config)# pseudowire-class mpls-tp-class1
Example:
Device(config-pw-class)# encapsulation mpls
Step 12 neighbor ip-address vc-id {encapsulation mpls | pw-class Sets up an emulated VC and enters VFI neighbor
pw-class-name} configuration mode.
Note Note: Only two neighbor commands are
Example: allowed for each l2 vfi point-to-point
Device(config-vfi)# neighbor 10.111.111.111 123 command.
pw-class atom
Step 13 neighbor ip-address vc-id {encapsulation mpls | pw-class Sets up an emulated VC.
pw-class-name} Note Only two neighbor commands are allowed
for each l2 vfi point-to-point command.
Example:
Device(config-vfi-neighbor)# neighbor
10.111.111.111 123 pw-class atom
Step 14 mpls label local-pseudowire-label Configures the static pseudowire connection by defining
remote-pseudowire-label local and remote circuit labels.
Example:
Device(config-vfi-neighbor)# mpls label 101 201
Example:
Device(config-vfi-neighbor)# mpls control-word
Example:
Device(config-vfi-neighbor)# local interface 4
Step 17 Do one of the following: Specifies the TLV parameters or invokes a previously
configured TLV template.
• tlv [type-name] type-value length [dec | hexstr | str]
value
• tlv template template-name
Example:
Device(config-vfi-neighbor)# tlv statictemp 2 4
hexstr 1
Example:
Device(config-vfi-neighbor)# end
Standard/RFC Title
draft-ietf-mpls-tp-gach-gal-xx MPLS Generic Associated Channel
Technical Assistance
Description Link
The Cisco Support and Documentation website http://www.cisco.com/cisco/web/support/index.html
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a Cisco.com user ID
and password.