IOS XE Version 15.5
IOS XR Version 5.3.0
In this post we will take our existing MPLS rollout from the previous post, I went ahead and enabled MPLS on every router in the AS. We will focus on the different timers that MPLS uses for operations. It goes without saying this will be on both IOS and XR, but for clarity, it will.
MPLS uses hello and hold down timers like the IGPs do, by default it's 5 seconds for hellos and 15 seconds for hold down by default. There is also a proposed local/peer timer 15/15 this can be manipulated as well.
The topology we will use:
We will continue to look at R1 and XR1, for now anyways. First lets look at the default values and manipulate them from there.
R1
R1#sh mpls ldp discovery detail
Local LDP Identifier:
192.168.1.1:0
Discovery Sources:
Interfaces:
GigabitEthernet1.111 (ldp): xmit/recv
Enabled: Interface config, IGP config;
Hello interval: 5000 ms; Transport IP addr: 192.168.1.1
LDP Id: 192.168.1.11:0
Src IP addr: 10.1.11.11; Transport IP addr: 192.168.1.11
Hold time: 15 sec; Proposed local/peer: 15/15 sec
Reachable via 192.168.1.11/32
Password: not required, none, in use
Clients: IPv4, mLDP
XR1
RP/0/0/CPU0:XR1#sh mpls ldp discovery detail
Thu Nov 17 23:46:32.793 UTC
Local LDP Identifier: 192.168.1.11:0
Discovery Sources:
Interfaces:
GigabitEthernet0/0/0/0.111 (0x800) : xmit/recv
VRF: 'default' (0x60000000)
Source address: 10.1.11.11; Transport address: 192.168.1.11
Hello interval: 5 sec (due in 2.9 sec)
Quick-start: Enabled
LDP Id: 192.168.1.1:0
Source address: 10.1.11.1; Transport address: 192.168.1.1
Hold time: 15 sec (local:15 sec, peer:15 sec)
(expiring in 14.2 sec)
As you can see in bold highlight that the hello is actually in milliseconds at 5000ms and the hold time is listed in seconds at 15. Proposed local/peer is 15/15.
IOS XR gives you the output of how much time is left, closer to what IGP advertises like OSPFv2.
Let's go ahead on both IOS and XR, reduce the hello and hold time by 3 seconds each and see the output.
IOS
mpls ldp discovery hello interval 3
mpls ldp discovery hello holdtime 12
mpls ldp
discovery
hello holdtime 12
hello interval 3
The verification for the change:
R1#show mpls ldp discovery detail
Local LDP Identifier:
192.168.1.1:0
Discovery Sources:
Interfaces:
GigabitEthernet1.111 (ldp): xmit/recv
Enabled: Interface config, IGP config;
Hello interval: 3000 ms; Transport IP addr: 192.168.1.1
LDP Id: 192.168.1.11:0
Src IP addr: 10.1.11.11; Transport IP addr: 192.168.1.11
Hold time: 12 sec; Proposed local/peer: 12/12 sec
Reachable via 192.168.1.11/32
Password: not required, none, in use
Clients: IPv4, mLDP
RP/0/0/CPU0:XR1#sh mpls ldp discovery detail
Thu Nov 17 23:50:15.598 UTC
Local LDP Identifier: 192.168.1.11:0
Discovery Sources:
Interfaces:
GigabitEthernet0/0/0/0.111 (0x800) : xmit/recv
VRF: 'default' (0x60000000)
Source address: 10.1.11.11; Transport address: 192.168.1.11
Hello interval: 3 sec (due in 1.4 sec)
Quick-start: Enabled
LDP Id: 192.168.1.1:0
Source address: 10.1.11.1; Transport address: 192.168.1.1
Hold time: 12 sec (local:12 sec, peer:12 sec)
(expiring in 11.2 sec)
Now let's go back and remove the modification to XR1.
XR
RP/0/0/CPU0:XR1#sh mpls ldp discovery detail
Thu Nov 17 23:51:48.131 UTC
Local LDP Identifier: 192.168.1.11:0
Discovery Sources:
Interfaces:
GigabitEthernet0/0/0/0.111 (0x800) : xmit/recv
VRF: 'default' (0x60000000)
Source address: 10.1.11.11; Transport address: 192.168.1.11
Hello interval: 4 sec (due in 2.6 sec)
Quick-start: Enabled
LDP Id: 192.168.1.1:0
Source address: 10.1.11.1; Transport address: 192.168.1.1
Hold time: 12 sec (local:15 sec, peer:12 sec)
(expiring in 11 sec)
What ends up happening here is that the routers will always agree on the discovery hold time, XR1s hello interval changed automatically, but we didn't make that change. The LDP discovery hello interval must be at least 3 times as often as the hold time. XR1 had to reduce its hold time to 12 to accommodate this. The original 5 second hello was too slow.
There is also a globally configured holdtime. This is set to 60 seconds as a keepalive timer and 180 second holdtime.
R1
R1#show mpls ldp neighbor 192.168.1.11 detail | in time
Up time: 1d00h; UID: 20; Peer Id 0
holdtime: 12000 ms, hello interval: 3000 ms
Peer holdtime: 180000 ms; KA interval: 60000 ms; Peer state: estab
On XR1, we'll configure this to be faster, 120 second peer hold time.
mpls ldp
session holdtime 120
Problem with this configuration is the session is already established and needs to be flapped to use the new values
RP/0/0/CPU0:XR1#show mpls ldp neighbor 192.168.1.1 detail | in time
Fri Nov 18 00:04:51.878 UTC
Session Holdtime: 120 sec
Up time: 00:00:11
Peer holdtime: 180 sec; KA interval: 40 sec; Peer state: Estab
Notice that only the session holdtime and KA interval timers changed.
Also notice that R1s timers change.
R1#show mpls ldp neighbor 192.168.1.11 detail | in time
Up time: 00:04:17; UID: 26; Peer Id 3
holdtime: 12000 ms, hello interval: 3000 ms
Peer holdtime: 120000 ms; KA interval: 40000 ms; Peer state: estab
There is one more timer that we can take a look at. The backoff timer, think of this as a way for MPLS to prevent another LSR from constantly being signaled to peer. You may have an LSR that has an older version of code that or other configured values that won't be compatible with the local LSR. This prevents a constant peering session from being initiated. By default these values are 15 and 120, the initial backoff timer is 15 seconds, the initial failure and the longest timer is 120 seconds.
IOS
R1(config)#mpls ldp backoff 5 60
XR
mpls ldp
session backoff 5 60
R1#show mpls ldp backoff all
LDP initial/maximum backoff: 5/60 sec
RP/0/0/CPU0:XR1#show mpls ldp backoff
Backoff Time:
Initial:5 sec, Maximum:60 sec
Backoff Table:
No Entry
Thanks for stopping by!
Rob Riker, CCIE #50693
No comments:
Post a Comment