ip-neighbor: Fix aging timeout

Before this patch VPP checked age for ARP/NDP records every 1e5 seconds
for any configured aging time. This is 27 hours and it looks like
misprint because 1e5 is the number of 10us ticks in a second.

Also time to wait is now difference between aging time and time alive
for nodes in alive state.

Type: fix
Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: Ib5baa85032a44402d5f48c1145245260a42c7bae
This commit is contained in:
Vladimir Isaev
2020-02-18 15:26:12 +03:00
committed by Neale Ranns
parent f145c15631
commit 1284f8c71d
2 changed files with 41 additions and 13 deletions

View File

@ -1731,7 +1731,7 @@ class NeighborAgeTestCase(VppTestCase):
#
# Set the neighbor configuration:
# limi = 200
# age = 2 seconds
# age = 0 seconds
# recycle = false
#
self.vapi.ip_neighbor_config(af=vaf.ADDRESS_IP4,
@ -1808,6 +1808,27 @@ class NeighborAgeTestCase(VppTestCase):
self.assertFalse(self.vapi.ip_neighbor_dump(sw_if_index=0xffffffff,
af=vaf.ADDRESS_IP4))
#
# load up some neighbours again with 2s aging enabled
# they should be removed after 10s (2s age + 4s for probes + gap)
#
for ii in range(10):
VppNeighbor(self,
self.pg0.sw_if_index,
self.pg0.remote_hosts[ii].mac,
self.pg0.remote_hosts[ii].ip4).add_vpp_config()
self.sleep(10)
self.assertFalse(self.vapi.ip_neighbor_dump(sw_if_index=0xffffffff,
af=vaf.ADDRESS_IP4))
#
# check if we can set age and recycle with empty neighbor list
#
self.vapi.ip_neighbor_config(af=vaf.ADDRESS_IP4,
max_number=200,
max_age=1000,
recycle=True)
#
# load up some neighbours again, then disable the aging
# they should still be there in 10 seconds time