fib: respect mfib entry flags on create with paths

When an mfib entry was created with both paths and entry_flags then
the entry flags were being ignored. If there are no paths then the
flags were passed into mfib_table_entry_update, but in the case where
the entry didn't exist and there were paths and flags, the entry was
created within mfib_table_entry_paths_update() which used a default
of MFIB_ENTRY_FLAG_NONE.

Pass the flags through into the mfib_table_entry_paths_update fn. All
existing callers other than the create case will now pass in
MFIB_ENTRY_FLAG_NONE.

Type: fix
Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I256375ba2fa863a62a88474ce1ea6bf2accdd456
This commit is contained in:
Paul Atkins
2021-10-12 14:32:11 +01:00
committed by Neale Ranns
parent bfa86084af
commit 8e2b1b1298
18 changed files with 125 additions and 149 deletions

View File

@ -927,9 +927,9 @@ dhcp6_proxy_set_server (ip46_address_t * addr,
if (dhcp_proxy_server_add (FIB_PROTOCOL_IP6, addr, src_addr,
rx_fib_index, server_table_id))
{
mfib_table_entry_path_update (rx_fib_index,
&all_dhcp_servers,
MFIB_SOURCE_DHCP, &path_for_us);
mfib_table_entry_path_update (rx_fib_index, &all_dhcp_servers,
MFIB_SOURCE_DHCP, MFIB_ENTRY_FLAG_NONE,
&path_for_us);
/*
* Each interface that is enabled in this table, needs to be added
* as an accepting interface, but this is not easily doable in VPP.