summaryrefslogtreecommitdiffstats
path: root/src/vnet/adj/adj.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2020-02-18 13:56:24 +0000
committerNeale Ranns <nranns@cisco.com>2020-02-20 14:01:47 +0000
commit3ebebc3a2fe47f1222ba035e04ccd8caed0cf58f (patch)
tree3a42933b2731fba5c94e4ba287b63982d0f7edc5 /src/vnet/adj/adj.c
parent98301bd5603ce691d809759ec444641953cb5caa (diff)
fib: adjacency midchain teardown (VPP-1841)
Type: fix Change-Id: I57f8bfbce4feed9d2775875cb8b1b729a47900a4 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 24064d02aa9810ebc64c16dc778a179bb0ef5483)
Diffstat (limited to 'src/vnet/adj/adj.c')
-rw-r--r--src/vnet/adj/adj.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vnet/adj/adj.c b/src/vnet/adj/adj.c
index c758ebeae3a..3a2b2dd3925 100644
--- a/src/vnet/adj/adj.c
+++ b/src/vnet/adj/adj.c
@@ -249,7 +249,7 @@ adj_last_lock_gone (ip_adjacency_t *adj)
switch (adj->lookup_next_index)
{
case IP_LOOKUP_NEXT_MIDCHAIN:
- dpo_reset(&adj->sub_type.midchain.next_dpo);
+ adj_midchain_teardown(adj);
/* FALL THROUGH */
case IP_LOOKUP_NEXT_ARP:
case IP_LOOKUP_NEXT_REWRITE:
@@ -267,8 +267,10 @@ adj_last_lock_gone (ip_adjacency_t *adj)
adj_glean_remove(adj->ia_nh_proto,
adj->rewrite_header.sw_if_index);
break;
- case IP_LOOKUP_NEXT_MCAST:
case IP_LOOKUP_NEXT_MCAST_MIDCHAIN:
+ adj_midchain_teardown(adj);
+ /* FALL THROUGH */
+ case IP_LOOKUP_NEXT_MCAST:
adj_mcast_remove(adj->ia_nh_proto,
adj->rewrite_header.sw_if_index);
break;