Guest

Cisco IOS Software Releases 12.1 Special and Early Deployments

Ethernet over MPLS for the Cisco 7600 Series Internet Router

Table Of Contents

Ethernet over MPLS for the Cisco 7600 Series Internet Routers

Feature Overview

Benefits

Restrictions

Multilevel Labeling

Quality of Service Support

802.1Q Tunneling with EoMPLs

Protocol Tunneling with EoMPLS

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Enabling VLAN-Based Ethernet Over MPLS

Enabling Port-Based EoMPLS

Verifying the Configuration

Enabling Quality of Service

Setting the Priority of Packets with the Experimental Bits

Enabling Traffic Shaping

Displaying the Traffic Policy Assigned to an Interface

Configuration Examples

Configuring Ethernet over MPLS

Configuring Port-Based EoMPLS

Configuring Quality of Service

Command Reference

debug mpls l2transport vlan control

debug mpls l2transport vlan distributed

mpls l2transport route

show mpls l2transport vc


Ethernet over MPLS for the Cisco 7600 Series Internet Routers


Feature History

Release
Modification

12.1(8a)E

This feature was introduced.

12.1(8a)EX

Introduced support for EoMPLS on the optical services modules (OSMs).

12.1(11b)E

Introduced support for EoMPLS on the WS-X6182-2PA FlexWAN.

12.1(11b)EX1

Introduced support for 802.1Q Tunneling with EoMPLS.

12.1(13)E1

Introduced support for Protocol Tunneling with EoMPLS.


This feature module describes the Ethernet over Multiprotocol Label Switching (MPLS) feature, which transports Layer 2 VLAN packets across an MPLS backbone. This document contains information about the benefits of Ethernet over MPLS (EoMPLS) and lists supported platforms. It also provides configuration tasks, examples and related commands.

This document includes the following sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Configuration Examples

Command Reference

Feature Overview

This feature allows you to connect two VLAN networks that are in different locations, without using expensive bridges, routers, or switches at the VLAN locations. You can enable the MPLS backbone network to accept Layer 2 VLAN traffic by configuring the label edge routers (LERs) at the both ends of the MPLS backbone.

Adding a point-to-point virtual circuit (VC) requires you to configure the two VC endpoints at the two label edge routers. Only the two LERs at the ingress/egress points of the MPLS backbone know about the VCs dedicated to transporting Layer 2 VLAN traffic. All other routers do not have table entries for the VCs dedicated to transporting layer 2 VLAN traffic.

Benefits

As Internet service providers (ISPs) begin to deploy IP/MPLS backbones, services including frame switching must be supported. The Ethernet over MPLS feature allows an ISP to transport Layer 2 VLAN frames over an MPLS backbone.

Restrictions

The following services are not supported with the Ethernet over MPLS feature:

Fragmentation and Reassembly: Because Ethernet over MPLS does not allow packets to be fragmented and reassembled, ensure that the maximum transmission unit (MTU) of all intermediate links between endpoints is sufficient to carry the largest Layer 2 VLAN cell received.

Address Format: When OSPF is used as the IGP, all loopback addresses on PE routers must be configured with 32-bit masks to ensure proper operation of MPLS forwarding between PE routers.

Packet Format: EoMPLS supports VLAN packets that conform to the IEEE's 802.1Q standard. The 802.1Q specification establishes a standard method for inserting VLAN membership information into Ethernet frames.

Preserving 802.1 P bits and IP precendence bits: In order to preserve both 802.1q P bits and IP precedence bits, disable QoS globally. Once the QoS is enabled on a Layer 2 port, either 802.1q P bits or IP precedence bits can be preserved with the trusted configuration. However, the unpreserved bits are automatically overwritten by the value of preserved bits. For instance, If you preserve the P bits, the IP precedence bits are overwritten with the value of the P bits.

Private VLANs: EoMPLS is not supported with private VLANs.

VLANs for EoMPLS: For POS cards, the maximum number of VLANs used for EoMPLS is 1005.

Converting to a Previous Release of EoMPLS: To use a previous release of EoMPLS, first remove the following command from your saved configuration commands:

mpls label range

Layer 2 Connections: The following restrictions apply to using Layer 2 connection with Ethernet over MPLS:

You cannot have a direct Layer 2 connection between PEs with Ethernet over MPLS.

You cannot have more than one Layer 2 connection between routers if those routers are configured to transport Ethernet VLAN packets over the MPLS backone. Adding a second Layer 2 connection causes the spanning tree state to constantly toggle if you disable spanning tree on the peer router.

Ethernet over MPLS and Trunks: The following restrictions apply to using trunks with Ethernet over MPLS. For more information, see the Cisco 7600 Series Internet Router software documentation.

Spanning Tree: To support Ethernet spanning tree bridge protocol data units (BPDUs) across an EoMPLS cloud, you must disable the supervisor engine spanning tree for the Ethernet over MPLS VLAN. This ensures that the EoMPLS VLANs are carried only on the trunk to the customer switch. Otherwise, the BPDUs are directed to the supervisor engine and not to the EoMPLS cloud.

Native VLAN: The native VLAN of a trunk must not be configured as an EoMPLS VLAN.

These sections describe EoMPLS features supported:

Multilevel Labeling

Quality of Service Support

802.1Q Tunneling with EoMPLs

Protocol Tunneling with EoMPLS

Multilevel Labeling

Label edge routers (LERs) connected to the MPLS backbone perform label imposition and disposition. The imposition LER encapsulates the Layer 2 VLAN packet into an MPLS PDU to transport it across the backbone to the disposition LER. The disposition LER takes the MPLS PDU, de-encapsulates the Layer 2 VLAN packet, and delivers it to the correct interface.

When the imposition LER encapsulates a Layer 2 VLAN packet to route it across the MPLS backbone, it includes a label stack with two levels of labels:

An Internal Gateway Protocol (IGP) stack, also known as a tunnel label

A VC-based label

The MPLS backbone uses the IGP labels to transport the VLAN packet from the ingress to the egress LER. The egress LSR uses the VC-based label to select the outgoing interface for the VLAN packet.

For configuration information, see the "Enabling VLAN-Based Ethernet Over MPLS" section.

Quality of Service Support

Ethernet over MPLS provides Quality of Service (QoS) using the three experimental bits in a label to determine the priority of packets. To support QoS between LERs, you set the experimental bits in both the VC and tunnel labels. The experimental bits need to be set in the VC label because the tunnel label is popped at the penultimate router.

802.1Q Tunneling with EoMPLs

802.1Q tunneling enables service providers to use a single VLAN to support customers who have multiple VLANs, while preserving customer VLAN IDs and keeping traffic in different customer VLANs segregated.

For configuration and general information on 802.1Q tunneling, refer to the Cisco 7600 Series Internet Router IOS Software Configuration Guide, Release 12.1(11b)EX.

To support 802.1Q tunneling in a topology where a Layer 2 device connects to an MPLS network through a Cisco 7600 series Internet Router or a Catalyst 6500 series switch functioning as a PE, the ingress LAN port on the PE that receives the 802.1Q-in-802.1Q encapsulated traffic is configured as a tunnel port. When this ingress 802.1Q tunnel port receives 802.1Q-in-802.1Q traffic from a CLE, it forwards the frame to the egress WAN port where an MPLS tag is added to the frame header before it is mapped to a VC and forwarded to the next MPLS PE.

By specifying the VC-type in the mpls l2transport route command as either VLAN-based or port-based, you can configure an EoMPLS tunnel to forward traffic based on either the customer VLAN or the entire Ethernet port. By default EoMPLS forwarding on the Catalyst 6500 series switch and the Cisco 7600 series Internet Router is VLAN-based. To forward 802.1Q-in-802.1Q encapsulated traffic through the MPLS core to a specific recipient on the other side of the MPLS network, configure the VC type as port-based. To forward 802.1Q-in-802.1Q encapsulated traffic from an access device to a PE router, configure the VC type as VLAN-based. For configuration information, see the "Enabling Quality of Service" section.

Protocol Tunneling with EoMPLS

Support for protocol tunneling over an EoMPLS link allows protocol data units (PDUs) (CDP, STP, and VTP) to be tunneled through an MPLS network. To support protocol tunneling in a topology where a Layer 2 device connects to an MPLS network through a Cisco 7600 series Internet Router or a Catalyst 6500 series switch functioning as a PE, the ingress LAN port on the PE that receives the Layer 2 protocol traffic is configured as a tunnel port and the Layer 2 protocol traffic is encapsulated before it is forwarded over the MPLS network.

For general overview and configuration information for protocol tunneling on the Cisco 7600 series Internet Router and the Catalyst 6500 series switch, refer to the Software Configuration Guides and Command References for these platforms at the following URLs:

http://www.cisco.com/univercd/cc/td/doc/product/core/cis7600/index.htm

http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/index.htm

Related Documents

Refer to the following documents for more information:

MPLS on Cisco Routers

MPLS Label Distribution Protocol

Cisco 7600 Series Internet Router hardware and software documentation

Configuring the Modular Quality of Service Command-Line Interface

Modular Quality of Service Command-Line Interface Overview

Supported Platforms

The Ethernet over MPLS feature is supported on the Cisco 7600 Series Internet router at the edge with the following modules

OC3, OC12, OC48 POS, and OC48 POS/DPT optical services modules


Note On the OC48/STM-16 POS/DPT OSM, Ethernet over MPLS is supported in POS mode only; not DPT mode.


Four-port Gigabit Ethernet WAN modules

WS-X6182-2PA FlexWAN

PA-POS-OC3MM

PA-POS-OC3SMI

PA-POS-OC3SML

PA-POS-2OC3

PA-A3-OC3MM

PA-A3-OC3SMI

PA-A3-OC3SML

PA-A3-T3

PA-A3-E3

PA-A6-OC3MM

PA-A6-OC3SMI

PA-A6-OC3SML

PA-A6-T3

PA-A6-E3

PA-T3

PA-2T3+

PA-MC-2T3+

PA-E3

PA-2HSSI


Note Support for EoMPLS on FlexWAN requires a Supervisor Engine 2 and an MSFC2.


Supported Standards, MIBs, and RFCs

Standards

This feature supports the following IETF draft documents:

Transport of Layer 2 Frames Over MPLS

Encapsulation Methods for Transport of Layer 2 Frames Over MPLS

MIBs

None.

RFCs

This feature supports the following RFCs:

RFC 3032: MPLS Label Stack Encoding

RFC 3036: LDP Specification

Prerequisites

Before configuring Ethernet over MPLS, make sure you configure the following:

You must enable dynamic IP labeling (through the command mpls ip) on all paths between the imposition and disposition LERs.

You must enable VLANs on the switch portion of the router. For instructions, see the Cisco 7600 Internet Router IOS Software Configuration Guide, the chapter called "Configuring VLANs."

You must association the VLAN to a physical Interface. See Configuring LAN Ports for Layer 2 Switching at the following URL:

http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/121_8aex/swconfig/layer2.htm

Operation of Ethernet over MPLS between PE routers requires an LDP session between the two routers. Establishment of the LDP session requires that the IP address used by each router as its LDP router ID be IP-reachable from the other. The optional mpls ldp router-id command provides the means to control the selection of the LDP router ID by specifying an interface whose IP address should be used. You can use the comamnd without the optional force keyword if the specified interface is up and has an IP address. When the router ID is selected, that IP address is selected as the router ID. You can use the optional force keyword with the command to ensure that the IP address of the specified interface is used when that interface is up and has an IP address. See the MPLS Label Distribution Protocol feature module's explanation of the force keyword.

Configuration Tasks

Perform the following configuration tasks to enable Ethernet over MPLS:

1. Enabling VLAN-Based Ethernet Over MPLS

2. Enabling Port-Based EoMPLS

3. Verifying the Configuration

4. Enabling Quality of Service

Enabling VLAN-Based Ethernet Over MPLS

To configure MPLS to transport Layer 2 VLAN packets between two endpoints, perform the following steps on the provider edge (PE) routers.


Note When OSPF is used as the IGP, all loopback addresses on PE routers must be configured with 32-bit masks to ensure proper operation of MPLS forwarding between PE routers.


 
Command
Purpose

Step 1 

Router(config)# mpls label protocol ldp

Enables the label distribution protocol (LDP) for all interfaces. By default, tag distribution protocol is enabled. This command, although optional, causes all interfaces to use LDP.

Step 2 

Router(config)# mpls ldp router-id loopback0 force

(Optional) Forces the IP address to be used as the router ID.

Step 3 

Router(config)# mpls ldp discovery targetted-hello accept

(Optional) Enables the router to respond to requests for targeted Hello messages. By default, the router ignores these requests from other routers.

Step 4 

Router(config)# interface vlan vlan-number

Creates a VLAN interface and enters the interface configuration mode.

Step 5 

Router(config-if)# mpls l2transport route destination vc-id [vc-type vlan | ether]

Specifies the VC to use to transport the Layer 2 VLAN packets.

The argument destination specifies the loopback address of the remote router.

The argument 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.

The argument vc-type specifies forwarding mode:

vlan—forwarding is VLAN-based

ether—forwarding is port-based

Enabling Port-Based EoMPLS

To support 802.1Q-in-802.1Q traffic and native Ethernet traffic over EoMPLS, configure port-based EoMPLS by performing this task:

 
Command
Purpose

Step 1 

Router(config)# interface gigabitEthernet 3/1

Specifies the Layer 2 interface.

Step 2 

Router(config-if)# switchport

Configures the port for switching.

Step 3 

Router(config-if)# switchport mode dot1qtunnel

Set the trunking mode to tunneling.

Step 4 

Router(config-if)# switchport access vlan vlan_id

Configures the port to accept traffic from the specified VLAN.

Step 5 

Router(config-if)# exit

Exits interface configuration mode.

Step 6 

Router(config)# interface vlan-number

Creates a VLAN interface and enters the interface configuration mode.

Step 7 

Router(config-if)# mpls l2transport route destination vc-id [vc-type vlan | ether]

Specifies the VC to use to transport the Layer 2 VLAN packets.

The argument destination specifies the loopback address of the remote router.

The argument 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.

The argument vc-type specifies forwarding mode:

vlan—forwarding is VLAN-based

ether—forwarding is port-based

Step 8 

Router(config-if)# end

Exits configuration mode.

Step 9 

Router# show mpls l2transport vc

Verifies the VC-type configuration.

Verifying the Configuration

To verify and display the configuration of Layer 2 VLAN transport over MPLS tunnels, perform the following steps:


Step 1 To display a brief summary of IP status and configuration for all interfaces, issue the show ip interface brief command. If the interface can provide two-way communication, the Protocol field is marked "up." If the interface hardware is usable, the Status field is marked "up."

Router# show ip interface brief 
Interface                  IP-Address      OK? Method Status                Protocol
Vlan2                      10.1.2.58       YES NVRAM  up                    up      
Vlan4                      unassigned      YES NVRAM  up                    up      
Vlan101                    unassigned      YES NVRAM  up                    up      
GigabitEthernet6/1         172.31.255.255  YES NVRAM  administratively down down    
GigabitEthernet6/2         unassigned      YES NVRAM  administratively down down    
GigabitEthernet6/3         172.31.255.255  YES NVRAM  up                    up      
GigabitEthernet6/4         unassigned      YES NVRAM  administratively down down    
Loopback0                  172.16.0.0      YES NVRAM  up 

Step 2 To make sure the PE router endpoints have discovered each other, issue the show mpls ldp discovery command. The LDP targeted hello is for the router with address 153.20.0.1.When an PE router receives an LDP Hello message from another PE router, it considers that router and the specified label space to be "discovered."

Router# show mpls ldp discovery 
Local LDP Identifier:
    172.31.255.255:0
Discovery Sources:
    Interfaces:
        GigabitEthernet6/3 (ldp): xmit/recv
            LDP Id: 192.168.2.10:0
    Targeted Hellos:
        172.16.0.1 -> 172.20.0.1 (ldp): active/passive, xmit/recv
            LDP Id: 172.20.0.1:0

Step 3 To make sure the label distribution session has been established, issue the show mpls ldp neighbors command. The third line of the output shows that the state of the LDP session is operational and shows that messages are being sent and received.

Router# show mpls ldp neighbors 
Peer LDP Ident: 192.168.2.10:0; Local LDP Ident 172.16.0.1:0
        TCP connection: 192.168.2.10.646 - 172.16.0.1.11001
        State: Oper; Msgs sent/rcvd: 246/256; Downstream
        Up time: 01:36:12
        LDP discovery sources:
          GigabitEthernet6/3
Addresses bound to peer LDP Ident:
          172.16.0.22      172.20.0.1      192.168.2.68       172.22.0.2        
          172.28.0.2 
Peer LDP Ident: 172.20.0.1:0; Local LDP Ident 172.16.0.1:0
        TCP connection: 172.20.0.1.11002 - 172.16.0.1.646
        State: Oper; Msgs sent/rcvd: 127/125; Downstream
        Up time: 01:35:23
        LDP discovery sources:
          Targeted Hello 153.10.0.1 -> 153.20.0.1, active, passive
        Addresses bound to peer LDP Ident:
          172.16.0.22      172.20.0.1      192.168.2.68       172.22.0.2        
          172.28.0.2 

Step 4 To make sure the label forwarding table is built correctly, issue the show mpls forwarding-table command. The output shows the following data:

Local tag—Label assigned by this router.

Outgoing tag or VC—Label assigned by next hop, or VPI/VCI used to get to next hop.

Prefix or Tunnel Id—Address or tunnel to which packets with this label are going.

Bytes tag switched— Number of bytes switched with this incoming label.

Outgoing interface—Interface through which packets with this label are sent.

Next Hop—IP address of neighbor that assigned the outgoing label.

Router# show mpls forwarding-table 
Local  Outgoing    Prefix              Bytes tag  Outgoing   Next Hop    
tag    tag or VC   or Tunnel Id        switched   interface              
16     Untagged    10.255.254.254/32   0          Vl2        192.168.0.1     
17     Pop tag     172.30.0.0/16       0          Gi6/3      172.16.0.1    
18     Pop tag     172.20.0.0/16       0          Gi6/3      172.16.0.1    
19     148         172.29.0.0/16       0          Gi6/3      172.16.0.1    
20     77          172.20.0.1/32       6308338115 Gi6/3      172.16.0.1    
23     Untagged    EoMPLS(4)           94538      Vl4        point2point  
24     Untagged    EoMPLS(101)         847        Vl101      point2point 

Step 5 To view the state of the currently routed VCs issue the show mpls l2transport vc command.

Router# show mpls l2transport vc
Transport Client     VC     Trans Local       Remote      Tunnel
VC ID     Intf       State  Type  VC Label    VC Label    Label
100       Vl100      UP     ether 115         115         4116
301       Vl301      UP     vlan  316         316         4116

Step 6 Add the keyword detail to see detailed information about each VC.

Router# show mpls l2transport vc detail
vcid:100, type:ether , local groupid:97, remote groupid:99 (vc is up)
client:Vl100 is up, destination:153.20.0.1, Peer LDP Ident:153.20.0.1:0
local label:115, remote label:115, tunnel label:4116
outgoing interface:PO3/2, next hop:point2point
Local MTU:1500, Remote MTU:1500
Remote interface description:Vlan100
imposition:LC Programmed
current imposition/last disposition slot:3/32
Packet totals(in/out):9463762/14760351
byte totals(in/out):1348596160/1993531920

vcid:301, type:vlan  , local groupid:98, remote groupid:101 (vc is up)
client:Vl301 is up, destination:153.20.0.1, Peer LDP Ident:153.20.0.1:0
local label:316, remote label:316, tunnel label:4116
outgoing interface:PO3/2, next hop:point2point
Local MTU:1500, Remote MTU:1500
Remote interface description:Vlan301
imposition:LC Programmed
current imposition/last disposition slot:3/32
Packet totals(in/out):0/0
byte totals(in/out):0/0

Enabling Quality of Service

The following sections detail the Modular QoS CLI commands for enabling QoS on the ingress PE router.


Note Only the shape and set mpls experimental commands are supported. Within the shape average command, only the cir argument is valid for EoMPLS.



Note EoMPLS VLAN Policing Exclusion—traffic on the EoMPLS uplink port is excluded from a VLAN-based ingress policer.


For more information on the commands used to enable Quality of Service, see the following documents:

Modular Quality of Service Command-Line Interface

Cisco IOS Quality of Service Solutions Command Reference, Release 12.2

Setting the Priority of Packets with the Experimental Bits

Ethernet over MPLS provides Quality of Service (QoS) using the three experimental bits in a label to determine the priority of packets. To support QoS between LERs, set the experimental bits in both the VC and tunnel labels. If you do not assign values to the experimental bits, the priority bits in the 802.1q header's "tag control information" field and are written into the experimental bit fields.

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 
cos 1 2 3

Specifies that IEEE 802.1Q packets with the cos-values of 1, 2, or 3 be matched. As an alternative, you can use the match any command.

Step 3 

Router(config-cmap)# 
policy-map policy-name 

Specifies the name of the traffic policy to configure.

Step 4 

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 5 

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

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

Step 6 

Router(config)# interface 
vlanvlan-number 

Enters the VLAN interface.

Step 7 

Router(config-if)# 
service-policy input 
policy-name 

Attaches a traffic policy to an interface.


Note You can enable traffic shaping and set experimental bits in the same policy-map.


Enabling Traffic Shaping

Traffic shaping limits the rate of transmission of data. Average rate shaping limits the transmission rate to the committed information rate (CIR). To add traffic shaping, issue the following commands:

 
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. (Using the class-default in the policy-map would have the same effect.)

Step 3 

Router(config-cmap)# 
policy-map policy-name 

Specifies the name of the traffic policy to configure.

Step 4 

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 5 

Router (config-pmap-c)# shape 
average bit-rate

Shapes traffic according to the bit rate you specify.

Step 6 

Router(config)# interface 
vlanvlan-number 

Enters the VLAN interface.

Step 7 

Router(config-if)# 
service-policy input 
policy-name 

Assigns a traffic policy to an interface.

If the egress MPLS tunnel is carried on an OSM WAN interface configured for fair queueing, the shape value is rounded to the nearest multiple of the link rate divided by 255. If the shape value is lower than the link rate divided by 255, it is rounded up to link rate divided by 255.

This example shows how the shape value is rounded:

Router# show pol p2
 Policy Map p2
  class  any-pkt
   shape average 2000000 8000 8000

Router# show pol int

 Vlan101

  service-policy input:p2

    class-map:any-pkt (match-all)
      2018169 packets, 4575195376 bytes
      30 second offered rate 295768000 bps, drop rate 0 bps
      match:any
      queue size 0, queue limit 0
      packets input 40492, packet drops 1977677
      tail/random drops 0, no buffer drops 0, other drops 1977677
      shape:cir 2000000,  Bc 8000,  Be 8000
      (shape parameter is rounded to 2439000 due to granularity)
      input bytes 40847436, shape rate 1874000 bps

    class-map:class-default (match-any)
      0 packets, 0 bytes
      30 second offered rate 0 bps, drop rate 0 bps
      match:any
        0 packets, 0 bytes
        30 second rate 0 bps

Displaying the Traffic Policy Assigned to an Interface

To display the traffic policy attached to an interface, issue the following command:

Router# show policy-map vlan50
service-policy input: badger

    class-map: blue (match-all)
      0 packets, 0 bytes
      30 second offered rate 0 bps, drop rate 0 bps
      match: any 
      queue size 0, queue limit 2
      packets input 0, packet drops 0
      tail/random drops 0, no buffer drops 0, other drops 0
      shape: cir 2000000,  Bc 8000,  Be 8000
        output bytes 0, shape rate 0 bps

    class-map: class-default (match-any)
      0 packets, 0 bytes
      30 second offered rate 0 bps, drop rate 0 bps
      match: any 
        0 packets, 0 bytes
        30 second rate 0 bps

Configuration Examples

The following sections list the commands for enabling MPLS to transport Layer 2 VLAN packets between two endpoints,. Figure 1 illustrates the network configuration that the configuration commands reference.

Figure 1 Ethernet Over MPLS Configuration

Configuring Ethernet over MPLS

The commands for router 1 and router 2 configure Ethernet over MPLS to transport Layer 2 VLAN packets between two endpoints. The example includes the following assumptions:

Dynamic MPLS switching is enabled between router 1 and router 2 . Dynamic MPLS switching should be enabled throughout the MPLS core.

The sample configurations assume OSPF is used within the MPLS core to ensure that routers 1 and 2 have routes to the endpoints.

In this example, each router has one loopback address. If you have multiple loopback addresses, the following commands are optional:

mpls ldp discovery targeted-hello

passive-interface

ip access-list

The mpls ldp discovery targeted-hello command enables the router to respond to requests for targeted Hello messages. By default, the router ignores these requests from other routers. The argument vlan-edge-acl is an access list.

Router 1 Configuration

interface Loopback0                             !Configure a loopback interface.
ip address 172.22.255.255 255.255.255.255

mpls label protocol ldp                         !Use LDP label distribution.
mpls ldp router-id loopback0
mpls ldp discovery targeted-hello accept from vlan-edge-acl

interface vlan1                                 !Configure a VLAN interface and specify
mpls l2transport route 192.168.255.255 55       !the VC ID for traffic over the VLAN.

interface Ge-Wan61/0                            !Configure interface to MPLS core.
ip address 172.16.2.2 255.255.255.0
no negotiation auto
tag-switching ip

router ospf 10                                 !Configure OSPF routing.
passive-interface Loopback0
network 172.22.255.255 0.0.0.0 area 0
network 192.16.255.255 0.0.0.255 area 0

ip access-list standard vlan-edge-acl           !Targeted hello access list
permit 192.168.255.255

Router 2 Configuration

interface Loopback0                             !Configure a loopback interface.
ip address 192.168.255.255 255.255.255.255

mpls label protocol ldp                         !Use LDP label distribution.
mpls ldp router-id loopback0
mpls ldp discovery targeted-hello accept from vlan-edge-acl

interface vlan2                                 !Configure a VLAN interface and specify
mpls l2transport route 172.22.255.255 50        !the VC ID for traffic over the VLAN.

interface Ge-Wan2/0                             !Configure interface to MPLS core.
ip address 172.16.7.3 255.255.255.0
no negotiation auto
tag-switching ip

router ospf 10                                  !Configure OSPF routing.
passive-interface Loopback0
network 192.168.255.255 0.0.0.0 area 0
network 172.16.255.255 0.0.0.255 area 0

ip access-list standard vlan-edge-acl           !Targeted hello access list
permit 172.22.255.255

Configuring Port-Based EoMPLS

Figure 2 shows a topology with an asymmetric configuration where 802.1Q-in-802.1Q traffic is forwarded by means of EoMPLS over an MPLS network.

Figure 2 Asymmetric EoMPLS Configuration

In the example in Figure 2, the ingress Layer 2 port on PE1, gigabitethernet 3/1, is configured for 802.1Q tunneling and to accept VLAN 100 traffic. On PE1, VLAN interface 100 is configured for port-based EoMPLS forwarding, with the loopback address of PE2 as the destination IP address. When traffic from VLANs 10-50 arrives from CE1 on gigabitethernet 3/1 on PE1, it is encapsulated in VLAN 100 and forwarded to the egress WAN interface POS 4/1, which is configured for MPLS forwarding

PE1 Layer 2 port configuration:

interface gigabitethernet3/1
switchport
switchport mode dot1qtunnel
switchport access vlan 100

PE1 Interface VLAN configuration:

interface vlan 100
mpls l2transport 1.1.1.1 111 vc-type ether

PE1 Layer 3 WAN port configuration

interface pos 4/1
ip address 170.16.1.1 255.255.255.0 
tag-switching ip

On PE2 the ingress Layer 3 WAN interface POS 2/1 is configured for MPLS forwarding. VLAN interface 100 is configured for port-based EoMPLS forwarding, with the loopback address of PE1 as the destination address. The egress Layer 2 port gigabitethernet 3/2 is configured for 802.1Q tunneling and to accept VLAN 100 traffic.

PE2 Layer 3 WAN configuration:

interface POS 2/1
ip address 172.16.2.2 255.255.255.0
tag-switching ip

PE2 Interface VLAN configuration:

interface vlan 100
mpls l2transport 2.2.2.2 111 vc-type ether

PE2 Layer 2 port Configuration:

interface gigabitethernet 3/2
switchport
switchport mode dot1qtunnel
switchport access vlan 100

Configuring Quality of Service

The following example show how to configure QoS on the VLAN.

class-map blue
match cos 1 2 3
!
policy-map badger
class blue
set mpls experimental 1
class class-default
shape average 2000000 8000 8000
!
interface vlan50
no ip address
no ip mroute-cache
load-interval 30
mpls l2transport route 192.168.255.255 50
service-policy input badger
no cdp enable

Command Reference

This section describes the following commands:

debug mpls l2transport vlan control

debug mpls l2transport vlan distributed

mpls l2transport route

show mpls l2transport vc

debug mpls l2transport vlan control

To enable debug messages about the control of traffic transported between Layer 2 VLAN and MPLS, use the debug mpls l2transport vlan control EXEC command. To disable the debug messages about transport control, use the no form of this command.

[no] debug mpls l2transport vlan control

Syntax Description

This command has no arguments or keywords.

Defaults

No default behavior or values.

Command History

Release
Modification

12.1(8a)E

This command was introduced.


Examples

The following example enables debug messages about the control of traffic between Layer 2 VLANs and MPLS:

Router# debug mpls l2transport vlan control 
Ethernet VLAN transport over MPLS, Control interactions debugging is on
Router# config t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# int vlan2
Router(config-if)# shut
Router(config-if)#
*May 25 12:18:33: ATOM_TRANS: atom_if_state_change from Vlan2
*May 25 12:18:33: ATOM_TRANS: Withdrawing all EoMPLS vcs for lgroupid 8
*May 25 12:18:33: ATOM_TRANS: sending extended withdraw_bind for vcid 0
to 12.0.0.1, local groupid 8
*May 25 12:18:33: ATOM_TRANS: holding down local label 21
*May 25 12:18:33: ATOM_TRANS: clearing imp. rewrite for vcid = 2
Router(config-if)#
*May 25 12:18:35: ATOM_TRANS: freeing held label 21
Router(config-if)#
*May 25 12:18:35: %LINK-5-CHANGED: Interface Vlan2, changed state to
administratively down
*May 25 12:18:36: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2,
changed state to down

Router(config-if)# no shut
Router(config-if)#
*May 25 12:19:57: ATOM_TRANS: atom_if_state_change from Vlan2
*May 25 12:19:57: ATOM_TRANS: Withdrawing all EoMPLS vcs for lgroupid 8
*May 25 12:19:57: ATOM_TRANS: sending extended withdraw_bind for vcid 0
to 12.0.0.1, local groupid 8
Router(config-if)#
*May 25 12:19:59: %LINK-3-UPDOWN: Interface Vlan2, changed state to up
Router(config-if)#
*May 25 12:19:59: ATOM_TRANS: sending bind for vcid 2 to 12.0.0.1, local
groupid 8
*May 25 12:19:59: ATOM_TRANS: sending request_bind for vcid 2 to
12.0.0.1, local groupid 8
*May 25 12:19:59: ATOM_TRANS: Stale tfib event discarded (12.0.0.1)
*May 25 12:19:59: ATOM_TRANS: Stale tfib event discarded (12.0.0.1)
*May 25 12:19:59: ATOM_TRANS: Stale tfib event discarded (12.0.0.1)
*May 25 12:19:59: ATOM_TRANS: processing tfib event for 12.0.0.1
*May 25 12:19:59: ATOM_TRANS: received BIND from 12.0.0.1:0 remote group id: 8 vc_id: 2 
label: 21
*May 25 12:19:59: ATOM_TRANS: Done setting imp.rewrite for vcid = 2
parent dest 12.0.0.1
*May 25 12:20:00: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2,
changed state to up

debug mpls l2transport vlan distributed

To enable the debug messages about label imposition and label disposition on line cards, use the debug mpls l2transport vlan distributed EXEC command. To disable the debug messages about label imposition and label disposition on line cards, use the no form of this command.

[no] debug mpls l2transport vlan distributed

Syntax Description

This command has no arguments or keywords.

Defaults

No default behavior or values.

Command History

Release
Modification

12.1(8a)E

This command was introduced.


Examples

The following example enables debug messages related to the process of label imposition/disposition:

Router# debug mpls l2transport vlan distributed 
Ethernet VLAN transport over MPLS, Distributed switching debugging is on
Router# config t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# int vlan2
Router(config-if)# shut
Router(config-if)#
*May 25 12:22:04: ETH_TRANS: removing label disposition info for vcid:0
from all slots
*May 25 12:22:04: ETH_TRANS: slot(3) Client(Vlan2)'s if_number(10)
*May 25 12:22:04: ETH_TRANS: label(0) outlabel(0)
*May 25 12:22:04: ETH_TRANS: clear_vc(1), vcid(2), vc label(8388611),
dest(12.0.0.1)
Router(config-if)#
*May 25 12:22:06: %LINK-5-CHANGED: Interface Vlan2, changed state to
administratively down
*May 25 12:22:07: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2,
changed state to down
Router(config-if)# no shut
Router(config-if)#
*May 25 12:22:15: %LINK-3-UPDOWN: Interface Vlan2, changed state to up
*May 25 12:22:15: ETH_TRANS: disposition change dest:12.0.0.1 vcid:2,
(none) -> (all) (queued)
*May 25 12:22:15: ETH_TRANS: sending label (21) disposition info for
vcid:2 vlan:2 to all slots
*May 25 12:22:15: taginfo flag(20), ti_max_index(16), remote_label(22)
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: GigabitEthernet3/3
*May 25 12:22:15: GigabitEthernet3/2
*May 25 12:22:15: ETH_TRANS: output slot (3), port (3)
*May 25 12:22:15: ETH_TRANS: slot(3) Client(Vlan2)'s
if_number(10)
*May 25 12:22:15: ETH_TRANS: label(18) outlabel(18)
*May 25 12:22:15: ETH_TRANS: clear_vc(0), vcid(2), vc label(22),
dest(12.0.0.1)
*May 25 12:22:16: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2,
changed state to up
Router(config-if)#

mpls l2transport route

To enable routing of Layer 2 VLAN packets over a specified VC, use the mpls l2transport route interface command. To disable routing over the specified VC, use the no form of this command.

mpls l2transport route destination vc-id

no mpls l2transport route destination vc-id

Syntax Description

destination

Specifies IP address of the router to which the VC is destined.

vc-id

Assigns a VC ID to a router. The VC ID must be unique to each VC.


Defaults

No default behavior or values.

Command Modes

Interface configuration

Command History

Release
Modification

12.1(8a)E

This command was introduced.


Usage Guidelines

An MPLS Layer 2 VLAN VC runs across an MPLS cloud to connect VLAN interfaces on two PE routers.

Use this command on the VLAN interface of each PE router to route Layer 2 VLAN packets across the MPLS cloud to the VLAN interface of the other PE router. Specify the IP address of the other PE router for the destination parameter. Do not specify the IP address of the router from which you are issuing the command.

You can choose any number for the VC ID. However, the VC ID must be unique to the VC. Therefore, in large networks, it may be necessary to track the VC ID assignments to ensure that a VC ID does not get assigned twice.

Routed VCs are supported on main interfaces, not subinterfaces.

Examples

In the following example, two routers are named PE1 and PE2. The example shows how they establish a VC to transport Layer 2 VLAN packets. PE1 has IP address 172.16.0.1. PE2 has IP address 192.168.0.1. The VC ID is 50.

At PE1, you issue the following commands:

PE1_router (config)# interface vlan3 
PE1_router(config-if)# mpls l2transport route 172.16.0.1 50 

At PE2, you issue the following commands:

PE2_router (config)# interface vlan4 
PE2_router(config-if)# mpls l2transport route 192.168.0.1 50 

show mpls l2transport vc

To display the state of VCs on a router, use the show mpls l2transport vc EXEC command.

show mpls l2transport vc [summary] | [vc-id ] | [vc-id-min vc-id-max] [detail]

Syntax Description

summary

(Optional) Displays a summary of the active VCs on a PE router's MPLS interfaces.

vc-id

(Optional) Displays information about the VC that you specify.

vc-id-min
and
vc-id-max

(Optional) Displays information about a range of VC IDs that you specify. The range is from 0 to 429,467,295.

detail

(Optional) Displays detailed information about the VCs on a PE router.


Defaults

No default behavior or values.

Command Modes

EXEC

Command History

Release
Modification

12.1(8a)E

This command was introduced.

12.1(11b)EX1

The vc-type output field was introduced.


Examples

The following example shows the status of the VCs on the router.

Router# show mpls l2transport vc
Transport Client     VC     Trans Local       Remote      Tunnel
VC ID     Intf       State  Type  VC Label    VC Label    Label
100       Vl100      UP     ether 115         115         4116
301       Vl301      UP     vlan  316         316         4116

Table 1describes the significant fields displayed in the output.

Table 1 show mpls l2transport vc Field Descriptions

Field
Description

Transport VC ID

The virtual circuit identifier assigned to one of the interfaces on the router.

Transport Type

Specifies the forwarding mode used.

Client Intf

The ingress or egress interface through which the Layer 2 VLAN packet travels. For Ethernet over MPLS, VLAN interfaces are used.

VC State

The status of the VC. The status can be one of the following:

UP—VC is in a state where it can carry traffic between the two VC end points. A VC is up when both imposition and disposition interfaces are programmed.

The disposition interfaces is programmed if the VC has been configured and the client interface is up.

The imposition interface is programmed if the disposition interface is programmed and we have a remote VC label and an IGP label.