diff options
author | Benoît Ganne <bganne@cisco.com> | 2019-07-18 17:34:28 +0200 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2019-09-23 09:14:52 +0000 |
commit | 138c37af5291e2045075052a4db036be03be4a85 (patch) | |
tree | 9023316926f0f62fad94680e31547c07aee08aae /src/vnet/ip | |
parent | d51880c5de3a1b22d9ac510305bdfe98fa12e51c (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>
Diffstat (limited to 'src/vnet/ip')
-rw-r--r-- | src/vnet/ip/lookup.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c index 60cedac57d8..43d61d39ee0 100644 --- a/src/vnet/ip/lookup.c +++ b/src/vnet/ip/lookup.c @@ -261,7 +261,12 @@ format_ip_adjacency_packet_data (u8 * s, va_list * args) u32 adj_index = va_arg (*args, u32); u8 *packet_data = va_arg (*args, u8 *); u32 n_packet_data_bytes = va_arg (*args, u32); - ip_adjacency_t *adj = adj_get (adj_index); + ip_adjacency_t *adj; + + if (!adj_is_valid (adj_index)) + return format (s, "<invalid adjacency>"); + + adj = adj_get (adj_index); switch (adj->lookup_next_index) { |