#include <vnet/fib/fib_path_list.h>
#include <vnet/fib/fib_test.h>
#include <vnet/fib/fib_table.h>
+#include <vnet/fib/mpls_fib.h>
#include <vnet/dpo/replicate_dpo.h>
#include <vnet/adj/adj_mcast.h>
MFIB_TEST(3 == adj_mcast_db_size(), "3 MCAST adjs");
/* Find or create FIB table 11 */
- fib_index = mfib_table_find_or_create_and_lock(PROTO, 11);
+ fib_index = mfib_table_find_or_create_and_lock(PROTO, 11, MFIB_SOURCE_API);
mfib_prefix_t pfx_dft = {
.fp_len = 0,
fib_route_path_t path_via_if0 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[0]->sw_if_index,
.frp_fib_index = ~0,
MFIB_ITF_FLAG_ACCEPT));
fib_route_path_t path_via_if1 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[1]->sw_if_index,
.frp_fib_index = ~0,
.frp_flags = 0,
};
fib_route_path_t path_via_if2 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[2]->sw_if_index,
.frp_fib_index = ~0,
.frp_flags = 0,
};
fib_route_path_t path_via_if3 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[3]->sw_if_index,
.frp_fib_index = ~0,
.frp_flags = 0,
};
fib_route_path_t path_for_us = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = 0xffffffff,
.frp_fib_index = ~0,
/*
* MPLS enable an interface so we get the MPLS table created
*/
+ mpls_table_create(MPLS_FIB_DEFAULT_TABLE_ID, FIB_SOURCE_API);
mpls_sw_interface_enable_disable(&mpls_main,
tm->hw[0]->sw_if_index,
- 1);
+ 1, 0);
lfei = fib_table_entry_update_one_path(0, // default MPLS Table
&pfx_3500,
FIB_SOURCE_API,
FIB_ENTRY_FLAG_MULTICAST,
- FIB_PROTOCOL_IP4,
+ DPO_PROTO_IP4,
&nh_10_10_10_1,
tm->hw[0]->sw_if_index,
~0, // invalid fib index
* An (S,G) that resolves via the mLDP head-end
*/
fib_route_path_t path_via_mldp = {
- .frp_proto = FIB_PROTOCOL_MPLS,
+ .frp_proto = DPO_PROTO_MPLS,
.frp_local_label = pfx_3500.fp_label,
.frp_eos = MPLS_EOS,
.frp_sw_if_index = 0xffffffff,
/*
* Unlock the table - it's the last lock so should be gone thereafter
*/
- mfib_table_unlock(fib_index, PROTO);
+ mfib_table_unlock(fib_index, PROTO, MFIB_SOURCE_API);
MFIB_TEST((FIB_NODE_INDEX_INVALID ==
mfib_table_find(PROTO, fib_index)),
*/
mpls_sw_interface_enable_disable(&mpls_main,
tm->hw[0]->sw_if_index,
- 0);
+ 0, 0);
+ mpls_table_delete(MPLS_FIB_DEFAULT_TABLE_ID, FIB_SOURCE_API);
/*
* test we've leaked no resources