diff options
author | Neale Ranns <nranns@cisco.com> | 2020-05-26 08:52:55 +0000 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2020-05-26 16:48:15 +0000 |
commit | 77d12df8eb2a8cc24c1ba0361336703e1633420f (patch) | |
tree | 18687235b9d222602f13f4fb6da32a65ac513a30 /src/vnet | |
parent | bc69eca2abdb42ef6dd480581ca08599945c6a33 (diff) |
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 <nranns@cisco.com>
Change-Id: Ied217da043926c913657080f5ffb151201225d23
Diffstat (limited to 'src/vnet')
-rw-r--r-- | src/vnet/fib/fib_entry_src_interpose.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/vnet/fib/fib_entry_src_interpose.c b/src/vnet/fib/fib_entry_src_interpose.c index af650a92597..812b3740f08 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 { |