Cell Mode MPLS
One of the scariest topics on the SP Lab exam, right? I know for me it is a challenge because I do not feel as comfortable with ATM as I do with Frame Relay. Throw in MPLS with some completely different modes of operation than we are used to and you can smell trouble! Well if it’s one thing I learned while studying for CCIE, it is best to just face your fears and attack them. So here we go.
Our topology is as follows:
R6—-ATM—-R7—-R4
We are tasked with configuring Cell Mode MPLS between R6 and R7. The first thing we need to realize about Cell Mode MPLS is that we will be peering LDP and IGP with the ATM device (switch or other router) in the middle. Because we will likely not have access to the device, we will be given certain details about how to go about this. Things we need to know:
- IP address of interface
- OSPF or ISIS
- LDP or TDP
- Control VC
- Label Range (which is actually the VPI/VCI range)
For this example we have been given:
R6 IP address: 192.168.100.1/24
Protocols: OSPF area 0, LDP
Control VC = 10/100
Label Range = VPI=6, VCI=60-600
Let’s configure R6 using details that we have been given:
R6(config)#int a1/0
R6(config-if)#no shut
R6(config)#int a1/0.1 mpls
R6(config-subif)#ip address 192.168.100.1 255.255.255.0
R6(config-subif)#mpls label pro ldp
R6(config-subif)#mpls ip
R6(config-subif)#mpls atm control-vc 10 100
R6(config-subif)#mpls atm vpi 6 vci-range 60-600
R6(config)#router ospf 1
R6(config-router)#network 192.168.100.1 0.0.0.0 are 0
R6(config-router)#network 10.1.1.6 0.0.0.0 are 0 ! Loopback interface
00:09:49: %LDP-5-NBRCHG: LDP Neighbor 100.100.100.100:1 is UP
00:09:59: %OSPF-5-ADJCHG: Process 1, Nbr 100.100.100.100 on ATM1/0.1 from LOADING to FULL, Loading Done
Our LFIB looks like this:
R6#sho mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
18 6/60 100.100.100.100/32 \
0 AT1/0.1 point2point
20 6/61 192.168.200.0/24 0 AT1/0.1 point2point
From the looks of things we can assume 100.100.100.100/32 is probably the loopback of the ATM device, and 192.168.200.0 is the link to R7 (not configured yet). Doesn’t really impact our decision making, but good to be aware of things.
Let’s configure R7 according to the following details:
R7 IP address: 192.168.200.1/24
Protocols: OSPF area 0, TDP
Control VC = Default
Label Range = Default
Notice how LDP comes up before OSPF. TDP is using the control VC that is already in place once we configure the mpls sub-interface. Pay no attention to the warning about LC-ATM not being supported, it works okay in this release as far as I can tell.
R7(config)#int a1/0
R7(config-if)#no shut
00:15:14: %LINK-3-UPDOWN: Interface ATM1/0, changed state to up
00:15:15: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM1/0, changed state to up
R7(config-if)#int a1/0.1 mpls
%Warning! Configuring ATM1/0.1: LC-ATM not supported in this release
R7(config-subif)#ip address 192.168.200.1 255.255.255.0
R7(config-subif)#mpls labe pro tdp
R7(config-subif)#mpls ip
R7(config-subif)#
00:15:38: %LDP-5-NBRCHG: TDP Neighbor 100.100.100.100:2 is UP
R7(config-subif)#router osp 1
R7(config-router)#network 192.168.200.1 0.0.0.0 are 0
R7(config-router)#network 10.1.1.7 0.0.0.0 are 0
00:15:59: %OSPF-5-ADJCHG: Process 1, Nbr 100.100.100.100 on ATM1/0.1 from LOADING to FULL, Loading Done
Let’s look at the LFIB on R6 now:
R6#sho mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
17 6/62 10.1.1.7/32 0 AT1/0.1 point2point
18 6/60 100.100.100.100/32 \
0 AT1/0.1 point2point
20 6/61 192.168.200.0/24 0 AT1/0.1 point2point
R6 has a new VC for R7’s loopback. The VC is 6/62. Notice the local label R6 has assigned is 17. Should R6 form any frame mode peers that is the label it would advertise.
Let’s bring up the LDP session between R4 and R7 and add R4’s loopback into OSPF. Once this route gets added to R6’s route table, we can see R6 make the request for the label (this is called Downstream on Demand label distribution mode).
R4(config)#int lo 1
R4(config-if)#ip address 10.1.4.4 255.255.255.255
R4(config)#router osp 1
R4(config-router)#network 10.1.4.4 0.0.0.0 are 0
R6#debug mpls atm-ldp event
MPLS events debugging is on
LC-ATM event debugging is on
00:03:37: TCATM: CEF prefix tree walk for 10.1.4.4/32
00:03:37: TCATM: reqeust outgoing label for 10.1.4.4/32, out if ATM1/0.1
00:03:37: TCATM: 10.1.4.4/32, idb=ATM1/0.1
00:03:37: TCATM: PrepareForHeadRequest 10.1.4.4/32 ATM1/0.1 send request
00:03:37: TCATM: CEF prefix tree walk finished for 10.1.4.4/32
R6#sho mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
17 6/62 10.1.1.7/32 0 AT1/0.1 point2point
18 6/60 100.100.100.100/32 \
0 AT1/0.1 point2point
19 6/63 192.168.47.0/24 0 AT1/0.1 point2point
20 6/61 192.168.200.0/24 0 AT1/0.1 point2point
22 6/64 10.1.1.4/32 0 AT1/0.1 point2point
23 6/65 10.1.4.4/32 0 AT1/0.1 point2point
R6 requested a VC from its downstream peer (the ATM device) and it responded with label 6/65. Remember that the VC 6/65 does not come from R7 but that Cell Mode ATM device in the middle (a 7200 in this case). We can take a sneak peak at its label binding for 10.1.4.4 here:
ATM#sho mpl atm-ldp bindings 10.1.4.4 32
Destination: 10.1.4.4/32
Headend Router ATM2/0.1 (1 hop) 1/36 Active, VCD=10
Tailend Router ATM1/0.1 6/65 Active, VCD=21
Hope that gives you a little more insight into Cell Mode MPLS. Please comment if you have any questions or would like anything explained in more depth.
Regards,
Bryan Bartik
CCIE #23707 (R&S), CCNP
Sr. Support Engineer – IPexpert, Inc.
URL: http://www.IPexpert.com








Excellent blog! Thanks for the insight into Cell mode MPLS.
Excellent blog! Thanks for the insight into Cell mode MPLS.
[...] IGP with the machine figure (switch or another router) in the middle. See the example post: CCIE Blog » Cell Mode MPLS Posted in Uncategorized | Tags: atm, device, for-applying, middle, people-seeking, router, [...]
[...] IGP with the machine figure (switch or another router) in the middle. See the example post: CCIE Blog » Cell Mode MPLS Posted in Uncategorized | Tags: atm, device, for-applying, middle, people-seeking, router, [...]
Is there any chance ya’ll can start introducing some formatting in these *very* informatave posts to make them a little easier to read.
At the minimum put the text blocks that are from a router CLI in a fixed witdth font (courier) and indented so they’ll stand out.
Is there any chance ya’ll can start introducing some formatting in these *very* informatave posts to make them a little easier to read.
At the minimum put the text blocks that are from a router CLI in a fixed witdth font (courier) and indented so they’ll stand out.
Good post Bryan.
I agree with Paul above on the formatting request, they should differentiate the CLI output and also make the article column wider to take up more space across the page. The *other* CCIE blog out there is much easier to read :)
Good post Bryan.
I agree with Paul above on the formatting request, they should differentiate the CLI output and also make the article column wider to take up more space across the page. The *other* CCIE blog out there is much easier to read :)
Hi Bryan,
Can please paste the traceroute output from R6 to R4′s Loopback interface?
Regards,
Amit.
Hi Bryan,
Can please paste the traceroute output from R6 to R4′s Loopback interface?
Regards,
Amit.
Hello Guys,
We are working on getting the formatting easier on the eyes. Amit, here is the traceroute you requested:
R4#trace 10.1.1.6
Type escape sequence to abort.
Tracing the route to 10.1.1.6
1 192.168.47.7 [MPLS: Label 17 Exp 0] 76 msec 52 msec 32 msec
2 192.168.200.254 [MPLS: Label 0 Exp 0] 16 msec 32 msec 20 msec
3 192.168.100.1 20 msec * 76 msec
R4#
Here is the LFIB as well for R4
R4#sho mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
16 Pop Label 10.1.1.7/32 0 Se4/3 point2point
17 Pop Label 192.168.200.0/24 0 Se4/3 point2point
18 17 10.1.1.6/32 0 Se4/3 point2point
19 19 100.100.100.100/32 \
0 Se4/3 point2point
20 20 192.168.100.0/24 0 Se4/3 point2point
And for R7:
R7#show mpls for
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
16 Pop Label 10.1.1.4/32 0 Se4/2 point2point
17 1/35 10.1.1.6/32 216 AT1/0.1 point2point
18 Pop Label 10.1.4.4/32 0 Se4/2 point2point
19 1/33 100.100.100.100/32 \
0 AT1/0.1 point2point
20 1/34 192.168.100.0/24 0 AT1/0.1 point2point
R7#
Hello Guys,
We are working on getting the formatting easier on the eyes. Amit, here is the traceroute you requested:
R4#trace 10.1.1.6
Type escape sequence to abort.
Tracing the route to 10.1.1.6
1 192.168.47.7 [MPLS: Label 17 Exp 0] 76 msec 52 msec 32 msec
2 192.168.200.254 [MPLS: Label 0 Exp 0] 16 msec 32 msec 20 msec
3 192.168.100.1 20 msec * 76 msec
R4#
Here is the LFIB as well for R4
R4#sho mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
16 Pop Label 10.1.1.7/32 0 Se4/3 point2point
17 Pop Label 192.168.200.0/24 0 Se4/3 point2point
18 17 10.1.1.6/32 0 Se4/3 point2point
19 19 100.100.100.100/32 \
0 Se4/3 point2point
20 20 192.168.100.0/24 0 Se4/3 point2point
And for R7:
R7#show mpls for
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
16 Pop Label 10.1.1.4/32 0 Se4/2 point2point
17 1/35 10.1.1.6/32 216 AT1/0.1 point2point
18 Pop Label 10.1.4.4/32 0 Se4/2 point2point
19 1/33 100.100.100.100/32 \
0 AT1/0.1 point2point
20 1/34 192.168.100.0/24 0 AT1/0.1 point2point
R7#
Hi Bryan,
As you can see, the traceroute output does not show MPLS label as VPI/VCI. I had a similar output for my lab. Can you please explain why we do not see VPI/VCI values?
Regards,
Amit.
Hi Bryan,
As you can see, the traceroute output does not show MPLS label as VPI/VCI. I had a similar output for my lab. Can you please explain why we do not see VPI/VCI values?
Regards,
Amit.
thanks for ATM posting; I am weak in this topic.
thanks for ATM posting; I am weak in this topic.
Hey Amit,
The reason is because ICMP has a special field in the unreachable message to hold the MPLS labels that were contained in a received packet. There is no such field that I know of that would hold the VPI/VCI pair.
Hey Amit,
The reason is because ICMP has a special field in the unreachable message to hold the MPLS labels that were contained in a received packet. There is no such field that I know of that would hold the VPI/VCI pair.
Thanks Bryan.
Thanks Bryan.