Cisco Labs – Redundant and Resilient networks (11) – MPLS – AToM – Ethernet over MPLS


During my university studies I was doing a diploma thesis in field of Redundant and reliable networking. The purpose of itwas to create LAB examples for students, so they can test First Hop Redundancy Protocols (FHRP) , Any Transport over MPLS (AToM) and Border Gateway Protocol (BGP) on Cisco platform. These tasks are created to Virtlab (Virtual lab with physical Cisco routers) however configuration is valid and tested on physical Cisco routers as well.

Each task in the series will have its separate post with brief description of the task and schema. Complete task can be downloaded on My Skydrive

ZIP file contains:

  • *.HTML file – complete step by step guide how to perform the task
  • *.PNG – pictures with topology and others
  • *_preconf.txt – file with basic configuration of topology to be able to focus on task goal (IP addresses, interfaces and so on)
  • *_end.txt – file with complete configuration. Once put to the routers, you will get working task
  • *.dia – Topology in free DIA editor
  • *.XML – topology in XML format

To complete the task:

  • Connect your environment accorrding the topology
  • open the file *_preconf.txt from ZIP file with complete task and configure your environment with basic settings so you can start with the task.

MPLS – AToM – Ethernet over MPLS

Title: MPLS – AToM – Ethernet over MPLS


  • Configure MPLS-based core IP network.
  • Configure Any Transport over MPLS technology to forward traffic of VLAN 10 between two customer sites through MPLS core network.

Required time: 120 minutes

Theoretical background:

Links related to this task:





1) Check pre-configured settings

Before starting configuration of MPLS you should check pre-configured settings. First use ping command to test connectivity between PE1 and PE3 routers. Also check OSPF if all networks are propagated correctly.


2) MPLS core configuration

In this part of configuration you will configure basic MPLS functionality.

Router PR1

      PR1(config)#ip cef; enable CEF, prerequisite for MPLS
      PR1(config)#interface #PR1:PR1-P#
      PR1(config-if)#mpls ip; enable MPLS on the interface #PE1:PE1-P#
      PR1(config)#interface loopback 2; create loopback interface
      PR1(config-if)#ip address; set IP address on loopback interface
      PR1(config-if)#no shutdown
      PR1(config)#mpls label protocol ldp; MPLS will use LDP as label distribution protocol
      PR1(config)#mpls ldp router-id loopback 2 force;force loopback IP address to be router ID
      PR1(config)#router ospf 1
      PR1(config-router)#network area 0; set OSPF to propagate loopback address

Router P

Set P and PE3 routers similarly.

      P(config)#ip cef
      P(config)#interface #P:P-PR3#
      P(config-if)#mpls ip
      P(config)#interface #P:PR1-P#
      P(config-if)#mpls ip
      P(config)#interface loopback 2
      P(config-if)#ip address
      P(config-if)#no shutdown
      P(config)#mpls label protocol ldp
      P(config)#mpls ldp router-id loopback 2 force
      P(config)#router ospf 1
      P(config-router)#network area 0

Router PR3

      PR3(config)#ip cef
      PR3(config)#interface #PR3:P-PR3#
      PR3(config-if)#mpls ip
      PR3(config)#interface loopback 2
      PR3(config-if)#ip address
      PR3(config-if)#no shutdown
      PR3(config)#mpls label protocol ldp
      PR3(config)#mpls ldp router-id loopback 2 force
      PR3(config)#router ospf 1
      PR3(config-router)#network area 0

3) MPLS core function test

Use following commands on core routers PR1, P, PR3 and check results

      Pxx#show mpls ldp binding; display LDP bindings on the router
      Pxx#show mpls ldp discovery; show discovered MPLS enabled peering routers
      Pxx#show mpls ldp neighbor; show peering neighbors
      Pxx#show mpls forwarding-table; display forwarding table with local and remote labels

4) AToM configuration – provider side

Router PR1

      PR1(config-if)#interface #PR1:CE1-PR1#.1
      PR1(config-subif)#encapsulation dot1q 10; VLAN 10 will be encapsulated and transported through MPLS AToM technology
      OLD IOS:
      PR1(config-subif)#mpls l2transport route 100; define VC 100 which will be used to transport VLAN 10 frames over MPLS  
      NEW IOS:
      PR1(config-subif)#xconnect 100 encapsulation mpls; define VC 100 which will be used to transport VLAN 10 frames over MPLS  

VC on MPLS is unidirectional. To configure l2 transport tunnel we need to configure VC 100 on both provider edge routers (PR1, PR3).

Router P

Router P needs to have only basic MPLS configured.

Router PR3

      PR3(config-if)#interface #PR3:PR3-CE2#.1
      PR3(config-subif)#encapsulation dot1q 10
      PR3(config-subif)#mpls l2transport route 100; matching configuration to PR1
      PR3(config-subif)#xconnect 100 encapsulation mpls; matching configuration to PR1
      PR3(config-subif)#no shutdown

5) AToM configuration – customer side

Customer`s side routers CE1,CE2 must be configured so that interfaces facing MPLS core network must have the same VLAN as we configured to be forwarded on provider`s side.

Router CE1

      CE1(config)#interface #CE1:CE1-PR1#
      CE1(config-if)#no shutdown
      CE1(config-if)#interface #CE1:CE1-PR1#.1; subinterface configuration mode
      CE1(config-subif)#encapsulation dot1q 10; VLAN 10 will be transported through MPLS AToM technology
      CE1(config-subif)#ip address; IP address from the same subnet as on CE2 router
      CE1(config-subif)#no shutdown

Router CE2

      CE2(config)#interface #CE2:PR3-CE2#
      CE2(config-if)#no shutdown
      CE2(config-if)#interface #CE2:PR3-CE2#.1; subinterface configuration mode
      CE2(config-subif)#encapsulation dot1q 10; VLAN 10 will be encapsulated and transported through MPLS AToM technology
      CE2(config-subif)#ip address; IP address from the same subnet as on CE1 router
      CE2(config-subif)#no shutdown

Function test:

1) test MPLS functionality using ping

      PR1# ping mpls ipv4; ping command for MPLS

2) Display MPLS related information

Verify the status of virtual circuits on the routers PR1 and PR3 . Notice amount of data sent through those circuits. Check VC details.

      Rx# sh mpls l2transport vc detail

3) Test connectivity

Test connectivity between CE1 and CE2 routers.

      CE1# ping
      CE1# traceroute; there is no hop between customer`s IP addresses. The MPLS core acts like single Ethernet wire.

4) Debug AToM VC events

Enter “debug MPLS l2transport vc event” command on PE3.

      PE3# debug MPLS l2transport vc event; enable debugging of MPLS virtual circuits

Then go to PE1 console and shut interface facing to CE1 router #PE1:CE1-PE1# down. This will cause the VC 100 to break.

    *Nov 17 00:00:17.047: AToM MGR [, 100]: Remote end down, vc is down
    *Nov 17 00:00:17.055: AToM MGR [, 100]: Unprovision and deallocate SSM segment

Turn on the interface again.

Then go to P console and shut some interface down. This will cause the VC 100 to break.

    *Nov 17 00:05:39.815: %LDP-5-NBRCHG: LDP Neighbor (2) is DOWN (Discovery Hello Hold Timer expired)
    *Nov 17 00:05:39.823: AToM MGR [, 100]: Remote end down, vc is down


Configure more subinterfaces on the routers PE1,PE3,CE1,CE2 to support selected VLANS from range 2-4094 to be routed through MPLS core. Configure one sub-interface for each additional VLAN.

Follow steps 4) and 5) from Configuration part to use AToM technology to forward customer’s VLAN traffic.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s