Routing
Routing

MPLS auto-bandwith over unequal cost paths

[ Edited ]
‎10-31-2019 09:52 AM

Hello,

I'm trying to get auto-bandwidth to work over unequal cost paths.  I've tried two ways

1) without container LSPs 

2) with container LSPs

Both ways, traffic always stays on the same path even when there is not enough reserved bandwidth.  It is my understanding that if a LSP is exceeding it's bandwith, a new path should be signalled, which might be a totally different physical path with lower IGP cost.

 

Here is my config without trying to use container LSPs... the goal here is to have a new physical path signalled. 

The topology is pretty simple:

 

Screen Shot 2019-10-31 at 12.27.21 PM.png

 

Traffic is going from R1 (10.0.0.1) to R4 (10.0.0.7)

ge-0/0/0 is the primary path due to lower IS-IS metric

I've artifically set ge-0/0/0 to be 1Mb/s

 

root@R1> show configuration protocols rsvp 
interface all;
interface ge-0/0/0.0 {
    bandwidth 1m;
}

root@R1> show configuration protocols mpls 
statistics {
    file mpls.stat size 5m files 5;
    interval 5;
    auto-bandwidth;
}
label-switched-path AUTO-BANDWIDTH {
    template;
    optimize-timer 10;
    adaptive;
    auto-bandwidth {
        adjust-interval 300;
        adjust-threshold 10;
        minimum-bandwidth 30k;
maximum-bandwidth 300k;
resignal-minimum-bandwidth;
adjust-threshold-overflow-limit 2; root@R1> show rsvp interface RSVP interface: 7 active Active Subscr- Static Available Reserved Highwater Interface State resv iption BW BW BW mark ge-0/0/0.0 Up 6 100% 1000kbps 970kbps 30kbps 30kbps ge-0/0/1.0 Up 0 100% 1000Mbps 1000Mbps 0bps 0bps

I'm using dynamic tunnels also

 

root@R1> show configuration routing-options dynamic-tunnels 
R4 {
    rsvp-te LSP-R4-1 {                
        label-switched-path-template {
            AUTO-BANDWIDTH;
        }
        destination-networks {
            10.0.0.7/32;
        }
    }
}
root@R1> show route 10.0.0.7 

inet.0: 26 destinations, 38 routes (26 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.7/32        *[IS-IS/18] 00:06:39, metric 9100
                    > to 192.168.0.1 via ge-0/0/0.0

inet.3: 7 destinations, 13 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.7/32        *[RSVP/7/3] 00:03:32, metric 9100
                    > to 192.168.0.1 via ge-0/0/0.0, label-switched-path 10.0.0.7:dt-rsvp-R4
                    [Tunnel/300] 03:15:59
                      Tunnel

 

So i generate some traffic and i expect to see a new LSP generated to go via ge-0/0/2 but that does not happen:

 

root@R1> show mpls lsp name 10.0.0.7:dt-rsvp-R4 extensive    
Ingress LSP: 6 sessions

10.0.0.7
  From: 10.0.0.1, State: Up, ActiveRoute: 0, LSPname: 10.0.0.7:dt-rsvp-R4
  ActivePath:  (primary)
  LSPtype: Dynamic Configured, Penultimate hop popping
  LoadBalance: Random
  Autobandwidth 
  MinBW: 30kbps, MaxBW: 300kbps
  AdjustTimer: 300 secs AdjustThreshold: 10% 
  Max AvgBW util: 1.40202Mbps, Bandwidth Adjustment in 275 second(s).
  Overflow limit: 0, Overflow sample count: 5
  Underflow limit: 0, Underflow sample count: 0, Underflow Max AvgBW: 0bps
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
 *Primary                    State: Up
    Priorities: 7 0
    Bandwidth: 300kbps
    OptimizeTimer: 10
    SmartOptimizeTimer: 180
    Reoptimization in 5 second(s).
    Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 9100)
 192.168.0.1 S 192.168.0.10 S 192.168.0.15 S 
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
          192.168.0.1 192.168.0.10 192.168.0.15
   21 Oct 31 16:45:41.110 CSPF: computation result ignored, new path no benefit[8 times]
   20 Oct 31 16:41:50.505 Make-before-break: Cleaned up old instance: Hold dead expiry
   19 Oct 31 16:41:46.824 Pending old path instance deletion[8 times]
   18 Oct 31 16:40:30.447 Make-before-break: Switched to new instance
   17 Oct 31 16:40:30.446 Self-ping ended successfully
   16 Oct 31 16:40:30.334 Record Route:  192.168.0.1 192.168.0.10 192.168.0.15
   15 Oct 31 16:40:30.334 Up
   14 Oct 31 16:40:30.334 Automatic Autobw adjustment succeeded: BW changes from 30000 bps to 300000 bps
   13 Oct 31 16:40:30.334 Self-ping started
   12 Oct 31 16:40:30.334 Self-ping enqueued
   11 Oct 31 16:40:30.158 Originate make-before-break call
   10 Oct 31 16:40:30.158 CSPF: computation result accepted  192.168.0.1 192.168.0.10 192.168.0.15
    9 Oct 31 16:40:20.919 CSPF: computation result ignored, new path no benefit[4 times]
    8 Oct 31 16:35:30.679 Self-ping ended successfully
    7 Oct 31 16:35:30.193 Selected as active path
    6 Oct 31 16:35:30.192 Record Route:  192.168.0.1 192.168.0.10 192.168.0.15
    5 Oct 31 16:35:30.191 Up
    4 Oct 31 16:35:30.191 Self-ping started
    3 Oct 31 16:35:30.191 Self-ping enqueued
    2 Oct 31 16:35:30.158 Originate Call
    1 Oct 31 16:35:30.158 CSPF: computation result accepted  192.168.0.1 192.168.0.10 192.168.0.15
  Created: Thu Oct 31 16:35:30 2019


root@R1> show rsvp interface 
RSVP interface: 7 active
                          Active  Subscr- Static      Available   Reserved    Highwater
Interface          State  resv    iption  BW          BW          BW          mark
ge-0/0/0.0             Up       6   100%  1000kbps    700kbps     300kbps     300kbps    


root@R1> show route 10.0.0.7 

inet.0: 26 destinations, 38 routes (26 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.7/32        *[IS-IS/18] 00:16:38, metric 9100
                    > to 192.168.0.1 via ge-0/0/0.0

inet.3: 7 destinations, 13 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.7/32        *[RSVP/7/3] 00:08:31, metric 9100
                    > to 192.168.0.1 via ge-0/0/0.0, label-switched-path 10.0.0.7:dt-rsvp-R4
                    [Tunnel/300] 03:25:58
                      Tunnel


root@R1> show mpls lsp autobandwidth 
Lspname               Last         Requested    Reserved     Highwater    AdjustTime LastAdjust 
                      BW           BW           BW           mark         Left (sec)                    
10.0.0.7:dt-rsvp-R4   30kbps      300kbps     300kbps     1.4149Mbps  78 sec     Thu Oct 31 16:40:30 2019

from the mpls.stat file:

10.0.0.7:dt-rsvp-R4 (LSP ID 2, Tunnel ID 55127)        52752 pkt       78493552 Byte    113 pps   168739 Bps Util 449.98% Reserved Bw    37500 Bps

So is my understading incorrect here?  I thought that auto-bandwith would signal a new path via ge-0/0/2 since ge-0/0/0 is overcongested.  perhaps my config is wrong?  ge-0/0/2 goes have a higher IS-IS metric than ge-0/0/0 but it is an available path.

 

Any advise would be apprciated!  thanks

 

1 REPLY 1
Routing

Re: MPLS auto-bandwith over unequal cost paths

[ Edited ]
‎11-03-2019 07:09 AM

Hello,

 

Your LSP won't resignal over alternate path when LSP utilization goes above 300Kbps because You configured "maximum-bandwidth 300k"

Reference https://www.juniper.net/documentation/en_US/junos/topics/usage-guidelines/mpls-configuring-automatic...

 

If the bandwidth to be signaled is greater than the value configured under the maximum-bandwidth statement at the [edit protocols mpls label-switched-path lsp-name autobandwidth] hierarchy level, then the LSP is signaled only using the maximum bandwidth.

 

 

And Your ge-0/0/0 has 1M bandwidth configured which is plenty for LSP requiring only 300k.

HTH

Thx

Alex

_____________________________________________________________________

Please ask Your Juniper account team about Juniper Professional Services offerings.
Juniper PS can design, test & build the network/part of the network as per Your requirements

+++++++++++++++++++++++++++++++++++++++++++++

Accept as Solution = cool !
Accept as Solution+Kudo = You are a Star !