Table Of Contents
Configuring MPLS Transport Profile
MPLS-TP: Static and Dynamic Pseudowires
MPLS-TP: L2VPN Pseudowire Redundancy for Static and Dynamic Pseudowires
MPLS-TP: OAM Status for Static and Dynamic Pseudowires
MPLS-TP Links and Physical Interfaces
Configuring the MPLS Label Range
Configuring the Router ID and Global ID
Configuring Bidirectional Forwarding Detection Templates
Configuring Pseudowire OAM Attributes
Configuring the Pseudowire Class
Configuring the MPLS-TP Tunnel
Configuring MPLS-TP LSPs at Midpoints
Configuring MPLS-TP Links and Physical Interfaces
Configuring Static-to-Static Multisegment Pseudowires for MPLS-TP
Configuring a Template with Pseudowire Type-Length-Value Parameters
Configuring Static-to-Dynamic Pseudowires for MPLS-TP
Verifying the MPLS-TP Configuration
Configuring MPLS Transport Profile
The 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 traverse. 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.
Contents
Restrictions for MPLS-TP
•Penultimate hop popping is not supported. Only ultimate hop popping is supported, because label mappings are configured at the MPLS-TP endpoints.
•Ethernet subinterfaces are not supported.
•IPV6 addressing is not supported.
L2VPN Restrictions
•L2VPN interworking is not supported.
•Local switching with AToM pseudowire as a backup is not supported.
•L2VPN pseudowire redundancy to an AToM pseudowire by one or more attachment circuits is not supported.
•PW ID Forward Equivalence Class (FEC) (type 128) is supported, but generalized ID FEC (type 129) is not supported.
•BFD VCCV AC status signaling is not supported.
•Multisegment Pseudowires are not supported.
Ping and Trace Restrictions
•Ping for Static Pseudowires over MPLS-TP tunnels is not supported.
•Pseudowire ping and traceroute functionality for multisegment pseudowires that have one or more static pseudowire segments is not supported.
•The following packet format is supported:
–A labeled packet with Generic Associated Channel Label (GAL) at the bottom of the label stack.
–ACH channel is IP (0x21).
–RFC 4379-based IP, UDP packet payload with valid source.
–Destination IP address and UDP port 3503.
•Default reply mode for (1) is 4—Reply via application level control channel. An echo reply consists of the following elements:
–A labeled packet with a GAL label at the bottom of the label stack.
–ACH channel is IP (0x21).
–RFC 4379-based IP, UDP packet payload with valid source.
–Destination IP address and UDP port 3503.
•The optional "do not reply" mode may be set.
•The following reply modes are not allowed and are disabled in CLI:
–2—Reply via an IPv4/IPv6 UDP packet
–3—Reply via an IPv4/IPv6 UDP packet with Router Alert
•Force-explicit-null is not supported with ping and trace.
•Optional Reverse Path Connectivity verification is not supported. See LSP-Ping Extensions for MPLS-TP (draft-nitinb-mpls-tp-lsp-ping-extensions-01.txt).
Information About MPLS-TP
•MPLS-TP: Static and Dynamic Pseudowires
•MPLS-TP: L2VPN Pseudowire Redundancy for Static and Dynamic Pseudowires
•MPLS-TP: OAM Status for Static and Dynamic Pseudowires
•MPLS-TP Links and Physical Interfaces
How MPLS-TP Works
MPLS-TP tunnels provide the transport network service layer over which IP and MPLS traffic traverse. MPLS-TP tunnels help transition from SONET/SDH TDM technologies to packet switching to support services with high bandwidth utilization and lower cost. Transport networks are connection oriented, statically provisioned, and have long-lived connections. Transport networks usually avoid control protocols that change identifiers (like labels). MPLS-TP tunnels provide this functionality through statically provisioned bidirectional label switched paths (LSPs), as shown in Figure 45-1.
Figure 45-1 MPLS-TP Tunnel
MPLS-TP Path Protection
MPLS-TP LSPs support 1-to-1 path protection. You can configure the working and protect LSPs as part of configuring the MPLS-TP tunnel. The working LSP is the primary LSP used to route traffic. The protect LSP is a backup for a working LSP. If the working LSP fails, traffic is switched to the protect LSP until the working LSP is restored, at which time forwarding reverts back to the working LSP.
Bidirectional LSPs
MPLS-TP LSPs are bidirectional and co-routed and are comprised of two unidirectional LSPs that are supported by the MPLS forwarding infrastructure. A TP tunnel consists of a pair of unidirectional tunnels providing a bidirectional LSP. Each unidirectional tunnel can optionally be protected with a protect LSP that activates automatically upon failure conditions.
MPLS-TP OAM Support
Several OAM protocols and messages support the provisioning and maintenance of MPLS-TP tunnels and bidirectional LSPs:
•MPLS-TP OAM: GACH: Generic Associated Channel (G-ACh) is the control channel mechanism associated with 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 is used to support in-band OAMs of MPLS LSPs and PWs. The OAM messages are used for fault management, connection verification, continuity check and other functions.
The following OAM messages are forwarded along the specified MPLS LSP:
–OAM Fault Management: AIS, LDI and LKR messages. (GAL with fault-OAM channel)
–OAM Connection Verification: ping and traceroute messages. (GAL with IP channel by default)
–OAM Continuity Check: BFD (non-IP BFD and IP BFD) messages. (GAL with BFD channel or IP channel depending on message format)
The following messages are forwarded along the specified PW:
–Static PW OAM messages (static PW status)
–PW ping and traceroute messages
–PW BFD messages
•MPLS-TP OAM: Fault Management: Link Down Indication (LDI), Alarm Indication Signal (AIS), and Lock Report (LKR) messages. LDI messages are generated at midpoint nodes when a failure is detected. At the midpoint, an LDI message will be sent to the endpoint that is reachable with the existing failure. Similarly, LKR messages will be sent from a midpoint node to the reachable endpoint when an interface is administratively shut. AIS messages are not generated by Cisco, but are processed if received. By default, reception of LDI and LKR on the active LSP at an endpoint will cause a path protection switchover, while AIS will not.
•MPLS-TP OAM: Fault Management: Emulated Protection Switching for LSP Lockout. Cisco implements a form of Emulated Protection Switching in support of LSP Lockout using customized Fault messages. When a Cisco 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 up so that BFD and other OAM messages can continue to traverse it. Maintenance of the LSP can take place (such as reconfiguring or replacing a midpoint LSR). The LSP is shown as UP and OAM can verify connectivity before the LSP is put back into service by removing the lockout. Lockout of the working LSP is not allowed if no protect LSP is configured. Alternatively, lockout of the protect LSP is allowed if no working LSP is configured.
•LSP ping and trace: For MPLS-TP connectivity verification, you can use ping mpls tp and trace mpls tp commands. You can specify that the echo requests be sent along either the working LSP, the protect LSP, or the active LSP. You can also specify that the echo request be sent on a locked out MPLS-TP tunnel LSP (either working or protect) if the working or protect LSP is explicitly specified.
•MPLS-TP OAM: Continuity Check via BFD: You can configure BFD sessions running over MPLS-TP LSPs. BFD sessions run on both the working LSP and the protect LSP. In order to perform a path protection switchover within 60 msec on an MPLS-TP endpoint, the BFD Hardware Offload feature enables the router hardware to construct and send BFD messages, which removes the task from the software path. You do not need to configure the BFD Hardware Offload feature. It works automatically on supported platforms. You must enable BFD.
MPLS-TP: Static and Dynamic Pseudowires
MPLS-TP supports the following combinations of static and dynamic pseudowires:
•Static-static
•Static-dynamic
•Dynamic-static
MPLS-TP: L2VPN Pseudowire Redundancy for Static and Dynamic Pseudowires
MPLS-TP supports one-to-one L2VPN pseudowire redundancy for the following combinations of static and dynamic pseudowires:
•Static pseudowire with a static backup pseudowire
•Static pseudowire with a dynamic backup pseudowire
•Dynamic pseudowire with a static backup pseudowire
MPLS-TP: OAM Status for Static and Dynamic Pseudowires
With static pseudowires, status notifications can be provided by BFD over VCCV or static pseudowire OAM protocol. However, BFD over VCCV is not supported. Therefore, static pseudowire OAM protocol is preferred.
MPLS-TP Links and Physical Interfaces
MPLS-TP link numbers may be assigned to physical interfaces only. Bundled interfaces and virtual interfaces are not supported for MPLS-TP link numbers.
The MPLS-TP link is used to create a level of indirection between the MPLS-TP tunnel and midpoint LSP configuration and the physical interface. The mpls tp link command is used to associate an MPLS-TP link number with a physical interface and next-hop node. On point-to-point interfaces or Ethernet interfaces designated as point-to-point using the medium p2p command, the next-hop can be implicit, so the mpls tp link command just associates a link number to the interface.
Multiple tunnels and LSPs may then refer to the MPLS-TP link to indicate they are traversing that interface. You can move the MPLS-TP link from one interface to another without reconfiguring all the MPLS-TP tunnels and LSPs that refer to the link.
Link numbers must be unique on the router or node.
See Configuring MPLS-TP Links and Physical Interfaces for more information.
Tunnel Midpoints
Tunnel LSPs, whether endpoint or midpoint, use the same identifying information. However, it is entered differently.
•At the midpoint, all the information for the LSP is specified with the mpls tp lsp command, which enters the submode 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 router and a coworker's router, then your router is the source. However, your coworker considers his or her router to be the source. At the midpoint, either router 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 router ID and global ID, or from locally configured information using the tp source command after you enter the command interface tunnel-tp number command, where number is the local/source tunnel-number.
•At the endpoint, the remote information (destination) is configured using the tp destination command after you enter the command interface tunnel-tp number. The tp destination command includes the destination node ID, optionally the global ID, and optionally 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 the LSPs at the midpoint routers, make that the configuration does not reflect traffic back to the originating node.
How to Configure MPLS-TP
•Configuring the MPLS Label Range
•Configuring the Router ID and Global ID
•Configuring Bidirectional Forwarding Detection Templates
•Configuring Pseudowire OAM Attributes
•Configuring the Pseudowire Class
•Configuring the MPLS-TP Tunnel
•Configuring MPLS-TP LSPs at Midpoints
•Configuring MPLS-TP Links and Physical Interfaces
•Configuring Static-to-Static Multisegment Pseudowires for MPLS-TP
•Configuring a Template with Pseudowire Type-Length-Value Parameters
•Configuring Static-to-Dynamic Pseudowires for MPLS-TP
•Verifying the MPLS-TP Configuration
Configuring the MPLS Label Range
You must specify a static range of MPLS labels using the mpls label range command with the static keyword.
SUMMARY STEPS
1. enable
2. configure terminal
3. mpls label range minimum-value maximum-value {static minimum-static-value maximum-static-value}
DETAILED STEPS
Configuring the Router ID and Global ID
SUMMARY STEPS
1. enable
2. configure terminal
3. mpls tp
4. router-id node-id
5. global-id num
DETAILED STEPS
Configuring Bidirectional Forwarding Detection Templates
The bfd-template command allows you to create a BFD template and enter BFD configuration mode. The template can be used to specify a set of BFD interval values. You invoke the template as part of the MPLS-TP tunnel. On platforms that support the BFD Hardware Offload feature and can provide 60-ms cutover for MPLS-TP tunnels, it is recommended to use the higher resolution timers in the BFD template.
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]
DETAILED STEPS
Configuring Pseudowire OAM Attributes
SUMMARY STEPS
1. enable
2. configure terminal
3. pseudowire-static-oam class class-name
4. timeout refresh send seconds
DETAILED STEPS
Configuring the Pseudowire Class
When you create the pseudowire class, you specify the parameters of the pseudowire, such as the use of the control word, preferred path, and OAM class.
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
DETAILED STEPS
Configuring the Pseudowire
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]
DETAILED STEPS
Configuring the MPLS-TP Tunnel
On the endpoint switchs, create an MPLS TP tunnel and configure its parameters. See the interface tunnel-tp command for information on the parameters.
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 mode-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. exit
DETAILED STEPS
Configuring MPLS-TP LSPs at Midpoints
Note When configuring the LSPs at the midpoint switchs, make that the configuration does not reflect traffic back to the originating node.
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
DETAILED STEPS
Configuring MPLS-TP Links and Physical Interfaces
MPLS-TP link numbers may be assigned to physical interfaces only. Bundled interfaces and virtual interfaces are not supported for MPLS-TP link numbers.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type/num
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. exit
8. exit
9. show mpls tp link-numbers
DETAILED STEPS
Configuring Static-to-Static Multisegment Pseudowires for MPLS-TP
SUMMARY STEPS
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
DETAILED STEPS
Configuring a Template with Pseudowire Type-Length-Value Parameters
1. enable
2. configure terminal
3. pseudowire-tlv template template-name
4. tlv [type-name] type-value length [dec | hexstr | str] value
DETAILED STEPS
Configuring Static-to-Dynamic Pseudowires for MPLS-TP
When you configure static-to-dynamic pseudowires, you configure the static pseudowire class with the protocol none command, create a dynamic pseudowire class, then invoke those pseudowire classes with the neighbor commands.
1. enable
2. configure terminal
3. pseudowire-class class-name
4. encapsulation mpls
5. control-word
6. protocol none
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. tlv [type-name] type-value length [dec | hexstr | str] value
or
tlv template template-nameDETAILED STEPS
Example
l2 vfi atom point-to-point (static-dynamic MSPW)neighbor 10.116.116.116 4294967295 pw-class dypw (dynamic)neighbor 10.111.111.111 123 pw-class stpw (static)mpls label 101 201mpls control-wordlocal interface 4tlv mtu 1 4 1500tlv description 3 6 str abcdtlv descr C 4 hexstr 0505Configuring the L2VPN Pseudowire Redundancy for Static Pseudowires Backed Up with Static or Dynamic Pseudowires
1. enable
2. configure terminal
3. interface ethernet type/num
4. service instance id ethernet
5. encapsulation dot1q vlan-id
6. 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}]
7. mpls label local-pseudowire-label remote-pseudowire-label
8. mpls control-word
9. backup delay {enable-delay-period | never} {disable-delay-period | never}
10. backup peer peer-switch-ip-addr vcid [pw-class pw-class-name] [priority value]
11. mpls label local-pseudowire-label remote-pseudowire-label
12. mpls control-word
DETAILED STEPS
Example
interface Ethernet1/0no ip addressno shutdownservice instance 1 ethernetencapsulation dot1q 10xconnect 10.113.113.113 123 encapsulation mpls manual pw-class stpwmpls label 0 101mpls control-wordbackup peer 1 0.120.120.120 124 pw-class stpwmpls label 0 105mpls control-wordVerifying the MPLS-TP Configuration
When the entire tunnel is programmed, use the following commands to verify and help troubleshoot the configuration:
•show mpls tp tunnel-tp lsps: To ensure that both LSPs are up and working from a tunnel endpoint.
•show mpls tp tunnel-tp number detail: To help determine the cause if the tunnel is not up and working.
•show bfd neighbors mpls-tp: To display the state of BFD, which must be up for the endpoint LSPs to be up.
•trace mpls tp and ping mpls tp: To help isolate any connectivity issues.
•debug mpls tp: To enable the display of MPLS-TP error messages.
•logging (MPLS-TP): To enable the display of logging messages related to configuration changes or state changes.
•show mpls l2transport static-oam: To enable the display of MPLS-TP messages related to pseudowires.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at 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. (1005R)
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.
© 2011 Cisco Systems, Inc. All rights reserved.