Tuesday, January 31, 2017

CCIE SPv4 - MPLS Traffic Engineering - TE Attributes - Priority

Software versions:
IOS XE 15.5
IOS XR 5.3

The topology for this demo:
In this post we will focus on TE attribute - Priority. By default, priority is set to 7/7, 7 for the setup and 7 for the hold, which happens to mean that 7 is the lowest priority level, a TE tunnel with a priority 6 or higher will override the priority 7 tunnel. The 7 for setup is basically it initial launch, the 7 for hold is if this tunnel is up and another tunnel with a higher priority needs the bandwidth, the lower priority wins. 

We'll configure a TE tunnel, TE tunnel 3, which will have a priority of 6 and 6. This should disable the other tunnel with a high priority value in favor of this tunnel.


%MPLS_TE-5-LSP: LSP 192.168.1.3 3_3958: DOWN: path error
%MPLS_TE-5-TUN: Tun3: installed LSP nil for 3_3958 (popt 3), path error
%MPLS_TE-5-TUN: Tun3: LSP path change nil for 3_3958, path error
%MPLS_TE-5-TUN: Tun3: installed LSP 3_3959 (popt 3) for nil, got 1st feasible path opt
%MPLS_TE-5-LSP: LSP 192.168.1.3 3_3959: Path Error from 10.15.4.15: Admission control Failure: Requested bandwidth unavailable (flags 0)

This output indicates that the requested bandwidth is not available.

interface Tunnel3
 tunnel mpls traffic-eng priority 6 6

%MPLS_TE-5-TUN: Tun3: installed LSP 3_3968 (popt 3) for nil, got 1st feasible path opt
%MPLS_TE-5-LSP: LSP 192.168.1.3 1_538: DOWN: signalling shutdown
%MPLS_TE-5-TUN: Tun1: installed LSP nil for 1_538 (popt 1), signalling shutdown
%MPLS_TE-5-TUN: Tun1: LSP path change nil for 1_538, signalling shutdown
%MPLS_TE-5-TUN: Tun1: installed LSP 1_636 (popt 1) for nil, unprotected LSP failure
%MPLS_TE-5-LSP: LSP 192.168.1.3 1_636: Path Error from 10.15.4.15: Admission control Failure: equested bandwidth unavailable (flags 0)
%MPLS_TE-5-LSP: LSP 192.168.1.3 1_636: DOWN: path error
%MPLS_TE-5-TUN: Tun1: installed LSP nil for 1_636 (popt 1), path error
%MPLS_TE-5-TUN: Tun1: LSP path change nil for 1_636, path error
%MPLS_TE-5-LSP: LSP 192.168.1.3 3_3968: UP

%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down

R3#sh mpls traffic-eng tunnels tunnel 3

Name: R3_t3                               (Tunnel3) Destination: 192.168.1.13
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 3, type dynamic (Basis for Setup, path weight 204)

Config Parameters:
    Bandwidth: 100000   kbps (Global)  Priority: 6  6   Affinity: 0x0/0x0

So the configuration say that a path weight, or admin weight was seen which in my testing, didn't help steer the traffic. The priority is 6 6 and the affinity ix 0x0/0x0, which means it was told to ignore the affinity values.

R3#sh ip rsvp interface | in 100
Gi1.34       ena        100M       750M     750M     0

R3#$reservation detail filter session-type 7 | in 192.168.1.13|Label
Tun Dest:   192.168.1.13  Tun ID: 2  Ext Tun ID: 192.168.1.3
  Label: 24001 (outgoing)
  Tun Dest:   192.168.1.13  Tun ID: 3  Ext Tun ID: 192.168.1.3
  Label: 23 (outgoing)


I don't currently have a route advertisement mechanism in place to point traffic to the tunnel. I'll toss in a static route for now to prove the tunnel is usable.

ip route 192.168.1.13 255.255.255.255 Tunnel3

R3#sh ip route 192.168.1.13
Routing entry for 192.168.1.13/32
  Known via "static", distance 1, metric 0 (connected)
  Routing Descriptor Blocks:
  * directly connected, via Tunnel3
      Route metric is 0, traffic share count is 

Routing table point to tunnel 3 as hour next hop.

R3#sh ip cef 192.168.1.13 detail
192.168.1.13/32, epoch 2, flags [attached]
  local label info: global/36
  3 RR sources [non-eos indirection, heavily shared]
  attached to Tunnel3

The CEF table allocates local label 36 for the tunnel route.

R3#sh mpls forwarding-table labels 36 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
36         Pop Label  192.168.1.13/32  0             Tu3        point2point
        MAC/Encaps=18/22, MRU=1500, Label Stack{23}, via Gi1.34
        000C2924DCA2000C29062644810000228847 00017000
        No output feature configured

You can see that label 23 will be used as transport.

R3#traceroute mpls traffic-eng tunnel 3
Type escape sequence to abort.
  0 10.3.4.3 MRU 1500 [Labels: 23 Exp: 0]
L 1 10.3.4.4 MRU 1500 [Labels: 24006 Exp: 0] 13 ms
L 2 10.15.4.15 MRU 1500 [Labels: 24014 Exp: 0] 17 ms
L 3 10.15.16.16 MRU 1500 [Labels: 24015 Exp: 0] 17 ms
L 4 10.12.16.12 MRU 1500 [Labels: implicit-null Exp: 0] 62 ms
! 5 10.12.13.13 29 ms

As you can see, the TE tunnel is being used. 

Thanks for stopping by!
Rob Riker, CCIE #50693

No comments:

Post a Comment