fib: Fix interpose source reactivate 63/27263/3
authorNeale Ranns <nranns@cisco.com>
Tue, 26 May 2020 08:52:55 +0000 (08:52 +0000)
committerOle Trøan <otroan@employees.org>
Tue, 26 May 2020 14:56:25 +0000 (14:56 +0000)
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

src/vnet/fib/fib_entry_src_interpose.c

index af650a9..812b374 100644 (file)
@@ -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
         {