Understanding EoMPLS

EoMPLS provides a tunneling mechanism for Ethernet traffic through an MPLS-enabled Layer 3 core. It encapsulates Ethernet protocol data units (PDUs) inside MPLS packets and using label stacking forwards them across the MPLS network. EoMPLS is an Internet Engineering Task Force (IETF) standard-track protocol based on the Martini draft, specifically the draft-martini-l2circuit-encap-mpls-01 and draft-martini-l2circuit-transport-mpls-05 sections.

EoMPLS allows service providers to offer customers a virtual Ethernet line service or VLAN service using the service provider's existing MPLS backbone. It also simplifies service provider provisioning, since the provider edge customer-leading edge (PE-CLE) equipment only needs to provide Layer 2 connectivity to the connected customer edge (CE) equipment.

Figure 22-1 shows an example of EoMPLS implemented on a service provider network. In the example, the ML-Series card acts as PE-CLE equipment connecting to the Cisco GSR 12000 Series through an RPR access ring. Point-to-point service is provided to CE equipment in different sites that connect through ML-Series cards to the ML-Series card RPR access ring.

Figure 22-1 EoMPLS Service Provider Network

Implementing EoMPLS on a service provider network requires ML-Series card interfaces to play three major roles. The ML-Series card interface roles must be configured on both sides of the EoMPLS point-to-point service crossing the MPLS core.

•ML-Series card interfaces connect the provider's network directly to the customer edge equipment and are known as the PE-CLE interfaces. This PE-CLE interface on the ML-Series card is FastEthernet or GigabitEthernet and is configured to be an endpoint on the EoMPLS point-to-point session.

•An ML-Series card interface connects to a core MPLS interface. This interface is GigabitEthernet or FastEthernet and connects to the port of a Cisco GSR 12000 Series or similar device that is on the MPLS network. This MPLS cloud-facing interface bridges the SPR interface and the MPLS cloud.

Implementing EoMPLS across a service provider's network requires setting up directed Label Distribution Protocol (LDP) sessions (LSPs) between the ingress and egress PE-CLE routers to exchange information for a virtual circuit (VC). Each VC consists of two LSPs, one in each direction, since an LSP is a directed path to carry Layer 2 frames in one direction only.

EoMPLS uses a two-level label stack to transport Layer 2 frames, where the bottom/inner label is the VC label and the top/outer label is the tunnel label. The VC label is provided to the ingress PE-CLE by the egress PE-CLE of a particular LSP to direct traffic to a particular egress interface on the egress PE-CLE. A VC label is assigned by the egress PE-CLE during the VC setup and represents the binding between the egress interface and a unique and configurative VC ID. During a VC setup, the ingress and egress PE-CLE exchange VC label bindings for the specified VC ID.

An EoMPLS VC on the ML-Series card can transport an Ethernet port or an IEEE 802.1Q VLAN over MPLS. A VC type 5 tunnels an Ethernet port and a VC type 4 transports a VLAN over MPLS. In a VC type 5 session, the user can expect any traffic that is received on an ML-Series card PE-CLE port with an mpls l2transport route command to be tunneled to the remote egress interface on the far-end ML-Series card PE-CLE port. With a VC type 4, a user can expect the tunnel to act as physical extension to that VLAN. The EoMPLS session commands are entered on a VLAN subinterface on the PE-CLE, and only VLAN-tagged traffic received on that port will be tunneled to the remote PE-CLE.

EoMPLS Support

EoMPLS on the ML-Series card has the following characteristics:

•EoMPLS is only supported on FastEthernet and GigabitEthernet interfaces or subinterfaces.

•MPLS tag switching is only supported on SPR interfaces.

•Class of service (CoS) values are mapped to the experimental (EXP) bits in the MPLS label, either statically or by using the IEEE 802.1p bits (default).

•The ingress PE-CLE ML-Series card sets the time-to-live field to 2 and the tunnel label to a value of 255.

•Ingress PE-CLE ML-Series cards set the S bit of the VC label to 1 to indicate that the VC label is at the bottom of the stack.

•Since EoMPLS traffic is carried over the RPR, whatever load balancing is applicable for the traffic ingressing RPR is also applicable for the EoMPLS traffic.

•EoMPLS is supported over RPR under GFP-F framing and HDLC framing.

•The Ethernet over MPLS feature is part of the Cisco Any Transport over MPLS (AToM) product set.

•The ML-Series card hosting the EoMPLS endpoint ports must be running the MPLS microcode image to support EoMPLS. For more information on multiple microcode images, see the "Multiple Microcode Images" section. Other ML-Series cards in the RPR are not restricted to the MPLS microcode image.

EoMPLS Restrictions

EoMPLS on the ML-Series card has the following restrictions:

•Packet-based load balancing is not supported. Instead, circuit-ID based load balancing is used.

•Zero hop or hairpin VCs are not supported. A single ML-Series card cannot be both the source and destination for a VC.

•MPLS control word for sequencing of data transmission is not supported. Packets must be received and transmitted without control word.

•Sequence checking or resequencing of EoMPLS traffic is not supported. Both depend on the control word to function.

•Maximum transmission unit (MTU) fragmentation is not supported.

•Explicit-null label for back-to-back LDP sessions is not supported.

Caution Since MTU fragmentation is not supported across the MPLS backbone, the network operator must make sure the MTU of all intermediate links between endpoints is sufficient to carry the largest Layer 2 PDU.

EoMPLS Quality of Service

The EXP is a 3-bit field and part of the MPLS header. It was created by the IETF on an experimental basis, but later became part of the standard MPLS header. The EXP bits in the MPLS header carry the packet priority. Each label switch router along the path honors the packet priority by queuing the packet into the proper queue and servicing the packet accordingly.

By default, the ML-Series card does not map the IEEE 802.1P bits in the VLAN tag header to the MPLS EXP bits. The MPLS EXP bits are set to a value of 0.

There is no straight copy between Layer 2 CoS and MPLS EXP, but the user can use the set mpls experimental action to set the MPLS EXP bit values based on a match to 802.1p bits. This mapping occurs at the entry point, the ingress of the network.

Quality of service (QoS) for EoMPLS traffic on ML-Series cards uses strict priority and/or weighted round robin scheduling in the egress interface of both imposition and disposition router. This requires selection of the service class queue that determines the type of scheduling. In the imposition router, the priority bits EXP or RPR CoS that are marked based on policing are used to select the service class queue and in the disposition router, the dot1p CoS bits (which are copied from EXP bits of the labels) are used to do the same. In addition to scheduling in the egress interface, the output policy action can also include remarking of EXP and RPR CoS bits.

EoMPLS on the ML-Series card uses the Cisco Modular Quality of Service Command-Line Interface (MQC), just like the standard QoS on the ML-Series card. But the full range of MQC commands are not available. Table 22-1 lists the applicable MQC statements and actions for the ML-Series card interfaces.

•The MPLS backbone must use an Interior Gateway Protocol (IGP) routing protocol, for example, Intermediate System-to-Intermediate System (IS-IS) Protocol or Open Shortest Path First (OSPF).

•Tag switching of IP packets must be enabled on the SPR interface for the PE-CLE ML-Series card.

VC Type 4 Configuration on PE-CLE Port

The customer-facing FastEthernet or GigabitEthernet port must be provisioned with EoMPLS and a VC type 4 or type 5. Interface GigE 0.1 on card A and card C plays the VC type 4 role in Figure 22-2. For more information on the role of a VC type 4, see the "Understanding EoMPLS" section.

To provision a VC type 4, which transport IEEE 802.1Q VLAN packets between two PE-CLE ML-Series cards, perform the following procedure on the customer facing port, beginning in global configuration mode:

Command

Purpose

Step 1

Router(config)# mpls label protocol ldp

Specifies LDP as the label distribution protocol.

LDP must be specified. The ML-Series card does not operate EoMPLS with the default TDP as the label distribution protocol.

Step 2

Router(config)# interface loopback0

Enters loopback interface configuration mode.

Step 3

Router(config-if)# ip addressip-address 255.255.255.255

Assigns an IP address to the loopback interface. This loopback IP addresses is used to identify the peer in the EoMPLS point-to-point session.

Specifies the Ethernet subinterface for the imposition interface. Make sure the subinterface on the adjoining CE equipment is on the same VLAN as this subinterface.

Step 5

Router(config-subif)# no ip address

Disables the IP address if an IP address is assigned.

Step 6

Router(config-subif)# encapsulation dot1Q vlan-id

Enables the subinterface to accept 802.1q VLAN packets. Make sure the VLAN ID is the same as the VLAN ID on the adjoining CE equipment.

Step 7

Router(config-subif)# mpls l2transport routedestination vc-id

or

xconnect destination vc-id encapsulation mpls

By entering the mpls l2transport route or the xconnect interface configuration command on a dot1Q VLAN sub-interface for VLAN-based EoMPLS, you can configure an EoMPLS tunnel to forward traffic based on the customer VLAN.

mpls l2transport route specifies the VC to use to transport the VLAN packets. Initiates a remote LDP session with the peer point-to-point endpoint interface.

•destination specifies the loopback IP address for the remote ML-Series at the other end of the VC (PE-CLE).

•vc-id is a value you supply. It must be unique for each VC. The VC ID is used to connect the endpoints of the VC. Specify the same VC ID on both ends of the VC.

Note The xconnect command is a newer version of the mpls l2transport route interface configuration command.

Note Use the no mpls l2transport route destination vc-id or no xconnect destination vc-id encapsulation mpls interface command to delete the EoMPLS tunnel.

Step 8

Router(config-subif)# end

Return to privileged EXEC mode.

Step 9

Router# show mpls l2transport vc

Verify the configuration.

Step 10

Router# copy running-config startup-config

(Optional) Save your entries in the configuration file

VC Type 5 Configuration on PE-CLE Port

The customer-facing FastEthernet or GigabitEthernet port must be provisioned with EoMPLS and a VC type 4 or type 5. Interface GigE 1 on card A and card C plays the VC type 5 role in Figure 22-2. For more information on the role of a VC type 5, see the "Understanding EoMPLS" section.

To provision a VC type 5, which transports the configured port's packets between two PE-CLE ML-Series cards, perform the following procedure on the customer facing port, beginning in global configuration mode:

Command

Purpose

Step 1

Router(config)# mpls label protocol ldp

Specifies LDP as the label distribution protocol.

LDP must be specified. The ML-Series card does not operate EoMPLS with the default TDP as the label distribution protocol.

Step 2

Router(config)# interface loopback0

Enters loopback interface configuration mode.

Step 3

Router(config-if)# ip address ip-address 255.255.255.255

Assigns an IP address to the loopback interface. This loopback IP addresses is used to identify the peer in the EoMPLS point-to-point session.

By entering the mpls l2transport route or the xconnect interface configuration command on a VLAN for VLAN-based EoMPLS, you can configure an EoMPLS tunnel to forward traffic based on the customer VLAN.

mpls l2transport route specifies the VC to use to transport the VLAN packets. Initiates a remote LDP session with the peer point-to-point endpoint interface.

•destination specifies the loopback IP address for the remote ML-Series at the other end of the VC (PE-CLE).

•vc-id is a value you supply. It must be unique for each VC. The VC ID is used to connect the endpoints of the VC. Specify the same VC ID on both ends of the VC.

Note The xconnect command is a newer version of the mpls l2transport route interface configuration command.

Note Use the no mpls l2transport route destination vc-id or no xconnect destination vc-id encapsulation mpls interface command to delete the EoMPLS tunnel.

Step 7

Router(config-subif)# end

Return to privileged EXEC mode.

Step 8

Router# show mpls l2transport vc

Verify the configuration.

Step 9

Router# copy running-config startup-config

(Optional) Save your entries in the configuration file.

EoMPLS Configuration on PE-CLE SPR Interface

To enable the RPR to act as an access ring for the MPLS cloud, you must provision the SPR interface on the same ML-Series card that hosts the EoMPLS PE-CLE FastEthernet or GigabitEthernet interfaces. Interface SPR 1 on card A and card C plays this role in Figure 22-2.

Note SPR subinterfaces do not support MPLS.

To provision the SPR interface for MPLS, perform the following procedure, beginning in global configuration mode:

Command

Purpose

Step 1

Router(config)# mpls label protocol
ldp

Specifies LDP as the label distribution protocol.

LDP must be specified. The ML-Series card does not operate EoMPLS with the default TDP as the label distribution protocol.

Step 2

Router(config)# interfacespr 1

Enters RPR interface configuration mode.

Step 3

Router(config-if)# ip addressip-address mask

Assigns an IP address to the RPR interface for MPLS.

Step 4

Router(config-if)# mpls ip

Implements tag switching on the SPR interface.

Step 5

Router(config-if)# end

Exits interface configuration mode.

Step 6

Router# copy running-config
startup-config

Saves the running configuration file to the startup configuration file.

Bridge Group Configuration on MPLS Cloud-facing Port

A FastEthernet or GigabitEthernet port from an ML-Series card in the RPR must connect to the interface of a router that is part of the MPLS cloud. A bridge group must be created that contains this FastEthernet or GigabitEthernet port and the SPR subinterface. Interface GigE 0 on card B and card D plays this role in Figure 22-2.

To provision the MPLS cloud-facing port for EoMPLS, perform the following procedure, beginning in global configuration mode:

Setting the Priority of Packets with the EXP

Ethernet over MPLS provides QoS using the three EXP bits in a label to determine the priority of packets. To support QoS between ML-Series card point-to-point endpoints, set the experimental bits in both the VC and tunnel labels.

Perform the following steps to set the experimental bits:

Command

Purpose

Step 1

Router(config)# class-map
class-name

Specifies the user-defined name of the traffic class.

Step 2

Router(config-cmap)# match
any

Specifies that all packets will be matched.

Step 3

Router(config-cmap)# end

Returns to global configuration mode.

Step 4

Router(config)# policy-map
policy-name

Specifies the name of the traffic policy to configure.

Step 5

Router(config-pmap)# class
class-name

Specifies the name of a predefined traffic class, which was configured with the class-map command, used to classify traffic to the traffic policy.

Step 6

Router (config-pmap-c)# set
mpls experimental imposition
value

Designates the value to which the MPLS bits are set if the packets match the specified policy map.

Understanding MPLS-TE

MPLS traffic is normally routed to the least cost path as calculated by OSPF or another IGP routing protocol. This routing gives little or no consideration to varying bandwidth demands or link loads. MPLS traffic engineering (MPLS-TE) overcomes this by mapping traffic flows to paths that take bandwidth demands into account. These paths are known as MPLS-TE tunnels, and they may deviate from the normal IGP calculated routes.

MPLS-TE (RFC 2702) allow service providers to create traffic engineered tunnels to reserve bandwidth for specific types of traffic and to provide point-to-point services for end customers. The ML-Series card supports a maximum of 24 MPLS-TE tunnels. MPLS-TE tunnels can carry a VC type 5, which tunnels an Ethernet port, or a VC type 4, which tunnels an 802.1Q VLAN.

For the ML-Series card to use MPLS-TE, you need to configure three main components. First, you must implement an IGP routing protocol that conveys and distributes information about the link resources throughout the MPLS network. For this purpose, the ML-Series card supports OSPF and OSPF-TE extensions (RFC 2328 and RFC 2370). MPLS-TE extensions for other routing protocols, such as IS-IS, are not supported on the ML-Series card.

Second, you need to configure a signalling protocol to reserve needed resources and establish LSPs across the MPLS network. MPLS-TE tunnels use Resource Reservation Protocol (RSVP) messages (RFC 2205 and RFC 3209) to accomplish this. The ML-Series card supports RSVP and the RSVP extensions for LSP tunnels on both POS interfaces and RPR (SPR) interfaces.

For the third component, you need to set up an MPLS-TE tunnel on the appropriate ML-Series card interface. This requires creating an MPLS tunnel interface with an IP address, destination, encapsulation, bandwidth, and explicit or dynamic path.

RSVP on the ML-Series Card

The ML-Series card uses RSVP to establish MPLS-TE tunnels and the associated tunnel labels. Targeted LDP is still used to establish the VC Labels. Also, RSVP is only used to guarantee the bandwidth on the intermediate nodes on the tunnel. On the ML-Series card, which will be the end-point of the MPLS-TE tunnel, RSVP is used only for bandwidth allocation.

You configure bandwidth guarantees on the ML-Series card ports using the Cisco Modular Quality of Service Command-Line Interface (MQC), just like the standard QoS on the ML-Series card. For more information, see the "EoMPLS Quality of Service" section.

The ML-Series card does not use RSVP messages to carry the information for EoMPLS VCs. LDP sessions are still used to exchange VC information. Also RSVP does not guarantee bandwidth. It only allocates bandwidth.

The ML-Series card supports RSVP summary refresh and RSVP refresh reduction (RFC 2961). Refresh reduction is a set of extensions that reduce the messaging load imposed by RSVP. This helps RSVP scale to support larger numbers of flows. The global configuration command ip rsvp signalling refresh reduction enables this feature.

Ethernet FCS Preservation

You can configure the ML-Series card to encapsulate and preserve the customer's Ethernet FCS. The ML-Series card will carry the Ethernet FCS end-to-end and unmodified across EoMPLS or EoMPLS-TE tunnels. This end-to-end preservation of the original Ethernet FCS is useful for troubleshooting.

Ethernet FCS preservation is off by default on the ML-Series card. Configure Ethernet FCS preservation at the interface or sub-interface configuration level with the [no] fcs-preservation-on command. To operate correctly, both ends of the EoMPLS tunnel need to be configured for FCS preservation.

Configuring MPLS-TE

Perform the following tasks on the MPLS network before you enable MPLS-TE on the ML-Series card :

•Turn on MPLS tunnels

•Turn on OSPF

To configure MPLS-TE on the ML-Series card, perform the tasks described in the following sections:

Note Cisco Express Forwarding (CEF) is on by default on the ML-Series card.

Configuring an ML-Series Card for Tunnels Support

To configure an ML-Series card to support tunnels, use the following command in global configuration mode.

Command

Purpose

Step 1

Router(config)# mpls traffic-eng tunnels

Enables the MPLS-TE tunnel feature on a device.

Configuring an Interface to Support RSVP-Based Tunnel Signalling and IGP Flooding

To configure an interface to support RSVP-based tunnel signalling and IGP flooding, use the following commands in interface configuration mode:

Note You must enable the tunnel feature on interfaces or subinterfaces that you want to support MPLS-TE.

Note A VC type 4 requires one POS interface to be configured for MPLS-TE tunnel and the other POS interface configured for the 802.1Q tunnel.

Command

Purpose

Step 1

Router(config-if)#mpls traffic-eng tunnels

Enables MPLS-TE tunnels on an RPR (SPR) interface or on a POS interface.

Step 2

Router(config-if)# ip rsvp bandwidth bandwidth

Enables RSVP for IP on an interface and specifies the amount of bandwidth that will be reserved.

For a description of the ip rsvp interface command syntax, see the Cisco IOS Quality of Service Solutions Command Reference.

Configuring OSPF and Refresh Reduction for MPLS-TE

For a description of the OSPF commands (excluding the OSPF traffic engineering commands), see the Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols.

To configure OSPF and Refresh Reduction for MPLS-TE, use the following commands beginning in global configuration mode.

Command

Purpose

Step 1

Router(config)# router ospf process-id

Configures an OSPF routing process for IP and places the router in configuration mode.

The process-id argument is an internally used identification parameter for an OSPF routing process. It is locally assigned and can be any positive integer. Assign a unique value for each OSPF routing process.

Step 2

Router(config-router)# mpls
traffic-eng area area-id

Turns on MPLS-TE for a specified OSPF area.

Step 3

Router(config-router)# mpls
traffic-eng router-id loopback0

Specifies that the traffic engineering router identifier for the node is the IP address associated with interface loopback0.

Step 4

Router(config)# ip rsvp signalling
refresh reduction

Reduces the messaging load imposed by RSVP.

Configuring an MPLS-TE Tunnel

To configure an MPLS-TE tunnel, use the following commands, beginning in global configuration mode:

Command

Purpose

Step 1

Router(config)# interface tunnel

Configures an interface type and enters interface configuration mode.

Step 2

Router(config)#ip unnumbered loopback0

Gives the tunnel interface an IP address.

An MPLS-TE tunnel interface should be unnumbered because it represents a unidirectional link.

Step 3

Router(config-if)# tunnel destination
A.B.C.D

Specifies the destination for a tunnel.

Step 4

Router(config-if)# tunnel mode mpls
traffic-eng

Sets the tunnel encapsulation mode to MPLS-TE.

Step 5

Router(config-if)# tunnel mpls
traffic-eng autoroute announce

Specifies IGP should use the tunnel (if the tunnel is up) in its enhanced shortest path first (SPF) calculation.

Configures the tunnel to use a named IP explicit path or a dynamic path.

MPLS-TE Configuration Example

Figure 22-3 illustrates the sample network that the configuration commands reference. Example 22-5 lists relevant portions of the configuration files for enabling MPLS-TE on ML-Series card A in the sample network. ML-Series card A is configured with an explicit path.

Figure 22-3 MPLS-TE Configuration Example

Example 22-5 ML-Series Card A Configuration

microcode mpls

ip subnet-zero

no ip domain-lookup

!

mpls label protocol ldp

mpls traffic-eng tunnels

no mpls traffic-eng auto-bw timers frequency 0

!

!

!

interface Loopback0

ip address 222.222.222.222 255.255.255.255

!

interface Tunnel0

ip unnumbered Loopback0

tunnel destination 212.212.212.212

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng path-option 1 explicit identifier 1

!

interface Tunnel1

ip unnumbered Loopback0

tunnel destination 212.212.212.212

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng path-option 2 explicit identifier 2

!

interface GigabitEthernet0

no ip address

shutdown

!

interface GigabitEthernet1

no ip address

!

interface GigabitEthernet1.1

encapsulation dot1Q 10

fcs-preservation-on

mpls l2transport route 212.212.212.212 222

!

interface GigabitEthernet1.2

encapsulation dot1Q 20

mpls l2transport route 212.212.212.212 223

!

interface GigabitEthernet1.3

encapsulation dot1Q 30

mpls l2transport route 212.212.212.212 224

!

interface POS0

ip address 170.170.170.172 255.255.255.0

mpls traffic-eng tunnels

tag-switching ip

ip rsvp bandwidth 10000

!

interface POS1

ip address 2.1.1.22 255.255.255.0

mpls traffic-eng tunnels

tag-switching ip

ip rsvp bandwidth 10000

!

router ospf 1

mpls traffic-eng router-id Loopback0

mpls traffic-eng area 0

log-adjacency-changes

network 2.1.1.22 0.0.0.0 area 0

network 170.170.170.172 0.0.0.0 area 0

network 222.222.222.222 0.0.0.0 area 0

!

ip classless

no ip http server

!

!

ip explicit-path identifier 1 enable

next-address 2.1.1.1

next-address 192.168.3.2

next-address 192.168.3.1

next-address 2.2.1.1

next-address 2.2.1.2

next-address 212.212.212.212

!

ip explicit-path identifier 2 enable

next-address 170.170.170.171

next-address 192.168.3.2

next-address 192.168.3.1

next-address 2.2.1.1

next-address 2.2.1.2

next-address 212.212.212.212

!

!

!

!

control-plane

!

!

line con 0

exec-timeout 0 0

line vty 0 4

exec-timeout 0 0

password xxx

no login

Monitoring and Verifying MPLS-TE and IP RSVP

Table 22-3 shows the privileged EXEC commands supported to monitor and verify the state of MPLS-TE tunnels on the ML-Series cards.

Table 22-3 Commands for Monitoring and Verifying MPLS-TE

Command

Purpose

show mpls traffic-eng autoroute

Displays tunnels announced to the Interior Gateway Protocol (IGP), including interface, destination, and bandwidth

show mpls traffic-eng link-management
admission-control

Displays which tunnels were admitted locally and their parameters (such as, priority, bandwidth, incoming and outgoing interface, and state).

show mpls traffic-eng link-management
advertisements

Displays local link information that MPLS traffic engineering link management is currently flooding into the global traffic engineering topology.

show mpls traffic-eng link-management
bandwidth-allocation

Displays current local link information.

show mpls traffic-eng link-management
igp-neighbors

Displays IGP neighbors.

show mpls traffic-eng link-management
interfaces

Displays interface resource and configuration information.

show mpls traffic-eng link-management summary

Displays a summary of link management information including link counts.