Prevent re-entrant walks on an adjacency.
authorNeale Ranns <[email protected]>
Wed, 7 Dec 2016 15:38:14 +0000 (15:38 +0000)
committerDamjan Marion <[email protected]>
Wed, 7 Dec 2016 17:17:30 +0000 (17:17 +0000)
commit19c68d2a02770189d32ead3ff964efc073db630a
tree3a985d73e731c776b76dc72c28c5d38865c9b848
parent9677a944d5188f10188657bf627301b239fe1da7
Prevent re-entrant walks on an adjacency.

The re-entrant walks were caused when the walk from an IP adj updated a fib_netry with an MPLS adj which in turn triggers a walk of the IP adj. Re-entrant walks do unnecessary work.
also fixed a walk merge issue where the encountered walk should only be checked for equivalence woth the most recent alk, not any in the list. Otherwise an UO,DOWN,UP beceoms (2*)UP,DOWN

Change-Id: Ib8b27f055dc6c1366d33740276d1c26cd314220a
Signed-off-by: Neale Ranns <[email protected]>
vnet/vnet/adj/adj.c
vnet/vnet/adj/adj_nbr.c
vnet/vnet/ethernet/arp.c
vnet/vnet/fib/fib_walk.c
vnet/vnet/ip/ip6_neighbor.c
vnet/vnet/ip/lookup.h