Table Of Contents
Configuring MPLS Features
Configuring Any Transport over MPLS
Scalable EoMPLS on Cisco 7600 Series ES+ Line Cards
Restrictions and Usage Guidelines
Examples
Verification
Configuring MPLS Traffic Engineering Class-Based Tunnel Selection
MPLS Traffic Engineering Class-Based Tunnel Selection Restrictions and Usage Guidelines
Creating Multiple MPLS Member TE or DS-TE Tunnels with the Same Headend and the Same Tailend
Creating a Master Tunnel, Attaching Member Tunnels, and Making the Master Tunnel Visible
Example
Verifying That the MPLS TE or DS-TE Tunnels Are Operating and Announced to the IGP
Configuring Virtual Private LAN Service
Hierarchical Virtual Private LAN Service (H-VPLS) with MPLS to the Edge
H-VPLS with Port-Channel Core Interface
FAT PW Load balancing
Restrictions and Usage Guidelines
Configuring MPLS Features
This chapter provides information about configuring Multiprotocol Label Switching (MPLS) features on the Cisco 7600 Series Ethernet Services Plus (ES+) and Ethernet Services Plus T (ES+T) line card on the Cisco 7600 series router.
For more information about the commands used in this chapter, see the Cisco IOS Release 12.2 SR Command References at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122sr/cr/index.htm.
This section includes the following topics:
•
Configuring Any Transport over MPLS
•
Configuring MPLS Traffic Engineering Class-Based Tunnel Selection
•
Configuring Virtual Private LAN Service
•
H-VPLS with Port-Channel Core Interface
Note
The information provided in this chapter is applicable to both the ES+ and ES+T line cards unless specified otherwise.
Configuring Any Transport over MPLS
Any Transport over MPLS (AToM) transports Layer 2 packets over a Multiprotocol Label Switching (MPLS) backbone. AToM uses a directed Label Distribution Protocol (LDP) session between edge routers for setting up and maintaining connections. Forwarding occurs through the use of two levels of labels, switching between the edge routers. The external label (tunnel label) routes the packet over the MPLS backbone to the egress Provider Edge (PE) at the ingress PE. The VC label is a demultiplexing label that determines the connection at the tunnel endpoint (the particular egress interface on the egress PE as well as the virtual path identifier [VPI]/virtual channel identifier [VCI] value for an ATM Adaptation Layer 5 [AAL5] protocol data unit [PDU], the data-link connection identifier [DLCI] value for a Frame Relay PDU, or the virtual LAN [VLAN] identifier for an Ethernet frame).
Scalable EoMPLS on Cisco 7600 Series ES+ Line Cards
With Scalable EoMPLS, the CE-facing line card performs all EoMPLS imposition and disposition label processing. From the core-side line card perspective, the AToM packets in and out of the router appear as generic MPLS frames.
Restrictions and Usage Guidelines
When configuring the Scalable EoMPLS on Cisco 7600 Series ES+ line cards, follow these restrictions and usage guidelines:
•
Scalable EoMPLS is supported with EVCs (ethernet virtual circuits). An EVC is an end-to-end representation of a single instance of a Layer 2 service being offered by a provider to a customer.
•
Scalable EoMPLS is supported as a mapped service for the QinQ termination.
•
Service Instances supported: 16, 000 per line card (32, 000 per Cisco 7600 series router)
•
VC type 4 and VC type 5 are supported.
•
Control word operation is supported.
•
For ingress policing, only the drop action and the accept action for the police command are supported.
•
Ingress COoS marking is not supported.
•
Ingress COS-inner marking is supported.
•
For QoS marking, mapping of the incoming VLAN dot1q p-bits to the outgoing MPLS EXP bits is supported.
•
For QoS marking, mapping of the incoming MPLS EXP bits to the outgoing VLAN dot1q p-bits is supported (if EVC rewrite is pop tag).
•
For QoS shaping, egress pseudowire shaping is supported. Matching is based on the MPLS EXP bits.
•
The Dot1q Transparency for EoMPLS feature is supported.
•
Because HWEoMPLS is not supported on the ES+ line card, the xconnect command with encapsulation mpls is rejected on the Layer 3 interface and Layer 3 subinterface.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface gigabitethernet slot/port or interface tengigabitethernet slot/port
4.
[no] service instance id Ethernet [service-name}
5.
encapsulation dot1q vlan-id second-dot1q {any | vlan-id[vlan-id[-vlan-id]]}
6.
rewrite ingress tag {push {dot1q vlan-id | dot1q vlan-id second-dot1q vlan-id | dot1ad vlan-id dot1q vlan-id} | pop {1 | 2} | translate {1-to-1 {dot1q vlan-id | dot1ad vlan-id}| 2-to-1 dot1q vlan-id | dot1ad vlan-id}| 1-to-2 {dot1q vlan-id second-dot1q vlan-id | dot1ad vlan-id dot1q vlan-id} | 2-to-2 {dot1q vlan-id second-dot1q vlan-id | dot1ad vlan-id dot1q vlan-id}} symmetric
7.
xconnect peer-id vc-id encapsulation mpls
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
|
interface gigabitethernet slot/port
or
interface tengigabitethernet slot/port
Example:
Router(config)# interface gigabitethernet
4/1
|
Specifies the Gigabit Ethernet or the Ten Gigabit Ethernet interface to configure, where:
• slot/port—Specifies the location of the interface.
|
Step 4
|
[no] service instance id {Ethernet
[service-name}
Example:
Router(config-if)# service instance 101
ethernet
|
Creates a service instance (an instantiation of an EVC) on an interface and sets the device into the config-if-srv submode.
|
Step 5
|
encapsulation dot1q vlan-id second-dot1q
{any | vlan-id[vlan-id[-vlan-id]]}
Example:
Router(config-if-srv)# encapsulation
dot1q 5
|
Defines the matching criteria to map ingress dot1q frames on an interface to the appropriate service instance.
Note Use the encapsulation dot1q default command to configure the default service instance on a port. Use the encapsulation dot1q untagged command to map untagged Ethernet frames on an ingress interface to a service instance.
|
Step 6
|
rewrite ingress tag {push {dot1q vlan-id
| dot1q vlan-id second-dot1q vlan-id |
dot1ad vlan-id dot1q vlan-id} | pop {1 |
2} | translate {1-to-1 {dot1q vlan-id |
dot1ad vlan-id}| 2-to-1 dot1q vlan-id |
dot1ad vlan-id}| 1-to-2 {dot1q vlan-id
second-dot1q vlan-id | dot1ad vlan-id
dot1q vlan-id} | 2-to-2 {dot1q vlan-id
second-dot1q vlan-id | dot1ad vlan-id
dot1q vlan-id}} symmetric
Example:
Router(config-if-srv)# rewrite ingress
tag dot1q single symmetric
|
Specifies the tag manipulation that is to be performed on the frame ingress to the service instance.
|
Step 7
|
xconnect peer-id vc-id encapsulation mpls
Example:
Router(config-if-srv)# xconnect 10.0.0.1
123 encapsulation mpls
|
Configures scalable EoMPLS on a service instance. On the ingress side, after proper encapsulation manipulations, a packet is tunneled in an EoMPLS VC and transmitted on the core.
|
Examples
The following is an example of a basic configuration.
This is the customer-facing port at router 1.
Router# configure terminal
Router(config)# interface TenGigabitEthernet 1/1
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation dot1q 100
Router(config-if-srv)# rrewrite ingress tag translate 1-to-2 dot1q 5 second-dot1q 5
symmetric
Router(config-if-srv)# xconnect 2.2.2.2 100 encapsulation mpls
This is the global configuration at router 1.
Router# configure terminal
Router(config)# interface loopback1
Router(config-if)# ip address 1.1.1.1 255.255.255.255
Router(config-if)# ip address 20.1.1.1 255.255.255.0
Router(config-if)# mpls label protocol ldp
Router(config-if)# mpls ip
This is the customer-facing port at router 2.
Router# configure terminal
Router(config)# interface TenGigabitEthernet 2/2
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation dot1q 100
Router(config-if-srv)# rewrite ingress tag translate 1-to-2 dot1q 5 second-dot1q 5
symmetric
Router(config-if-srv)# xconnect 1.1.1.1 100 encapsulation mpls
This is the global configuration at router 2.
Router# configure terminal
Router(config)# interface loopback1
Router(config-if)# ip address 2.2.2.2 255.255.255.255
This is the MPLS core facing port.
Router(config-if)# ip address 20.1.1.2 255.255.255.0
Router(config-if)# mpls label protocol ldp
Router(config-if)# mpls ip
The following is an example of single tag VLAN configuration for tunneling a single VLAN service instance.
This is the customer facing port.
Router# configure terminal
Router(config)# interface TenGigabitEthernet 2/2
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation dot1q 100
Router(config-if-srv)# rewrite ingress tag translate 1-to-2 dot1q 5 second-dot1q 5
symmetric
Router(config-if-srv)# xconnect 1.1.1.1 100 encapsulation mpls
The following is an example of double tag VLAN configuration for tunneling double tag VLAN frames.
This is the customer facing port.
Router# configure terminal
Router(config)# interface TenGigabitEthernet 2/2
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation dot1q 100 second-dot1q 200
Router(config-if-srv)# rewrite ingress tag translate 2-to-2 dot1q 5 second-dot1q 5
symmetric
Router(config-if-srv)# xconnect 1.1.1.1 100 encapsulation mpls
The following is an example of a selective QinQ xconnect configuration.
This is the customer facing port.
Router# configure terminal
Router(config)# interface TenGigabitEthernet 2/2
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation dot1q 10-20, 30, 50-60
Router(config-if-srv)# xconnect 1.1.1.1 100 encapsulation mpls
The following is an example of a port-based xconnect tunnel configuration that tunnels all incoming packets to the remote peer.
!All tag and non-tag packets aggregation
Router# configure terminal
Router(config)# interface TenGigabitEthernet 2/2
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation default
Router(config-if-srv)# xconnect 1.1.1.1 100 encapsulation mpls
!All non-tag packets aggregation
Router(config)# interface TenGigabitEthernet 2/2
Router(config-if)# service instance 100 ethernet
Router(config-if-srv)# encapsulation untagged
Router(config-if-srv)# xconnect 1.1.1.1 100 encapsulation mpls
Verification
Use the following commands to verify operation.
Command
|
Purpose
|
Router# show ethernet service evc [id evc-id | interface interface-id] [detail]
|
Displays information pertaining to a specific EVC if an EVC ID is specified, or pertaining to all EVCs on an interface if an interface is specified. The detail option provides additional information on the EVC.
|
Router# show ethernet service instance [id instance-id interface interface-id | interface interface-id] [detail]
|
Displays information about one or more service instances. If a service instance ID and interface are specified, only data pertaining to that particular service instance is displayed. If only an interface ID is specified, displays data for all service instances on the given interface.
|
Router# show ethernet service interface [interface-id] [detail]
|
Displays information in the Port Data Block (PDB) .
|
Router# show mpls l2 vc min VC ID max VC ID detail
|
Displays detailed information related to the virtual connection (VC).
|
Router# show mpls l2transport vc
|
Displays the state of VCs.
|
Router# show mpls forwarding
|
Displays the contents of the Multiprotocol Label Switching (MPLS) Label Forwarding Information Base (LFIB).
Note Output should have the label entry l2ckt.
|
Configuring MPLS Traffic Engineering Class-Based Tunnel Selection
Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) enables you to dynamically route and forward traffic with different class of service (CoS) values onto different TE tunnels between the same tunnel headend and the same tailend. The TE tunnels can be regular TE tunnels or DiffServ-aware TE (DS-TE) tunnels.
The set of TE/DS-TE tunnels from the same headend to the same tailend that you configure to carry different CoS values is referred to as a "tunnel bundle." Tunnels are "bundled" by creating a master tunnel and then attaching member tunnels to the master tunnel. After configuration, CBTS dynamically routes and forwards each packet into the tunnel that meets the following requirements:
•
Is configured to carry the CoS of the packet
•
Has the right tailend for the destination of the packet
Because CBTS offers dynamic routing over DS-TE tunnels and requires minimum configuration, it greatly eases deployment of DS-TE in large-scale networks.
CBTS can distribute all CoS values on eight different tunnels or multiple COS value to multiple tunnels .
CBTS also allows the TE tunnels of a tunnel bundle to exit headend routers through different interfaces.
CBTS configuration involves performing the following tasks:
•
Creating multiple (DS-) TE tunnels with the same headend and tailend and indicating on each of these tunnels which CoSs are to be transported on the tunnel.
•
Creating a master tunnel, attaching the member tunnels to it, and making the master tunnel visible for routing.
MPLS Traffic Engineering Class-Based Tunnel Selection Restrictions and Usage Guidelines
When configuring MPLS Traffic Engineering Class-Based Tunnel Selection (CBTS), follow these restrictions and usage guidelines:
•
CBTS has the following prerequisites:
–
MPLS enabled on all tunnel interfaces
–
Cisco Express Forwarding (CEF) or distributed CEF (dCEF) enabled in general configuration mode
•
CBTS has the following restrictions:
–
For a given destination, all CoS values are carried in tunnels terminating at the same tailend. Either all CoS values are carried in tunnels or no values are carried in tunnels. In other words, for a given destination, you cannot map some CoS values in a DS-TE tunnel and other CoS values in a Shortest Path First (SPF) Label Distribution Protocol (LDP) or SPF IP path.
–
No LSP is established for the master tunnel and regular traffic engineering attributes (bandwidth, path option, fast reroute) are irrelevant on a master tunnel. TE attributes (bandwidth, bandwidth pool, preemption, priorities, path options, and so on) are configured completely independently for each tunnel.
–
CBTS does not allow load-balancing of a given EXP value in multiple tunnels. If two or more tunnels are configured to carry a given experimental (EXP) value, CBTS picks one of these tunnels to carry this EXP value (which is calculated through pre-defined rules).
–
CBTS supports aggregate control of bumping (that is, it is possible to define default tunnels to be used if other tunnels go down). However, CBTS does not allow control of bumping if the default tunnel goes down. CBTS does not support finer-grain control of bumping. For example, if the voice tunnel goes down, redirect voice to T2, but if video goes down, redirect to T3.
–
The operation of CBTS is not supported with Any Transport over MPLS (AToM), MPLS TE Automesh, or label-controlled (LC) ATM.
Creating Multiple MPLS Member TE or DS-TE Tunnels with the Same Headend and the Same Tailend
Perform the following task to create multiple MPLS member TE or DS-TE tunnels with the same headend and same tailend and to configure EXP values to be carried by each of these tunnels. The procedure begins in global configuration mode.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface tunnel number
4.
ip unnumbered type number
5.
tunnel destination {hostname | ip-address}
6.
tunnel mode mpls traffic-eng
7.
tunnel mpls traffic-eng bandwidth [sub-pool | global] bandwidth
8.
tunnel mpls traffic-eng exp [list-of-exp-values] [default]
9.
exit
DETAILED STEPS
| |
Command
|
Purpose
|
Step 1
|
enable
Example:
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
interface tunnel number
Example:
Router(config)# interface tunnel 7
|
Configures a tunnel interface type and enters interface configuration mode.
• number—Number of the tunnel interface that you want to create or configure.
|
Step 4
|
ip unnumbered type number
Example:
Router(config-if)# ip unnumbered loopback0
|
Enables IP processing on an interface without assigning an explicit IP address to the interface.
• type—Type of another interface on which the router has an assigned IP address.
• number—Number of another interface on which the router has an assigned IP address. It cannot be another unnumbered interface.
|
Step 5
|
tunnel destination {hostname | ip-address}
Example:
Router(config-if)# tunnel destination 10.5.5.5
|
Specifies the destination of the tunnel for this path option.
• hostname—Name of the host destination.
• ip-address—IP address of the host destination expressed in four-part, dotted decimal notation.
|
Step 6
|
tunnel mode mpls traffic-eng
Example:
Router(config-if)# tunnel mode mpls traffic-eng
|
Sets the mode of a tunnel to MPLS for TE.
|
Step 7
|
tunnel mpls traffic-eng bandwidth [sub-pool |
global] bandwidth
Example:
Router(config-if)# tunnel mpls traffic-eng bandwidth
100
|
Configures the bandwidth for the MPLS TE tunnel. If automatic bandwidth is configured for the tunnel, use the tunnel mpls traffic-eng bandwidth command to configure the initial tunnel bandwidth, which is adjusted by the auto-bandwidth mechanism.
• sub-pool—(Optional) Indicates a subpool tunnel.
• global—(Optional) Indicates a global pool tunnel. Entering this keyword is not necessary, because all tunnels are global pool in the absence of the sub-pool keyword. But if users of pre-DiffServ-aware Traffic Engineering (DS-TE) images enter this keyword, it is accepted.
• bandwidth—Bandwidth, in kilobits per second, set aside for the MPLS traffic engineering tunnel. Range is between 1 and 4294967295.
Note You can configure any existing mpls traffic-eng command on these TE or DS-TE tunnels.
|
Step 8
|
tunnel mpls traffic-eng exp [list-of-exp-values]
[default]
Example:
Router(config-if)# tunnel mpls traffic-eng exp 7
|
Specifies an EXP value or values for an MPLS TE tunnel.
• list-of-exp-values—EXP value or values that are are to be carried by the specified tunnel. Values range from 0 to 7.
• default—The specified tunnel is to carry all EXP values that are:
– Not explicitly allocated to another tunnel
– Allocated to a tunnel that is currently down
|
Step 9
|
exit
Example:
Router(config-if)# exit
|
Exits to global configuration mode.
|
Repeat Step 1 through Step 7 on the same headend router to create additional tunnels from this headend to the same tailend.
|
Creating a Master Tunnel, Attaching Member Tunnels, and Making the Master Tunnel Visible
Perform the followings task to create a master tunnel, attach member tunnels to it, and make the master tunnel visible for routing. The procedure begins in global configuration mode.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface tunnel number
4.
ip unnumbered type number
5.
tunnel destination {hostname | ip-address}
6.
tunnel mode mpls traffic-eng exp-bundle master
7.
tunnel mode mpls traffic-eng exp-bundle member tunnel-id
8.
tunnel mpls traffic-eng autoroute announce
9.
tunnel mpls traffic-eng autoroute metric {absolute | relative} value
DETAILED STEPS
| |
Command
|
Purpose
|
Step 1
|
enable
Example:
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
interface tunnel number
Example:
Router(config)# interface tunnel 7
|
Configures a tunnel interface type and enters interface configuration mode.
• number—Number of the tunnel interface that you want to create or configure.
|
Step 4
|
ip unnumbered type number
Example:
Router(config-if)# ip unnumbered loopback0
|
Enables IP processing on an interface without assigning an explicit IP address to the interface.
• type—Type of another interface on which the router has an assigned IP address.
• number—Number of another interface on which the router has an assigned IP address. It cannot be another unnumbered interface.
|
Step 5
|
tunnel destination {hostname | ip-address}
Example:
Router(config-if)# tunnel destination 10.5.5.5
|
Specifies the destination of the tunnel for this path option.
• hostname—Name of the host destination.
• ip-address—IP address of the host destination expressed in four-part, dotted decimal notation.
|
Step 6
|
tunnel mode mpls traffic-eng exp-bundle master
Example:
Router(config-if)# tunnel mode mpls traffic-eng
exp-bundle master
|
Specifies this is the master tunnel for the CBTS configuration.
|
Step 7
|
tunnel mode mpls traffic-eng exp-bundle member
tunnel-id
Example:
Router(config-if)# tunnel mode mpls traffic-eng
exp-bundle member Tunnel20000
|
Attaches a member tunnel to the master tunnel.
• tunnel-id—Number of the tunnel interface to be attached to the master tunnel.
Repeat this command for each member tunnel.
|
Step 8
|
tunnel mpls traffic-eng autoroute announce
Example:
Router(config-if)# tunnel mpls traffic-eng autoroute
announce
|
Specifies that the Interior Gateway Protocol (IGP) should use the tunnel (if the tunnel is up) in its enhanced shortest path first (SPF) calculation.
|
Step 9
|
tunnel mpls traffic-eng autoroute metric {absolute |
relative} value
Example:
Router(config-if)# tunnel mpls traffic-eng autoroute
metric relative -1
|
(Optional) Specifies the MPLS TE tunnel metric that the IGP-enhanced SPF calculation uses.
• absolute—Indicates the absolute metric mode; you can enter a positive metric value.
• relative—Indicates the relative metric mode; you can enter a positive, negative, or zero value.
• value—Metric that the IGP enhanced SPF calculation uses. The relative value can be from -10 to 10.
Note Even though the value for a relative metric can be from -10 to +10, configuring a tunnel metric with a negative value is considered a misconfiguration. If the metric to the tunnel tailend appears to be 4 from the routing table, then the cost to the tunnel tailend router is actually 3 because 1 is added to the cost for getting to the loopback address. In this instance, the lowest value that you can configure for the relative metric is -3.
|

Note
Alternatively, static routing could be used instead of autoroute to make the TE or DS-TE tunnels visible for routing.
Example
The following example shows how to configure Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Class-Based Tunnel Selection (CBTS). Tunnel1, Tunnel2, and Tunnel3 are member tunnels, and Tunnel4 is the master tunnel.
Router# configure terminal
Router(config)# interface Tunnel1
Router(config-if)# ip unnumbered loopback0
Router(config-if)# interface destination 24.1.1.1
Router(config-if)# tunnel mode mpls traffic-eng
Router(config-if)# tunnel mpls traffic-eng bandwidth sub-pool 30000
Router(config-if)# tunnel mpls traffic-eng exp 5
Router(config)# interface Tunnel2
Router(config-if)# ip unnumbered loopback0
Router(config-if)# interface destination 24.1.1.1
Router(config-if)# tunnel mode mpls traffic-eng
Router(config-if)# tunnel mpls traffic-eng bandwidth 50000
Router(config-if)# tunnel mpls traffic-eng exp 3 4
Router(config)# interface Tunnel3
Router(config-if)# ip unnumbered loopback0
Router(config-if)# interface destination 24.1.1.1
Router(config-if)# tunnel mode mpls traffic-eng
Router(config-if)# tunnel mpls traffic-eng bandwidth 10000
Router(config-if)# tunnel mpls traffic-eng exp default
Router(config)# interface Tunnel4
Router(config-if)# interface destination 24.1.1.1
Router(config-if)# tunnel mpls traffic-eng exp-bundle master
Router(config-if)# tunnel mpls traffic-eng exp-bundle member Tunnel1
Router(config-if)# tunnel mpls traffic-eng exp-bundle member Tunnel2
Router(config-if)# tunnel mpls traffic-eng exp-bundle member Tunnel3
Router(config-if)# tunnel mpls traffic-eng autoroute enable
Verifying That the MPLS TE or DS-TE Tunnels Are Operating and Announced to the IGP
The following show commands can be used to verify that the MPLS TE or DS-TE tunnels are operating and announced to the IGP. The commands are all entered in privileged EXEC configuration mode.
Command
|
Purpose
|
show mpls traffic-eng topology {A.B.C.D | igp-id
{isis nsap-address | ospf A.B.C.D} [brief]}
|
Shows the MPLS traffic engineering global topology as currently known at this node.
• A.B.C.D—Specifies the node by the IP address (router identifier to interface address).
• igp-id—Specifies the node by IGP router identifier.
• isis nsap-address—Specifies the node by router identification (nsap-address) if you are using Integrated Intermediate System-to-Intermediate System (IS-IS).
• ospf A.B.C.D—Specifies the node by router identifier if you are using Open Shortest Path First (OSPF).
• brief—Provides a less-detailed version of the topology.
|
show mpls traffic-eng exp
|
Displays EXP mapping.
|
show ip cef [type number] [detail]
|
Displays entries in the forwarding information base (FIB) or displays a summary of the FIB.
• type number—Identifies the interface type and number for which to display FIB entries.
• detail—Displays detailed FIB entry information.
|
show mpls forwarding-table [network {mask | length}
[detail]]
|
Displays the contents of the MPLS label forwarding information base (LFIB).
• network—Identifies the destination network number.
• mask—Identifies the network mask to be used with the specified network.
• length—Identifies the number of bits in the destination mask.
• detail—Displays information in long form (includes length of encapsulation, length of MAC string, maximum transmission unit [MTU], and all labels).
|
show mpls traffic-eng autoroute
|
Displays tunnels that are announced to the Interior Gateway Protocol (IGP).
|
The show mpls traffic-eng topology command output displays the MPLS TE global topology:
Router# show mpls traffic-eng topology 10.0.0.1
IGP Id: 10.0.0.1, MPLS TE Id:10.0.0.1 Router Node (ospf 10 area 0) id 1
link[0]: Broadcast, DR: 180.0.1.2, nbr_node_id:6, gen:18
frag_id 0, Intf Address:180.0.1.1
TE metric:1, IGP metric:1, attribute_flags:0x0
physical_bw: 100000 (kbps), max_reservable_bw_global: 1000 (kbps)
max_reservable_bw_sub: 0 (kbps)
Total Allocated Reservable Reservable
BW (kbps) BW (kbps) BW (kbps)
--------------- ----------- ----------
link[1]: Broadcast, DR: 180.0.2.2, nbr_node_id:7, gen:19
frag_id 1, Intf Address:180.0.2.1
TE metric:1, IGP metric:1, attribute_flags:0x0
physical_bw: 100000 (kbps), max_reservable_bw_global: 1000 (kbps)
max_reservable_bw_sub: 0 (kbps)
Total Allocated Reservable Reservable
BW (kbps) BW (kbps) BW (kbps)
--------------- ----------- ----------
The show mpls traffic-eng exp command output displays EXP mapping information about a tunnel:
Router# show mpls traffic-eng exp
Master: Tunnel10 Status: IP
Members: Status Conf EXP Actual EXP
Tunnel2 UP/ACTIVE default 0 1 2 3 4 6 7
(T)=Tailend is different to master
(NE)=There is no exp value configured on this tunnel.
The show ip cef detail command output displays detailed FIB entry information for a tunnel:
Router# show ip cef tunnel1 detail
IP CEF with switching (Table Version 46), flags=0x0
31 routes, 0 reresolve, 0 unresolved (0 old, 0 new), peak 2
2 instant recursive resolutions, 0 used background process
8 load sharing elements, 8 references
6 in-place/0 aborted modifications
34696 bytes allocated to the FIB table data structures
universal per-destination load sharing algorithm, id 9EDD49E1
Resolution Timer: Exponential (currently 1s, peak 1s)
short mask protection disabled
31 leaves, 23 nodes using 26428 bytes
Table epoch: 0 (31 entries at this epoch)
Adjacency Table has 13 adjacencies
10.0.0.9/32, version 45, epoch 0, per-destination sharing
tag information set, all rewrites inherited
via 0.0.0.0, Tunnel1, 0 dependencies
next hop 0.0.0.0, Tunnel1
tag rewrite with Tu1, point2point, tags imposed {12304}
0 packets, 0 bytes switched through the prefix
tmstats: external 0 packets, 0 bytes
internal 0 packets, 0 bytes
The show mpls forwarding-table detail command output displays detailed information from the MPLS LFIB:
Router# show mpls forwarding 10.0.0.9 detail
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
Tun hd Untagged 10.0.0.9/32 0 Tu1 point2point
MAC/Encaps=14/18, MRU=1500, Tag Stack{12304}, via Fa6/0
00027D884000000ED70178A88847 03010000
No output feature configured
Untagged 10.0.0.9/32 0 Tu2 point2point
MAC/Encaps=14/18, MRU=1500, Tag Stack{12305}, via Fa6/1
00027D884001000ED70178A98847 03011000
No output feature configured
Untagged 10.0.0.9/32 0 Tu3 point2point
MAC/Encaps=14/18, MRU=1500, Tag Stack{12306}, via Fa6/1
00027D884001000ED70178A98847 03012000
No output feature configured
Untagged 10.0.0.9/32 0 Tu4 point2point
MAC/Encaps=14/18, MRU=1500, Tag Stack{12307}, via Fa6/1
00027D884001000ED70178A98847 03013000
No output feature configured
The show mpls traffic-eng autoroute command output displays tunnels that are announced to the Interior Gateway Protocol (IGP).
Router# show mpls traffic-eng autoroute
MPLS TE autorouting enabled
destination 10.0.0.9, area ospf 10 area 0, has 4 tunnels
Tunnel1 (load balancing metric 20000000, nexthop 10.0.0.9)
Tunnel2 (load balancing metric 20000000, nexthop 10.0.0.9)
Tunnel3 (load balancing metric 20000000, nexthop 10.0.0.9)
Tunnel4 (load balancing metric 20000000, nexthop 10.0.0.9)
Configuring Virtual Private LAN Service
Virtual Private LAN Service (VPLS) enables geographically separate LAN segments to be interconnected as a single bridged domain over a packet switched network, such as IP, MPLS, or a hybrid of both.
VPLS solves the network reconfiguration problems at the customer equipment (CE) that is associated with Layer 2 Virtual Private Network (L2VPN) implementations. The current Cisco IOS software L2VPN implementation builds a point-to-point connection to interconnect the two attachment VCs of two peering customer sites. To communicate directly among all sites of an L2VPN network, a distinct emulated VC needs to be created between each pair of peering attachment VCs.
For example, when two sites of the same L2VPN network are connected to the same PE, you must establish two separate emulated VCs towards a given remote site, instead of sharing a common emulated VC between these two sites. For an L2VPN customer who uses the service provider backbone to interconnect its LAN segments, the current implementation effectively turns its multiaccess broadcast network into a fully meshed point-to-point network, which requires extensive reconfiguration on the existing CE devices.
VPLS is a multipoint L2VPN architecture that connects two or more customer devices using EoMPLS bridging techniques. VPLS with EoMPLS uses an MPLS-based provider core, where the PE routers have to cooperate to forward customer Ethernet traffic for a given VPLS instance in the core.
VPLS uses the provider core to join multiple attachment circuits together to simulate a virtual bridge that connects the multiple attachment circuits together. From a customer point of view, there is no topology for VPLS. All of the CE devices appear to connect to a logical bridge emulated by the provider core.
Hierarchical Virtual Private LAN Service (H-VPLS) with MPLS to the Edge
In a flat or non-hierarchical VPLS configuration, a full mesh of pseudowires (PWs) is needed between all PE nodes. A pseudowire defines a VLAN and its corresponding pseudoport.
Hierarchical Virtual Private LAN Service (H-VPLS) reduces both signaling and replication overhead by using a combination of full-mesh and hub-and-spoke configurations. Hub-and-spoke configurations operate with split horizon to allow packets to be switched between PWs, which effectively reduce the number of PWs between PEs.
Figure 6-1 H-VPLS with MPLS to the Edge Network
In the H-VPLS with MPLS to the edge architecture, Ethernet Access Islands (EAIs) work in combination with a VPLS core network, with MPLS as the underlying transport mechanism. EAIs operate like standard Ethernet networks. In Figure 6-1, devices CE1, CE2a, and CE2b reside in an EAI. Traffic from any CE devices within the EAI is switched locally within the EAI by the user-facing provider edge (UPE) device along the computed spanning-tree path. Each UPE device is connected to one or more network-facing provider edge (NPE) devices using PWs. The traffic local to the UPE is not forwarded to any network-facing provider edge (NPE) devices.
VPLS Configuration Guidelines
When configuring VPLS on a Cisco 7600 Series ES+ line card, consider the following guidelines:
•
The Cisco 7600 Series ES+ line card supports up to 4096 (4K) VPLS domains per Cisco 7600 series router.
•
The Cisco 7600 Series ES+ line card supports up to 110 VPLS peers per domain per Cisco 7600 series router.
•
The Cisco 7600 Series ES+ line card supports up to 30,000 pseudowires, used in any combination of domains and peers up to the 4096-domain or 110-peer maximums. For example, up to 4000 domains with 7 peers, up to 60 peers in 500 domains, or 110 peers in 273 domains.
•
When configuring VPLS on a Cisco 7600 Series ES+ line card, consider the following guidelines:
–
QinQ (the ability to map a single 802.1Q tag or a random double tag combination into a VPLS instance, a Layer 3 MPLS VPN, or an EoMPLS VC) is not supported.
–
H-VPLS with QinQ edge—Requires a Cisco 7600 Series ES+ line card in the uplink, and any LAN port or Cisco 7600 Series ES+ line cards on the downlink.
•
H-VPLS with MPLS edge requires either an optical service module, Cisco 7600 SIP-600, Cisco 7600 SIP-400, or Cisco 7600 Series ES+ line cards in both the downlink (facing UPE) and uplink (MPLS core).
•
The Cisco 7600 Series ES+ line cards provide Transparent LAN Services (TLS) and Ethernet Virtual Connection Services (EVCS).
•
The Cisco 7600 Series ES+ line cards support the following VPLS features:
–
H-VPLS with MPLS edge
–
H-VPLS with QinQ edge
–
VPLS with point-to-multipoint EoMPLS and fully-meshed PE configuration
•
For information about configuring VPLS on the Cisco 7600 Series ES+ line cards, consider the guidelines in this document and refer to
http://www.cisco.com/en/US/products/hw/routers/ps368/products_white_paper09186a00801df1df.shtml and http://www.cisco.com/en/US/products/hw/routers/ps368/module_installation_and_configuration_guides_chapter09186a0080523f3c.html
H-VPLS with Port-Channel Core Interface
Previously, VPLS was supported only on physical interfaces and subinterfaces. The H-VPLS with Port-Channel Core Interface feature adds support for VPLS to port-channels.
You can use this feature to:
•
Configure VPLS on the port channel interfaces of the ES+ line card using a load balancing mechanism.
•
Match the capabilities and requirements of the VPLS in a single link. Due to multiple links in a link aggregation (LAG), the packets of a particualr flow are always transmitted only to one link.
•
Configure VPLS with port-channel interfaces as the core facing interface, where the member links of the port-channel are from a ES20 or ES40 line card. The load-balancing is per-flow based, that is, traffic of a VPLS VC will be load-balanced across member links based on the flow.
FAT PW Load balancing
Fat pseudo-wire load balancing balances the VPLS VC traffic across the core network. An additional load balance label is inserted along with the VPLS VC labels such as VC label and IGP label at the PE side. The remote end PE removes the load-balance label on the packet. For a single VC, the load-balance label is calculated based on flow information of a VC.
You can use the following load balance types to streamline the traffic between peer VCs:
•
ECMP load-balancing: In a core network, multiple ECMP paths are used to reach the remote PE. Application of the load-balance label balances the traffic load across the multiple paths. This is because the load-balance label is different for different flows of a VC and the hash algorithm using the mpls label for load-balancing generates a different hash to distribute the traffic.
•
Port-channel load-balancing: In a core network, if the selected path is a port-channel, the member links are load balanced due to modifications in the load balance label.
You can use the [no] platform vfi load-balance-label vlan [vlan|vlan-vlan] command to configure the fat pseudo-wire load balancing per vlan on a PE router irrespective of the core facing interface being a port-channel or a non port-channel.
You can use the [no] port-channel load-balance src-dst-mixed-ip-port and the [no] port-channel load-balance mpls commands for port-channel load balancing.l
You can use the [no] platform mpls load-balance ingress-port command for ingress port-based P router load balalncing.
Restrictions and Usage Guidelines
Follow these restrictions and guidelines to configure H-Virtual Private LAN Service (VPLS) within a port-channel core interface:
•
TE/FRR from port channel bundles are not supported.
•
When a fat pseudo-wire is configured, the core facing interface should be from a ES20 or a ES40 line cards.
•
Fat pseudo-wire should be uniformly enabled across all peer PE routers.
•
P Router Load Balancing is supported.
•
Maximum of 6 VPLS capable Port Channels are supported.
•
Highly scaled VPLS setup can have implications on LACP fast switchover convergence. Even highly scaled multicast configuration over VPLS on port-channel interfaces can impact LACP fast switchover convergence.
SUMMARY STEPS
1.
enable
2.
configure platform
3.
platform vfi load-balance-label vlan [vlan|vlan-vlan] or port-channel load-balance src-dst-mixed-ip-port or [no] port-channel load-balance mpls or [no] platform mpls load-balance ingress-port
4.
exit
DETAILED STEPS
| |
Command
|
Purpose
|
Step 1
|
enable
Example:
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure platform
Example:
Router# configure platform
|
Enters the platform configuration mode.
|
Step 3
|
platform vfi load-balance-label vlan
[vlan|vlan-vlan]
Example:
Router(config)#
|
Configures fat pseudowire load balancing.
|
or
|
| |
port-channel load-balance
src-dst-mixed-ip-port
Example:
Router(config)#
|
Configures load balalncing.
|
or
|
| |
[no] port-channel load-balance mpls
Example:
Router(config)(config)#
|
Configures load balalncing.
|
or
|
| |
[no] platform mpls load-balance
ingress-port
Example:
Router(config)(config)#
|
Enables or disables P-router load balancing.
|
Step 4
|
exit
|
Exits from the configuration mode.
|
Verification
You can use the following cmmand on the RP or on the line card. Use the `|' output modifier to find interface you're interested in:
PE1#show mpls l2 vc 29999 det
Local interface: VFI 300 VFI up
Interworking type is Ethernet
Destination address: 13.13.13.13, VC ID: 29999, VC status: up Output interface: Tu0, imposed label stack {26 17} Preferred path: Tunnel0, active Default path: ready Next hop: point2point Create time: 05:43:17, last status change time: 04:18:37 Signaling protocol: LDP, peer 13.13.13.13:0 up Targeted Hello: 10.10.10.10(LDP Id) -> 13.13.13.13, LDP is UP Status TLV support (local/remote) : enabled/supported LDP route watch : enabled Label/status state machine : established, LruRru Last local dataplane status rcvd: No fault Last local SSS circuit status rcvd: No fault Last local SSS circuit status sent: No fault Last local LDP TLV status sent: No fault Last remote LDP TLV status rcvd: No fault Last remote LDP ADJ status rcvd: No fault MPLS VC labels: local 17, remote 17 Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive disabled, send disabled Control Word: On (configured: autosense) VC statistics:
transit packet totals: receive 100668489, send 774258179 transit byte totals: receive 6845457798, send 55718191727 transit packet drops: receive 0, seq error 0, send 0
You can use the following show command to check adjacencies on an ES+ linecard from the RP.
PE1-dfc7#show plat atom ether-vc vlan 300 AToM Ether VC Index(3): segtype(25)
seghandle(0x27BC5354)
Disposition : flags(17) vlanid(300) local_vc_label(17)
ForwardingTable: oper(6) flags(0x0) vlan(300) dest_index(0xB83)
Imposition: flags(0x71) egress_idx(0x5) ifnum(74)
tx_tvc(0x4B04) rvclbl[0](17) rigplbl[1](285) label[2](0)
label[3](0) ltl(0xB83) mac(0008.7c62.a800) qos_info(0x0)
Current Destination Index (0xB83)
loc_lbl acif_num fw_idx cword eg_ifnum ckt_idx vlan ac_hdl vc_hash
17 0 0x5 0x3 74 0x4 300 0x27BC5354 0x3
Platform Index(0x2D19ABC0) is_sw(1) is_vfi(1) vlan(300) pseudo_port_offset(4)
tx_tvc(0x4B04)
Statistics : Packets Bytes Drop Pkts Drop Bytes ID
Disposition: 15440 1049920 0 0 0
Imposition : 355628 25605216 0 0 0
Egress Vlan LTL Table vlan(300) ltl(0xE) ppe(3)
feature_cmn_enable(Yes) ft_enable(Yes) ft_bits(VPLS) split_horizon(1), num_labels(1)
tunnel_vc(Yes) same_npu(No) control_word(Yes) vc_type4(No) routed_mode_iw(No)
PolicyId(0x0) Flow_id(0x0) stat_id(0x9E1B4) fat_pw:(No)
XlifID(0xFFFF) tunnel_index(2) Tunnel(5)
Label1(0x11) exp3(0) exp2(0) exp1(0) exp0(0)
Label2(0x0) exp7(0) exp6(0) exp5(0) exp4(0)
Label3(0x0) poe_mask(0x0) poch_enabled(Yes)
mac_hi(0x87C62) mac_low(0xA800)
poch_slot(0xE), poch_number(0x1)
-----------------------------------------
TE Label Table for tunnel:(2):
num_lbls:(4) label1:(33) ttl1:(255), eos1:(0)
label2:(26) ttl2:(255), eos2:(0)
slot:(13), ltl_base:(502), mac:0015.2b19.a540
-----------------------------------------
same_slot(Yes) same_npu(Yes) prot_slot(Yes)
bkup_slot(Yes) backup_active(No) local(Yes)
ifnum(74) ppe(3) bkup_ifnum(37), bkup_ppe(3) prot_ifnum(74) prot_ppe(3)
------------------------------
Disposition MPLS Table at Label:(17):
vlan:(300) vc_type4:(0), control_word:(1), l2_fwd_permit(0)
imp_ltl_base:(0x75) imp_ltl_slot:(14) imp_ltl_off:(14)
routed_mode_iw:(0) dmac: 0000.0000.0000 fat_pw_enabled:(No)
tunnel_index:(2) stat_id:(647603) split_horizon:(0x1)
fat-pw:(0) fat-pw-internal:(0)
-----------------------------------------
Egress Vlan LTL Table vlan(300) ltl(0xE) ppe(3)
feature_cmn_enable(Yes) ft_enable(Yes) ft_bits(VPLS) split_horizon(1), num_labels(1)
tunnel_vc(Yes) same_npu(No) control_word(Yes) vc_type4(No) routed_mode_iw(No)
PolicyId(0x0) Flow_id(0x0) stat_id(0x9E1B4) fat_pw:(No)
XlifID(0xFFFF) tunnel_index(2) Tunnel(5)
Label1(0x11) exp3(0) exp2(0) exp1(0) exp0(0)
Label2(0x0) exp7(0) exp6(0) exp5(0) exp4(0)
Label3(0x0) poe_mask(0x0) poch_enabled(Yes)
mac_hi(0x87C62) mac_low(0xA800)
poch_slot(0xE), poch_number(0x1)
-----------------------------------------
TE Label Table for tunnel:(2):
num_lbls:(4) label1:(33) ttl1:(255), eos1:(0)
label2:(26) ttl2:(255), eos2:(0)
slot:(13), ltl_base:(502), mac:0015.2b19.a540
-----------------------------------------
same_slot(Yes) same_npu(Yes) prot_slot(Yes)
bkup_slot(Yes) backup_active(No) local(Yes)
ifnum(74) ppe(3) bkup_ifnum(37), bkup_ppe(3) prot_ifnum(74) prot_ppe(3)
------------------------------
Disposition MPLS Table at Label:(17):
vlan:(300) vc_type4:(0), control_word:(1), l2_fwd_permit(0)
imp_ltl_base:(0x75) imp_ltl_slot:(14) imp_ltl_off:(14)
routed_mode_iw:(0) dmac: 0000.0000.0000 fat_pw_enabled:(No)
tunnel_index:(2) stat_id:(647603) split_horizon:(0x1)
fat-pw:(0) fat-pw-internal:(0)
-----------------------------------------
Egress Vlan LTL Table vlan(300) ltl(0xE) ppe(3)
feature_cmn_enable(Yes) ft_enable(Yes) ft_bits(VPLS) split_horizon(1), num_labels(1)
tunnel_vc(Yes) same_npu(No) control_word(Yes) vc_type4(No) routed_mode_iw(No)
PolicyId(0x0) Flow_id(0x0) stat_id(0x9E1B4) fat_pw:(No)
XlifID(0xFFFF) tunnel_index(2) Tunnel(5)
Label1(0x11) exp3(0) exp2(0) exp1(0) exp0(0)
Label2(0x0) exp7(0) exp6(0) exp5(0) exp4(0)
Label3(0x0) poe_mask(0x0) poch_enabled(Yes)
mac_hi(0x87C62) mac_low(0xA800)
poch_slot(0xE), poch_number(0x1)
-----------------------------------------
TE Label Table for tunnel:(2):
num_lbls:(4) label1:(33) ttl1:(255), eos1:(0)
label2:(26) ttl2:(255), eos2:(0)
slot:(13), ltl_base:(502), mac:0015.2b19.a540
-----------------------------------------
same_slot(Yes) same_npu(Yes) prot_slot(Yes)
bkup_slot(Yes) backup_active(No) local(Yes)
ifnum(74) ppe(3) bkup_ifnum(37), bkup_ppe(3) prot_ifnum(74) prot_ppe(3)
------------------------------
Disposition MPLS Table at Label:(17):
vlan:(300) vc_type4:(0), control_word:(1), l2_fwd_permit(0)
imp_ltl_base:(0x75) imp_ltl_slot:(14) imp_ltl_off:(14)
routed_mode_iw:(0) dmac: 0000.0000.0000 fat_pw_enabled:(No)
tunnel_index:(2) stat_id:(647603) split_horizon:(0x1)
fat-pw:(0) fat-pw-internal:(0)
-----------------------------------------
Egress Vlan LTL Table vlan(300) ltl(0xE) ppe(3)
feature_cmn_enable(Yes) ft_enable(Yes) ft_bits(VPLS) split_horizon(1), num_labels(1)
tunnel_vc(Yes) same_npu(No) control_word(Yes) vc_type4(No) routed_mode_iw(No)
PolicyId(0x0) Flow_id(0x0) stat_id(0x9E1B4) fat_pw:(No)
XlifID(0xFFFF) tunnel_index(2) Tunnel(5)
Label1(0x11) exp3(0) exp2(0) exp1(0) exp0(0)
Label2(0x0) exp7(0) exp6(0) exp5(0) exp4(0)
Label3(0x0) poe_mask(0x0) poch_enabled(Yes)
mac_hi(0x87C62) mac_low(0xA800)
poch_slot(0xE), poch_number(0x1)
-----------------------------------------
TE Label Table for tunnel:(2):
num_lbls:(4) label1:(33) ttl1:(255), eos1:(0)
label2:(26) ttl2:(255), eos2:(0)
slot:(13), ltl_base:(502), mac:0015.2b19.a540
-----------------------------------------
same_slot(Yes) same_npu(Yes) prot_slot(Yes)
bkup_slot(Yes) backup_active(No) local(Yes)
ifnum(74) ppe(3) bkup_ifnum(37), bkup_ppe(3) prot_ifnum(74) prot_ppe(3)
------------------------------
Disposition MPLS Table at Label:(17):
vlan:(300) vc_type4:(0), control_word:(1), l2_fwd_permit(0)
imp_ltl_base:(0x75) imp_ltl_slot:(14) imp_ltl_off:(14)
routed_mode_iw:(0) dmac: 0000.0000.0000 fat_pw_enabled:(No)
tunnel_index:(2) stat_id:(647603) split_horizon:(0x1)
fat-pw:(0) fat-pw-internal:(0)
-----------------------------------------
VC Summary: vlan(300) VC count(1)
Router#show mls cef adjacency entry 213058 module 2
Index: 213058 smac: a100.0000.0006, dmac: 0003.6c41.d800
mtu: 1518, vlan: 1014, dindex: 0x0, l3rw_vld: 1
You can use the following show command from a DFC card to see the TTFIB entry (if present).
Router-dfc2# show platform npc vpls disp-table np 0 label 18
Disposition MPLS Table at Label:(18):
vlan:(0) vc_type4:(0), control_word:(0), l2_fwd_permit(0)
imp_ltl_base:(0x0) imp_ltl_slot:(0) imp_ltl_off:(0)
routed_mode_iw:(0) dmac: 0000.0000.0000 fat_pw_enabled:(No)
tunnel_index:(0) stat_id:(0) split_horizon:(0x0)
fat-pw:(0) fat-pw-internal:(1)
-----------------------------------------