diff options
author | 2019-07-18 17:34:28 +0200 | |
---|---|---|
committer | 2019-09-30 15:34:52 +0000 | |
commit | 59ffe5ea1cf585fa9ace7e527083aee4abe7aab7 (patch) | |
tree | fb8c2601d24729c3428a273561c09ab50aa1d576 /src/vnet/adj/adj.h | |
parent | 804a95cf8113ee2b226363eab71e98dbee0b6820 (diff) |
fib: do not dump no-longer valid adjacencies
In some cases, we can refer to no-longer adjacencies (eg. in traces). Do
not dump them in this case as they are probably incorrect (memory can be
reused).
Type: fix
Change-Id: Ib653ba066bb6595ec6ec37d313a3124bce0eeed3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 138c37af5291e2045075052a4db036be03be4a85)
Diffstat (limited to 'src/vnet/adj/adj.h')
-rw-r--r-- | src/vnet/adj/adj.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vnet/adj/adj.h b/src/vnet/adj/adj.h index fb3dc368db0..4c38b041b61 100644 --- a/src/vnet/adj/adj.h +++ b/src/vnet/adj/adj.h @@ -432,7 +432,13 @@ extern int adj_per_adj_counters; static inline ip_adjacency_t * adj_get (adj_index_t adj_index) { - return (vec_elt_at_index(adj_pool, adj_index)); + return (pool_elt_at_index(adj_pool, adj_index)); +} + +static inline int +adj_is_valid(adj_index_t adj_index) +{ + return !(pool_is_free_index(adj_pool, adj_index)); } /** |