X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_entry_src_interface.c;h=bb87818fe4b1ca1d9ce952b82b2aa0f394c53cc1;hb=9a69a6095f67b8979a02f128f44e449889454273;hp=ca04716ed8fde79f33c898f96d64450b697ce7bc;hpb=8424af7bd5daf0d754daeb8f49c57c760b9c5baa;p=vpp.git diff --git a/src/vnet/fib/fib_entry_src_interface.c b/src/vnet/fib/fib_entry_src_interface.c index ca04716ed8f..bb87818fe4b 100644 --- a/src/vnet/fib/fib_entry_src_interface.c +++ b/src/vnet/fib/fib_entry_src_interface.c @@ -31,6 +31,25 @@ fib_entry_src_interface_init (fib_entry_src_t *src) src->interface.fesi_sibling = FIB_NODE_INDEX_INVALID; } +static void +fib_entry_src_interface_add (fib_entry_src_t *src, + const fib_entry_t *entry, + fib_entry_flag_t flags, + fib_protocol_t proto, + const dpo_id_t *dpo) +{ + src->fes_pl = fib_path_list_create_special( + proto, + fib_entry_src_flags_2_path_list_flags(flags), + dpo); +} + +static void +fib_entry_src_interface_remove (fib_entry_src_t *src) +{ + src->fes_pl = FIB_NODE_INDEX_INVALID; +} + static void fib_entry_src_interface_path_swap (fib_entry_src_t *src, const fib_entry_t *entry, @@ -176,6 +195,8 @@ fib_entry_src_interface_format (fib_entry_src_t *src, const static fib_entry_src_vft_t interface_src_vft = { .fesv_init = fib_entry_src_interface_init, + .fesv_add = fib_entry_src_interface_add, + .fesv_remove = fib_entry_src_interface_remove, .fesv_path_swap = fib_entry_src_interface_path_swap, .fesv_activate = fib_entry_src_interface_activate, .fesv_deactivate = fib_entry_src_interface_deactivate,