Saturday, December 22, 2012

MPLS TE with Explicit Paths




Issue

In this example we will go through MPLS L3VPN using RSVP as our label protocol as well as going through TE and how we will control our traffic as needed using explicit paths and using dynamic path option as our backup in case of link failure inside the backbone
The IGP inside the network used is ISIS and static routing is PE-CE routing protocols

Configuration

R1

R1#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.12.1 255.255.255.0
 speed 100
 duplex full

R1#sh run int lo0
interface Loopback0
 ip address 1.1.1.1 255.255.255.255

R1#sh run | sec ip route
ip route 0.0.0.0 0.0.0.0 192.1.12.2

R2

R2#sh run int f1/0
interface FastEthernet1/0
 vrf forwarding MSSK
 ip address 192.1.12.2 255.255.255.0
 speed 100
 duplex full

R2#sh run int f1/1
interface FastEthernet1/1
 ip address 192.1.23.2 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 isis metric 20
 ip rsvp bandwidth

R2#sh run int f2/0
interface FastEthernet2/0
 ip address 192.1.25.2 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R2#sh run int lo0
interface Loopback0
 ip address 2.2.2.2 255.255.255.255

R2#sh run int tun0
tunnel mode mpls traffic-eng
ip unnumbered loopback0
tunnel destination 4.4.4.4
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name PATH
tunnel mpls traffic-eng path-option 2 dynamic

R2#sh run | sec ip route
ip route vrf MSSK 1.1.1.1 255.255.255.255 192.1.12.1

R2#sh run | sec vrf def
vrf definition MSSK
 rd 100:1
 route-target export 100:1
 route-target import 100:1
 !
 address-family ipv4
 exit-address-family

R2#sh run | sec router isis
router isis 1
 net 49.0001.0000.0000.0002.00
 is-type level-2-only
 metric-style wide
 passive-interface Loopback0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2

R2#sh run | sec router bgp
router bgp 100
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 4.4.4.4 activate
  neighbor 4.4.4.4 send-community both
 exit-address-family
 !
 address-family ipv4 vrf MSSK
  network 1.1.1.1 mask 255.255.255.255
  network 192.1.12.0
 exit-address-family

R2#sh run | inc mpls
mpls traffic-eng tunnels

ip explicit-paths name PATH
next-address 192.1.23.3
next-address 192.1.35.5
next-address 192.1.45.4
next-address 4.4.4.4

R3

R3#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.23.3 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R3#sh run int f1/1
interface FastEthernet1/1
 ip address 192.1.34.3 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R3#sh run int f2/0
interface FastEthernet2/0
 ip address 192.1.35.3 255.255.255.0
 ip router isis 1
 shutdown
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R3#sh run int lo0
interface Loopback0
 ip address 3.3.3.3 255.255.255.255

R3#sh run | sec router isis
router isis 1
 net 49.0001.0000.0000.0003.00
 is-type level-2-only
 metric-style wide
 passive-interface Loopback0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2

R3#sh run | inc mpls
mpls traffic-eng tunnels

R4

R4#sh run int f1/0
interface FastEthernet1/0
 vrf forwarding MSSK
 ip address 192.1.46.4 255.255.255.0
 speed 100
 duplex full

R4#sh run int f1/1
interface FastEthernet1/1
 ip address 192.1.34.4 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R4#sh run int f2/0
interface FastEthernet2/0
 ip address 192.1.45.4 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R4#sh run int lo0
interface Loopback0
 ip address 4.4.4.4 255.255.255.255

R4#sh run int tun0
tunnel mode mpls traffic-eng
ip unnumbered loopback0
tunnel destination 2.2.2.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name PATH
tunnel mpls traffic-eng path-option 2 dynamic

R4#sh run | sec router isis
router isis 1
 net 49.0001.0000.0000.0004.00
 is-type level-2-only
 metric-style wide
 passive-interface Loopback0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2

R4#sh run | sec router bgp
router bgp 100
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf MSSK
  network 6.6.6.6 mask 255.255.255.255
  network 192.1.46.0
 exit-address-family

R4#sh run | inc mpls
mpls traffic-eng tunnels

R4#sh run | inc ip route
ip route vrf MSSK 6.6.6.6 255.255.255.255 192.1.46.6

ip explicit-paths name PATH
next-address 192.1.45.5
next-address 192.1.35.3
next-address 192.1.23.2
next-address 2.2.2.2

R5

R5#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.25.5 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R5#sh run int f1/1
interface FastEthernet1/1
 ip address 192.1.45.5 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R5#sh run int f2/0
interface FastEthernet2/0
 ip address 192.1.35.5 255.255.255.0
 ip router isis 1
 speed 100
 duplex full
 mpls traffic-eng tunnels
 ip rsvp bandwidth

R5#sh run int lo0
interface Loopback0
 ip address 5.5.5.5 255.255.255.255

R5#sh run | sec router isis
router isis 1
 net 49.0001.0000.0000.0005.00
 is-type level-2-only
 metric-style wide
 passive-interface Loopback0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2

R5#sh run | inc mpls
mpls traffic-eng tunnels

R6

R6#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.46.6 255.255.255.0
 speed 100
 duplex full

R6#sh run int lo0
interface Loopback0
 ip address 6.6.6.6 255.255.255.255

R6#sh run | inc ip route
ip route 0.0.0.0 0.0.0.0 192.1.46.4

Verification

Testing reachablity between our CEs

R1#ping 6.6.6.6 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/22/28 ms
R1#traceroute 6.6.6.6 source lo0
Type escape sequence to abort.
Tracing the route to 6.6.6.6
VRF info: (vrf in name/id, vrf out name/id)
  1 192.1.12.2 4 msec 4 msec 4 msec
  2 192.1.23.3 [MPLS: Labels 16/16 Exp 0] 28 msec 20 msec 20 msec
  3 192.1.35.5 [MPLS: Labels 17/16 Exp 0] 24 msec 20 msec 20 msec
  4 192.1.46.4 [MPLS: Label 16 Exp 0] 20 msec 16 msec 16 msec
  5 192.1.46.6 20 msec 20 msec *

Checking our explicit path configured

R2#sh ip explicit-paths
PATH PATH (strict source route, path complete, generation 13)
    1: next-address 192.1.23.3
    2: next-address 192.1.35.5
    3: next-address 192.1.45.4
    4: next-address 4.4.4.4

R6#traceroute 1.1.1.1 sou lo0
Type escape sequence to abort.
Tracing the route to 1.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.1.46.4 8 msec 0 msec 4 msec
  2 192.1.45.5 [MPLS: Labels 19/16 Exp 0] 24 msec 20 msec 20 msec
  3 192.1.35.3 [MPLS: Labels 18/16 Exp 0] 20 msec 20 msec 20 msec
  4 192.1.12.2 [MPLS: Label 16 Exp 0] 20 msec 16 msec 16 msec
  5 192.1.12.1 20 msec 20 msec *

R4#sh ip explicit-paths
PATH PATH (strict source route, path complete, generation 11)
    1: next-address 192.1.45.5
    2: next-address 192.1.35.3
    3: next-address 192.1.23.2
    4: next-address 2.2.2.2
R2#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: R2_t0                               (Tunnel0) Destination: 4.4.4.4
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit PATH (Basis for Setup, path weight 40)

  Config Parameters:
    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 0 [0] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : FastEthernet1/1, 16
  Next Hop : 192.1.23.3
  RSVP Signalling Info:
       Src 2.2.2.2, Dst 4.4.4.4, Tun_Id 0, Tun_Instance 8812
    RSVP Path Info:
      My Address: 192.1.23.2  
      Explicit Route: 192.1.23.3 192.1.35.3 192.1.35.5 192.1.45.5
                      192.1.45.4 4.4.4.4
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
  History:
    Tunnel:
      Time since created: 3 days, 59 minutes
      Time since path change: 5 minutes, 8 seconds
      Number of LSP IDs (Tun_Instances) used: 8812
    Current LSP: [ID: 8812]
      Uptime: 4 minutes, 58 seconds
      Selection: reoptimization
    Prior LSP: [ID: 8811]
      ID: path option unknown
      Removal Trigger: configuration changed

LSP Tunnel R4_t0 is signalled, connection is up
  InLabel  : FastEthernet1/1, implicit-null
  Prev Hop : 192.1.23.3
  OutLabel :  -
  RSVP Signalling Info:
       Src 4.4.4.4, Dst 2.2.2.2, Tun_Id 0, Tun_Instance 8805
    RSVP Path Info:
      My Address: 2.2.2.2  
      Explicit Route:  NONE
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits

P2MP TUNNELS:

P2MP SUB-LSPS:
R2#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
16         No Label   1.1.1.1/32[V]    12776         Fa1/0      192.1.12.1 
17         No Label   192.1.12.0/24[V] 0             aggregate/MSSK
R3#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
16         17         2.2.2.2 0 [8812] 3934          Fa2/0      192.1.35.5 
18         Pop Label  4.4.4.4 0 [8805] 4152          Fa1/0      192.1.23.2

Now, we want to configure backup using lower priority path option

R2(config)#int tun0
R2(config-if)#tunnel mpls traffic-eng path-option 2 dynamic

R4(config)#int tun0
R4(config-if)#tunnel mpls traffic-eng path-option 2 dynamic

Now, shutting down one of the links across the explicit path
R3#conf t   
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#int f2/0
R3(config-if)#shutdown

R2#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: R2_t0                               (Tunnel0) Destination: 4.4.4.4
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 20)
    path option 1, type explicit PATH

  Config Parameters:
    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 0 [0] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : FastEthernet2/0, 18
  Next Hop : 192.1.25.5
  RSVP Signalling Info:
       Src 2.2.2.2, Dst 4.4.4.4, Tun_Id 0, Tun_Instance 8814
    RSVP Path Info:
      My Address: 192.1.25.2  
      Explicit Route: 192.1.25.5 192.1.45.5 192.1.45.4 4.4.4.4
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
  History:
    Tunnel:
      Time since created: 3 days, 1 hours, 3 minutes
      Time since path change: 59 seconds
      Number of LSP IDs (Tun_Instances) used: 8814
    Current LSP: [ID: 8814]
      Uptime: 59 seconds
      Selection: reoptimization
    Prior LSP: [ID: 8812]
      ID: path option unknown
      Removal Trigger: path error

LSP Tunnel R4_t0 is signalled, connection is up
  InLabel  : FastEthernet1/1, implicit-null
  Prev Hop : 192.1.23.3
  OutLabel :  -
  RSVP Signalling Info:
       Src 4.4.4.4, Dst 2.2.2.2, Tun_Id 0, Tun_Instance 8807
    RSVP Path Info:
      My Address: 2.2.2.2  
      Explicit Route:  NONE
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits

P2MP TUNNELS:

P2MP SUB-LSPS:

R1#traceroute 6.6.6.6 source lo0
Type escape sequence to abort.
Tracing the route to 6.6.6.6
VRF info: (vrf in name/id, vrf out name/id)
  1 192.1.12.2 4 msec 0 msec 4 msec
  2 192.1.25.5 [MPLS: Labels 18/16 Exp 0] 20 msec 16 msec 16 msec
  3 192.1.46.4 [MPLS: Label 16 Exp 0] 24 msec 8 msec 12 msec
  4 192.1.46.6 16 msec 16 msec *

As we can see end to end reachability is maintained but the path now is different as we are using the dynamic one

Friday, December 14, 2012

MPLS L2VPN With AToM - Eth to Eth


Issue

In this example we will examine L2VPN with AToM
Our CEs in this example are R1 and R5
Our PEs are R2 and R4, and R3 is the P

We will run OSPF as the IGP inside the MPLS backbone and we will configure OSPF also as the routing protocol running between the CEs

Configuration

R1

R1#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.15.1 255.255.255.0
 speed 100
 duplex full

R1#sh run int lo0
interface Loopback0
 ip address 1.1.1.1 255.255.255.255

R1#sh run | sec router ospf
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
 network 192.1.15.1 0.0.0.0 area 0

R2

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R2#sh run int f1/0
interface FastEthernet1/0
 no ip address
 speed 100
 duplex full
 no keepalive
 xconnect 4.4.4.4 15 encapsulation mpls pw-class MSSK
end

R2#sh run int f1/1
Building configuration...

Current configuration : 103 bytes
!
interface FastEthernet1/1
 ip address 192.1.23.2 255.255.255.0
 speed 100
 duplex full
 mpls ip
end

R2#sh run int lo0
Building configuration...

Current configuration : 63 bytes
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
end

R2#sh run | sec router ospf
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
 network 192.1.23.2 0.0.0.0 area 0

R3

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R3#sh run int f1/0
Building configuration...

Current configuration : 103 bytes
!
interface FastEthernet1/0
 ip address 192.1.23.3 255.255.255.0
 speed 100
 duplex full
 mpls ip
end

R3#sh run int f1/1
Building configuration...

Current configuration : 103 bytes
!
interface FastEthernet1/1
 ip address 192.1.34.3 255.255.255.0
 speed 100
 duplex full
 mpls ip
end

R3#sh run int lo0
Building configuration...

Current configuration : 63 bytes
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
end

R3#sh run | sec router ospf
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
 network 192.1.23.3 0.0.0.0 area 0
 network 192.1.34.3 0.0.0.0 area 0

R4

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R4#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.34.4 255.255.255.0
 speed 100
 duplex full
 mpls ip

R4#sh run int f1/1
interface FastEthernet1/1
 no ip address
 speed 100
 duplex full
 no keepalive
 xconnect 2.2.2.2 15 encapsulation mpls pw-class MSSK

R4#sh run int lo0
Building configuration...

Current configuration : 63 bytes
!
interface Loopback0
 ip address 4.4.4.4 255.255.255.255

R4#sh run | sec router ospf
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
 network 192.1.34.4 0.0.0.0 area 0

R5

R5#sh run int f1/0
interface FastEthernet1/0
 ip address 192.1.15.5 255.255.255.0
 speed 100
 duplex full

R5#sh run int lo0
interface Loopback0
 ip address 5.5.5.5 255.255.255.255

R5#sh run | sec router ospf
router ospf 1
 router-id 5.5.5.5
 network 5.5.5.5 0.0.0.0 area 0
 network 192.1.15.5 0.0.0.0 area 0


           

Verification

We will start our verification from the PE routers

R2#sh mpls ldp neighbor 4.4.4.4
    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 2.2.2.2:0
        TCP connection: 4.4.4.4.50601 - 2.2.2.2.646
        State: Oper; Msgs sent/rcvd: 2105/2103; Downstream
        Up time: 1d06h
        LDP discovery sources:
          Targeted Hello 2.2.2.2 -> 4.4.4.4, active, passive
        Addresses bound to peer LDP Ident:
          192.1.34.4      4.4.4.4 

R2#sh mpls l2transport summary
Destination address: 4.4.4.4, total number of vc: 1
  0 unknown, 1 up, 0 down, 0 admin down, 0 recovering, 0 standby, 0 hotstandby
  1 active vc on MPLS interface Fa1/1

R4#sh mpls l2transport summary
Destination address: 2.2.2.2, total number of vc: 1
  0 unknown, 1 up, 0 down, 0 admin down, 0 recovering, 0 standby, 0 hotstandby
  1 active vc on MPLS interface Fa1/0

As we can see the status is up, the pseudowire adjacency will be formed once the xconnect is configured on the attachment circuit, i.e. the link facing the CE

Now, R1 and R5 are as they were directly connected, let us check reachability

R1#ping 192.1.15.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.1.15.5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/18/28 ms

Now, OSPF adjacency between R1 and R5 should be established
R1#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
5.5.5.5           1   FULL/DR         00:00:35    192.1.15.5      FastEthernet1/0

R1#sh ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/2] via 192.1.15.5, 1d01h, FastEthernet1/0

R1#ping 5.5.5.5 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/16 ms

R1#sh ip ospf database

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         1724        0x80000030 0x00ED51 2
5.5.5.5         5.5.5.5         2019        0x80000030 0x00AD5D 2

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.1.15.5      5.5.5.5         2019        0x8000002E 0x00DD2D

If we wanted to check the data plane

R3#debug mpls packet
R1#ping 5.5.5.5 sou lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/20 ms
*Dec 14 22:20:15.692: MPLS turbo: Fa1/0: rx: Len 391 Stack {17 0 255} {19 0 255} CW {f:0 l:0 s:0}
*Dec 14 22:20:15.692: MPLS turbo: Fa1/1: tx: Len 387 Stack {19 0 254} CW {f:0 l:0 s:0}
*Dec 14 22:20:16.952: MPLS turbo: Fa1/1: rx: Len 80 Stack {16 6 255} - ipv4 data s:4.4.4.4 d:2.2.2.2 ttl:255 tos:C0 prot:11
*Dec 14 22:20:17.280: MPLS turbo: Fa1/0: rx: Len 86 Stack {17 0 255} {19 0 255} CW {f:0 l:0 s:0}
*Dec 14 22:20:17.280: MPLS turbo: Fa1/1: tx: Len 82 Stack {19 0 254} CW {f:0 l:0 s:0}
*Dec 14 22:20:17.472: MPLS turbo: Fa1/0: rx: Len 80 Stack {17 6 255} - ipv4 data s:2.2.2.2 d:4.4.4.4 ttl:255 tos:C0 prot:11
*Dec 14 22:20:18.432: MPLS turbo: Fa1/1: rx: Len 86 Stack {16 0 255} {19 0 255} CW {f:0 l:0 s:0}
*Dec 14 22:20:18.432: MPLS turbo: Fa1/0: tx: Len 82 Stack {19 0 254} CW {f:0 l:0 s:0}
*Dec 14 22:20:20.340: MPLS turbo: Fa1/0: rx: Len 120 Stack {17 0 255} {19 0 255} CW {f:0 l:0 s:0}
*Dec 14 22:20:20.340: MPLS turbo: Fa1/1: tx: Len 116 Stack {19 0 254} CW {f:0 l:0 s:0}
*Dec 14 22:20:23.628: MPLS turbo: Fa1/1: rx: Len 120 Stack {16 0 255} {19 0 255} CW {f:0 l:0 s:0}
*Dec 14 22:20:23.628: MPLS turbo: Fa1/0: tx: Len 116 Stack {19 0 254} CW {f:0 l:0 s:0}
*Dec 14 22:20:24.332: MPLS turbo: Fa1/0: rx: Len 140 Stack {17 0 255} {19 0 255} CW {f:0 l:0 s:0}

R3#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
16         Pop Label  2.2.2.2/32       4318680       Fa1/0      192.1.23.2 
17         Pop Label  4.4.4.4/32       4314590       Fa1/1      192.1.34.4 

The 16 and 17 label values can be seen from the debug output above as well as the 19 value which can be demonstrated more in the output below

R2#sh mpls l2transport vc detail
Local interface: Fa1/0 up, line protocol up, Ethernet up
  Destination address: 4.4.4.4, VC ID: 15, VC status: up
    Output interface: Fa1/1, imposed label stack {17 19}
    Preferred path: not configured 
    Default path: active
    Next hop: 192.1.23.3
  Create time: 1d06h, last status change time: 1d06h
    Last label FSM state change time: 1d06h
  Signaling protocol: LDP, peer 4.4.4.4:0 up
    Targeted Hello: 2.2.2.2(LDP Id) -> 4.4.4.4, 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 BFD dataplane     status rcvd: Not sent
      Last BFD peer monitor  status rcvd: No fault
      Last local AC  circuit status rcvd: No fault
      Last local AC  circuit status sent: No fault
      Last local PW i/f circ status rcvd: 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 19, remote 19
         
R2#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
16         Pop Label  3.3.3.3/32       0             Fa1/1      192.1.23.3 
17         Pop Label  192.1.34.0/24    0             Fa1/1      192.1.23.3 
18         17         4.4.4.4/32       0             Fa1/1      192.1.23.3 
19         No Label   l2ckt(1)         2538066       Fa1/0      point2point

Note the l2ckt keyword in the output above has a label value of 19, and the show mpls l2transport vc detail the remote and local label value is 19