Description

This article explains the behavior of the ARP aging timer does not work exactly as configured in an EX. When the aging timer is set at 10 minutes the "show arp expiration-time" shows TTE values to be larger or smaller than the configured value (600).


Symptoms

Sample os "show system arp":

lab@JNC82DC2#  show system arp 
aging-timer 10;
interfaces {
    vlan.3682 {
        aging-timer 2;
    }
}

[edit]
lab@JNC82DC2# run show arp expiration-time no-resolve | except per 
MAC Address       Address       Interface Flags TTE
00:19:e2:51:3f:40 10.81.148.2   vlan.129  none  344
00:19:e2:51:3f:40 10.255.13.2   vlan.805  none  669 <-- bigger than 10 minutes.
00:19:e2:51:3f:40 10.255.13.18  vlan.812  none  602 <-- bigger than 10 minutes
00:19:e2:51:3f:40 10.255.19.33  vlan.819  none  157
00:19:e2:51:3f:40 10.255.24.2   vlan.3862 none  135 <-- bigger than 2 minutes.
00:19:e2:51:3f:40 10.255.30.2   vlan.829  none  423
00:19:e2:51:3f:40 10.255.30.18  vlan.838  none  539
00:19:e2:51:3f:40 10.255.31.2   vlan.828  none  424
00:19:e2:51:3f:40 10.255.31.18  vlan.839  none  632 <-- bigger than 10 minutes
00:19:e2:51:3f:40 10.255.33.2   vlan.833  none  733 <-- bigger than 10 minutes
00:19:e2:51:3f:40 10.255.33.34  vlan.832  none  544
08:00:20:b9:3f:a8 172.27.11.150 me0.0     none  299
08:00:27:1f:7b:07 172.27.11.191 me0.0     none  630 <-- bigger than 10 minutes
Total entries: 31



Solution

 

The ARP utility is going to read the aging values from the kernel and then display them.  When setting the ARP aging-timer the kernel is going to add some jitter to it (the jitter interval is  +/- 25% ).  This is the reason for the TTE value to be bigger than the configured value.

Jitter will be added to avoid congestion.  If all the entries are set to same value, all of them will expire at the same time and send out so many ARP requests at a time.  Hence the ARP aging timer will be seen different than the time configured.