From 915c3d9058531c1de0243857c876c29c037c327e Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 26 May 2020 08:52:55 +0000 Subject: fib: Fix interpose source reactivate Type: fix when the interpose is on an adj-fib and the cover is removed the adj source will not install. this lead to no path list being found for the interpose source and a crash. pick a drop path list in this case. Signed-off-by: Neale Ranns Change-Id: Ied217da043926c913657080f5ffb151201225d23 (cherry picked from commit 1bf6df4ff9c83bac1fc329a4b5c4d7061f13720a) --- src/vnet/fib/fib_entry_src_interpose.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/vnet/fib/fib_entry_src_interpose.c b/src/vnet/fib/fib_entry_src_interpose.c index 2220fa4debd..15accac5533 100644 --- a/src/vnet/fib/fib_entry_src_interpose.c +++ b/src/vnet/fib/fib_entry_src_interpose.c @@ -115,6 +115,20 @@ fib_entry_src_interpose_activate (fib_entry_src_t *src, */ src->fes_pl = best_src->fes_pl; } + else + { + /* + * the best source won't install so will use a drop + */ + dpo_proto_t dproto; + + dproto = fib_proto_to_dpo(fib_entry->fe_prefix.fp_proto); + + src->fes_pl = + fib_path_list_create_special(dproto, + FIB_PATH_LIST_FLAG_DROP, + drop_dpo_get(dproto)); + } } else { -- cgit 1.2.3-korg