Saturday, October 13, 2012

MPLS Tunneling




Issue

We will configure MPLS through our backbone, EBGP as the CE-PE routing protocol and transport the CE prefixes over the MPLS backbone
ISIS will be the IGP inside the MPLS backbone
No VRF or L2VPN parameters will be configured, just enabling MPLS in the backbone and transport the routes between the CEs


Configuration



R1

R1#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
 speed 100
 full-duplex

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

R2

R2#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
 speed 100
 full-duplex

R2#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

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

R2#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0002.00
 is-type level-2-only
 passive-interface Loopback0

R3

R3#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.23.3 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

R3#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.34.3 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

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.0000.0000.0000.0003.00
 is-type level-2-only
 passive-interface Loopback0

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R4

R4#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.34.4 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

R4#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.45.4 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

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

R4#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0004.00
 is-type level-2-only
 passive-interface Loopback0

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R5

R5#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.45.5 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

R5#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.56.5 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

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.0000.0000.0000.0005.00
 is-type level-2-only
 passive-interface Loopback0

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R6

R6#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.56.6 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

R6#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.19.6 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

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

R6#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0006.00
 is-type level-2-only
 passive-interface Loopback0

mpls label protocol ldp
mpls ldp router-id Loopback0 force

R7

R7#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.19.19 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex
 mpls ip

R7#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.20.19 255.255.255.0
 speed 100
 full-duplex

R7#sh run int lo0
interface Loopback0
 ip address 19.19.19.19 255.255.255.255

R7#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0019.00
 is-type level-2-only
 passive-interface Loopback0

R8

R8#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.20.20 255.255.255.0
 speed 100
 full-duplex

R8#sh run int lo0
interface Loopback0
 ip address 20.20.20.20 255.255.255.255


Verification


R2#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R3             L2   Fa0/1       192.168.23.3    UP    7        R3.01     

R2#sh mpls ldp neighbor
    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 2.2.2.2:0
        TCP connection: 3.3.3.3.11021 - 2.2.2.2.646
        State: Oper; Msgs sent/rcvd: 30/29; Downstream
        Up time: 00:13:18
        LDP discovery sources:
          FastEthernet0/1, Src IP addr: 192.168.23.3
        Addresses bound to peer LDP Ident:
          192.168.23.3    192.168.34.3    3.3.3.3    

R3#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R2             L2   Fa0/0       192.168.23.2    UP    24       R3.01             
R4             L2   Fa0/1       192.168.34.4    UP    7        R4.01     

R3#sh mpls ldp neighbor
    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 3.3.3.3:0
        TCP connection: 4.4.4.4.60496 - 3.3.3.3.646
        State: Oper; Msgs sent/rcvd: 42/44; Downstream
        Up time: 00:25:35
        LDP discovery sources:
          FastEthernet0/1, Src IP addr: 192.168.34.4
        Addresses bound to peer LDP Ident:
          192.168.34.4    4.4.4.4         192.168.45.4   
    Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 3.3.3.3:0
        TCP connection: 2.2.2.2.646 - 3.3.3.3.11021
        State: Oper; Msgs sent/rcvd: 29/29; Downstream
        Up time: 00:12:34
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 192.168.23.2
        Addresses bound to peer LDP Ident:
          192.168.12.2    192.168.23.2    2.2.2.2      

R4#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R5             L2   Fa0/1       192.168.45.5    UP    7        R5.01             
R3             L2   Fa0/0       192.168.34.3    UP    27       R4.01              

R4#sh mpls ldp neighbor
    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 4.4.4.4:0
        TCP connection: 3.3.3.3.646 - 4.4.4.4.60496
        State: Oper; Msgs sent/rcvd: 44/42; Downstream
        Up time: 00:25:49
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 192.168.34.3
        Addresses bound to peer LDP Ident:
          192.168.23.3    192.168.34.3    3.3.3.3        
    Peer LDP Ident: 5.5.5.5:0; Local LDP Ident 4.4.4.4:0
        TCP connection: 5.5.5.5.53841 - 4.4.4.4.646
        State: Oper; Msgs sent/rcvd: 33/33; Downstream
        Up time: 00:17:03
        LDP discovery sources:
          FastEthernet0/1, Src IP addr: 192.168.45.5
        Addresses bound to peer LDP Ident:
          192.168.45.5    192.168.56.5    5.5.5.5  

R5#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R4             L2   Fa0/0       192.168.45.4    UP    28       R5.01             
R6             L2   Fa0/1       192.168.56.6    UP    8        R6.01             

R5#sh mpls ldp neighbor
    Peer LDP Ident: 192.168.56.6:0; Local LDP Ident 5.5.5.5:0
        TCP connection: 192.168.56.6.19552 - 5.5.5.5.646
        State: Oper; Msgs sent/rcvd: 41/42; Downstream
        Up time: 00:24:15
        LDP discovery sources:
          FastEthernet0/1, Src IP addr: 192.168.56.6
        Addresses bound to peer LDP Ident:
          192.168.56.6    6.6.6.6         192.168.19.6   
    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 5.5.5.5:0
        TCP connection: 4.4.4.4.646 - 5.5.5.5.53841
        State: Oper; Msgs sent/rcvd: 33/33; Downstream
        Up time: 00:17:20
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 192.168.45.4
        Addresses bound to peer LDP Ident:
          192.168.34.4    4.4.4.4         192.168.45.4  

R6#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R7             L2   Fa0/1       192.168.19.19   UP    7        R7.01             
R5             L2   Fa0/0       192.168.56.5    UP    22       R6.01             

R6#sh mpls ldp neighbor
    Peer LDP Ident: 5.5.5.5:0; Local LDP Ident 192.168.56.6:0
        TCP connection: 5.5.5.5.646 - 192.168.56.6.19552
        State: Oper; Msgs sent/rcvd: 43/42; Downstream
        Up time: 00:25:01
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 192.168.56.5
        Addresses bound to peer LDP Ident:
          192.168.45.5    192.168.56.5    5.5.5.5        
    Peer LDP Ident: 192.168.19.19:0; Local LDP Ident 192.168.56.6:0
        TCP connection: 192.168.19.19.646 - 192.168.56.6.13701
        State: Oper; Msgs sent/rcvd: 32/33; Downstream
        Up time: 00:16:43
        LDP discovery sources:
          FastEthernet0/1, Src IP addr: 192.168.19.19
        Addresses bound to peer LDP Ident:
          192.168.19.19   192.168.20.19   19.19.19.19   

R7#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R6             L2   Fa0/0       192.168.19.6    UP    26       R7.01             

R7#sh mpls ldp neighbor
    Peer LDP Ident: 192.168.56.6:0; Local LDP Ident 192.168.19.19:0
        TCP connection: 192.168.56.6.13701 - 192.168.19.19.646
        State: Oper; Msgs sent/rcvd: 34/32; Downstream
        Up time: 00:16:58
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 192.168.19.6
        Addresses bound to peer LDP Ident:
          192.168.56.6    6.6.6.6         192.168.19.6 

Now, we will establish EBGP peering between R1 and R2, R7 and R8
As well, between the PEs: R2 and R7 which will be an iBGP session

R1#sh run | sec router bgp
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 network 1.1.1.1 mask 255.255.255.255
 neighbor 192.168.12.2 remote-as 100
 no auto-summary

R2#sh run | sec router bgp
router bgp 100
 no synchronization
 bgp log-neighbor-changes
 neighbor 19.19.19.19 remote-as 100
 neighbor 19.19.19.19 update-source Loopback0
 neighbor 19.19.19.19 next-hop-self
 neighbor 192.168.12.1 remote-as 1
 no auto-summary

R8#sh run | sec router bgp
router bgp 20
 no synchronization
 bgp log-neighbor-changes
 network 20.20.20.20 mask 255.255.255.255
 neighbor 192.168.20.19 remote-as 100
 no auto-summary

R7#sh run | sec router bgp
router bgp 100
 no synchronization
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 next-hop-self
 neighbor 192.168.20.20 remote-as 20
 no auto-summary

As the connection between R7 and R8 is EBGP session, and that connection is not advertised in the BGP session, we need to configure next-hop-self for iBGP peering inside the MPLS backbone

R1#sh ip bgp summary
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 3, main routing table version 3
2 network entries using 234 bytes of memory
2 path entries using 104 bytes of memory
3/2 BGP path/bestpath attribute entries using 372 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 734 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.12.2    4   100      30      30        3    0    0 00:25:13        1

R1#sh ip bgp
BGP table version is 3, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       0.0.0.0                  0         32768 i
*> 20.20.20.20/32   192.168.12.2                           0 100 20 i

R2#sh ip bgp summary
BGP router identifier 2.2.2.2, local AS number 100
BGP table version is 3, main routing table version 3
2 network entries using 234 bytes of memory
2 path entries using 104 bytes of memory
3/2 BGP path/bestpath attribute entries using 372 bytes of memory
2 BGP AS-PATH entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 758 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
19.19.19.19     4   100      22      22        3    0    0 00:18:00        1
192.168.12.1    4     1      32      32        3    0    0 00:27:04        1

R2#sh ip bgp neighbors 192.168.12.1 advertised-routes
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i20.20.20.20/32   19.19.19.19              0    100      0 20 i

Total number of prefixes 1

R2#sh ip bgp neighbors 19.19.19.19 advertised-routes
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       192.168.12.1             0             0 1 i

Total number of prefixes 1

R2#sh ip bgp
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       192.168.12.1             0             0 1 i
*>i20.20.20.20/32   19.19.19.19              0    100      0 20 i

R7#sh ip bgp summary
BGP router identifier 19.19.19.19, local AS number 100
BGP table version is 3, main routing table version 3
2 network entries using 234 bytes of memory
2 path entries using 104 bytes of memory
3/2 BGP path/bestpath attribute entries using 372 bytes of memory
2 BGP AS-PATH entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 758 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2.2.2.2         4   100      23      23        3    0    0 00:18:45        1
192.168.20.20   4    20      32      32        3    0    0 00:28:21        1
R7#sh ip bg
R7#sh ip bgp neigh
R7#sh ip bgp neighbors 2.2.2.2 advert
R7#sh ip bgp neighbors 2.2.2.2 advertised-routes
BGP table version is 3, local router ID is 19.19.19.19
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 20.20.20.20/32   192.168.20.20            0             0 20 i

Total number of prefixes 1
R7#sh ip bg
R7#sh ip bgp nei
R7#sh ip bgp neighbors 192.168.20.20 advert
R7#sh ip bgp neighbors 192.168.20.20 advertised-routes
BGP table version is 3, local router ID is 19.19.19.19
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i1.1.1.1/32       2.2.2.2                  0    100      0 1 i

Total number of prefixes 1
R7#sh ip bg
R7#sh ip bgp
BGP table version is 3, local router ID is 19.19.19.19
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i1.1.1.1/32       2.2.2.2                  0    100      0 1 i
*> 20.20.20.20/32   192.168.20.20            0             0 20 i

R8#sh ip bgp summary
BGP router identifier 20.20.20.20, local AS number 20
BGP table version is 3, main routing table version 3
2 network entries using 234 bytes of memory
2 path entries using 104 bytes of memory
3/2 BGP path/bestpath attribute entries using 372 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 734 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.20.19   4   100      32      32        3    0    0 00:28:46        1

R8#sh ip bgp
BGP table version is 3, local router ID is 20.20.20.20
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       192.168.20.19                          0 100 1 i
*> 20.20.20.20/32   0.0.0.0                  0         32768 i

R1#ping 20.20.20.20 source loopback 0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.20.20.20, 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 = 28/30/32 ms

R8#ping 1.1.1.1 source loopback 0

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

Now, if we wanted to trace the packet as it traverses through the backbone and check label assignments, we will enable debug mpls packets on the MPLS routers (R3 through R6) and initiate an ICMP packet from R8 towards R1

R3 – R6
debug mpls packets

R7

R7#sh mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface              
16     Pop tag     6.6.6.6/32        0          Fa0/0      192.168.19.6
17     16          5.5.5.5/32        0          Fa0/0      192.168.19.6
18     18          4.4.4.4/32        0          Fa0/0      192.168.19.6
19     20          3.3.3.3/32        0          Fa0/0      192.168.19.6
20     Pop tag     192.168.56.0/24   0          Fa0/0      192.168.19.6
21     17          192.168.45.0/24   0          Fa0/0      192.168.19.6
22     19          192.168.34.0/24   0          Fa0/0      192.168.19.6
23     21          192.168.23.0/24   0          Fa0/0      192.168.19.6
24     23          2.2.2.2/32        0          Fa0/0      192.168.19.6

R6

*Mar  2 00:57:59.197: MPLS: Fa0/1: recvd: CoS=0, TTL=254, Label(s)=23
*Mar  2 00:57:59.201: MPLS: Fa0/0: xmit: CoS=0, TTL=253, Label(s)=23

 Note: we can see the TTL decrements

R6#sh mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     5.5.5.5/32        0          Fa0/0      192.168.56.5
17     Pop tag     192.168.45.0/24   570        Fa0/0      192.168.56.5
18     17          4.4.4.4/32        0          Fa0/0      192.168.56.5
19     18          192.168.34.0/24   590        Fa0/0      192.168.56.5
20     19          3.3.3.3/32        0          Fa0/0      192.168.56.5
21     20          192.168.23.0/24   0          Fa0/0      192.168.56.5
22     Pop tag     19.19.19.19/32    189257     Fa0/1      192.168.19.19
23     23          2.2.2.2/32        116949     Fa0/0      192.168.56.5

R5


*Mar  2 00:57:59.429: MPLS: Fa0/1: recvd: CoS=0, TTL=253, Label(s)=23
*Mar  2 00:57:59.429: MPLS: Fa0/0: xmit: CoS=0, TTL=252, Label(s)=23

R5#sh mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     6.6.6.6/32        0          Fa0/1      192.168.56.6
17     Pop tag     4.4.4.4/32        0          Fa0/0      192.168.45.4
18     Pop tag     192.168.34.0/24   570        Fa0/0      192.168.45.4
19     16          3.3.3.3/32        0          Fa0/0      192.168.45.4
20     17          192.168.23.0/24   0          Fa0/0      192.168.45.4
21     22          19.19.19.19/32    201541     Fa0/1      192.168.56.6
22     Pop tag     192.168.19.0/24   0          Fa0/1      192.168.56.6
23     23          2.2.2.2/32        117675     Fa0/0      192.168.45.4

R4


*Mar  2 00:58:01.133: MPLS: Fa0/1: recvd: CoS=0, TTL=252, Label(s)=23
*Mar  2 00:58:01.137: MPLS: Fa0/0: xmit: CoS=0, TTL=251, Label(s)=23

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     3.3.3.3/32        0          Fa0/0      192.168.34.3
17     Pop tag     192.168.23.0/24   0          Fa0/0      192.168.34.3
18     Pop tag     5.5.5.5/32        0          Fa0/1      192.168.45.5
19     Pop tag     192.168.56.0/24   0          Fa0/1      192.168.45.5
20     16          6.6.6.6/32        0          Fa0/1      192.168.45.5
21     21          19.19.19.19/32    200951     Fa0/1      192.168.45.5
22     22          192.168.19.0/24   0          Fa0/1      192.168.45.5
23     23          2.2.2.2/32        117103     Fa0/0      192.168.34.3

R3

*Mar  2 00:58:03.237: MPLS: Fa0/1: recvd: CoS=0, TTL=251, Label(s)=23
*Mar  2 00:58:03.237: MPLS: Fa0/0: xmit: (no label)

Note: we can see the no label keyword which is due to PHP

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     4.4.4.4/32        0          Fa0/1      192.168.34.4
17     18          5.5.5.5/32        0          Fa0/1      192.168.34.4
18     Pop tag     192.168.45.0/24   0          Fa0/1      192.168.34.4
19     19          192.168.56.0/24   0          Fa0/1      192.168.34.4
20     20          6.6.6.6/32        0          Fa0/1      192.168.34.4
21     21          19.19.19.19/32    200498     Fa0/1      192.168.34.4
22     22          192.168.19.0/24   0          Fa0/1      192.168.34.4
23     Pop tag     2.2.2.2/32        111092     Fa0/0      192.168.23.2

Then checking the reverse direction (Echo reply)

R3

*Mar  2 01:01:31.829: MPLS: Fa0/0: recvd: CoS=0, TTL=254, Label(s)=21
*Mar  2 01:01:31.829: MPLS: Fa0/1: xmit: CoS=0, TTL=253, Label(s)=21

R3#sh mpls  forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     4.4.4.4/32        0          Fa0/1      192.168.34.4
17     18          5.5.5.5/32        0          Fa0/1      192.168.34.4
18     Pop tag     192.168.45.0/24   0          Fa0/1      192.168.34.4
19     19          192.168.56.0/24   0          Fa0/1      192.168.34.4
20     20          6.6.6.6/32        0          Fa0/1      192.168.34.4
21     21          19.19.19.19/32    201225     Fa0/1      192.168.34.4
22     22          192.168.19.0/24   0          Fa0/1      192.168.34.4
23     Pop tag     2.2.2.2/32        111735     Fa0/0      192.168.23.2

R4

*Mar  2 01:01:29.729: MPLS: Fa0/0: recvd: CoS=0, TTL=253, Label(s)=21
*Mar  2 01:01:29.729: MPLS: Fa0/1: xmit: CoS=0, TTL=252, Label(s)=21


R4#sh mpl for
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     3.3.3.3/32        0          Fa0/0      192.168.34.3
17     Pop tag     192.168.23.0/24   0          Fa0/0      192.168.34.3
18     Pop tag     5.5.5.5/32        0          Fa0/1      192.168.45.5
19     Pop tag     192.168.56.0/24   0          Fa0/1      192.168.45.5
20     16          6.6.6.6/32        0          Fa0/1      192.168.45.5
21     21          19.19.19.19/32    201952     Fa0/1      192.168.45.5
22     22          192.168.19.0/24   0          Fa0/1      192.168.45.5
23     23          2.2.2.2/32        117924     Fa0/0      192.168.34.3

R5

*Mar  2 01:01:28.029: MPLS: Fa0/0: recvd: CoS=0, TTL=252, Label(s)=21
*Mar  2 01:01:28.029: MPLS: Fa0/1: xmit: CoS=0, TTL=251, Label(s)=22

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     6.6.6.6/32        0          Fa0/1      192.168.56.6
17     Pop tag     4.4.4.4/32        0          Fa0/0      192.168.45.4
18     Pop tag     192.168.34.0/24   570        Fa0/0      192.168.45.4
19     16          3.3.3.3/32        0          Fa0/0      192.168.45.4
20     17          192.168.23.0/24   0          Fa0/0      192.168.45.4
21     22          19.19.19.19/32    202679     Fa0/1      192.168.56.6
22     Pop tag     192.168.19.0/24   0          Fa0/1      192.168.56.6
23     23          2.2.2.2/32        118573     Fa0/0      192.168.45.4

R6

*Mar  2 01:01:27.801: MPLS: Fa0/0: recvd: CoS=0, TTL=251, Label(s)=22
*Mar  2 01:01:27.801: MPLS: Fa0/1: xmit: (no label)


Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     5.5.5.5/32        0          Fa0/0      192.168.56.5
17     Pop tag     192.168.45.0/24   570        Fa0/0      192.168.56.5
18     17          4.4.4.4/32        0          Fa0/0      192.168.56.5
19     18          192.168.34.0/24   590        Fa0/0      192.168.56.5
20     19          3.3.3.3/32        0          Fa0/0      192.168.56.5
21     20          192.168.23.0/24   0          Fa0/0      192.168.56.5
22     Pop tag     19.19.19.19/32    190601     Fa0/1      192.168.19.19
23     23          2.2.2.2/32        118001     Fa0/0      192.168.56.5

As can be seen from the debug outputs above that the precedence value is 0 which is copied from the packet header to the MPLS header (CoS)

R1(config)#access-list 100 permit ip any any precedence critical
R1(config)#access-list 100 permit ip any any precedence flash   
R1(config)#access-list 100 permit ip any any precedence flash-override
R1(config)#access-list 100 permit ip any any precedence immediate    
R1(config)#access-list 100 permit ip any any precedence internet
R1(config)#access-list 100 permit ip any any precedence network
R1(config)#access-list 100 permit ip any any precedence priority
R1(config)#access-list 100 permit ip any any precedence routine

R1(config)#int f0/0
R1(config-if)#ip access-group 100 in

R1#sh access-lists 100
Extended IP access list 100
    10 permit ip any any precedence critical
    20 permit ip any any precedence flash
    30 permit ip any any precedence flash-override
    40 permit ip any any precedence immediate
    50 permit ip any any precedence internet
    60 permit ip any any precedence network
    70 permit ip any any precedence priority
    80 permit ip any any precedence routine (15 matches)


.net file

For anyone want to lab it up, please find the .net file below

autostart = False
[127.0.0.1:7200]
    workingdir = /tmp
    udp = 10001
    [[3725]]
        image = INE/c3725-adventerprisek9-mz.124-18.bin
        ram = 128
        ghostios = True
    [[ROUTER R4]]
        model = 3725
        console = 2004
        f0/0 = R3 f0/1
        f0/1 = R5 f0/0
        x = -129.0
        y = 106.0
    [[ROUTER R5]]
        model = 3725
        console = 2005
        f0/0 = R4 f0/1
        f0/1 = R6 f0/0
        x = 57.0
        y = 110.0
    [[ROUTER R6]]
        model = 3725
        console = 2006
        f0/0 = R5 f0/1
        f0/1 = R7 f0/0
        x = 61.0
        y = 14.0
    [[ROUTER R7]]
        model = 3725
        console = 2007
        f0/0 = R6 f0/1
        f0/1 = R8 f0/0
        x = 201.0
        y = -37.0
    [[ROUTER R1]]
        model = 3725
        console = 2001
        f0/0 = R2 f0/0
        x = -249.0
        y = -139.0
    [[ROUTER R2]]
        model = 3725
        console = 2002
        f0/0 = R1 f0/0
        f0/1 = R3 f0/0
        x = -246.0
        y = -37.0
    [[ROUTER R3]]
        model = 3725
        console = 2003
        f0/0 = R2 f0/1
        f0/1 = R4 f0/0
        x = -125.0
        y = 17.0
    [[ROUTER R8]]
        model = 3725
        console = 2008
        f0/0 = R7 f0/1
        x = 203.0
        y = -140.0

No comments: