+ /*
+ * Entries with paths via unicast next-hops
+ */
+ fib_route_path_t path_via_nbr1 = {
+ .frp_proto = fib_proto_to_dpo(PROTO),
+ .frp_addr = *addr_nbr1,
+ .frp_sw_if_index = tm->hw[0]->sw_if_index,
+ .frp_fib_index = ~0,
+ .frp_weight = 0,
+ .frp_flags = 0,
+ };
+ fib_route_path_t path_via_nbr2 = {
+ .frp_proto = fib_proto_to_dpo(PROTO),
+ .frp_addr = *addr_nbr2,
+ .frp_sw_if_index = tm->hw[0]->sw_if_index,
+ .frp_fib_index = ~0,
+ .frp_weight = 0,
+ .frp_flags = 0,
+ };
+
+ mfei_g_1 = mfib_table_entry_path_update(fib_index,
+ pfx_star_g_1,
+ MFIB_SOURCE_API,
+ &path_via_nbr1,
+ (MFIB_ITF_FLAG_FORWARD));
+ mfei_g_1 = mfib_table_entry_path_update(fib_index,
+ pfx_star_g_1,
+ MFIB_SOURCE_API,
+ &path_via_nbr2,
+ (MFIB_ITF_FLAG_FORWARD));
+ MFIB_TEST(!mfib_test_entry(mfei_g_1,
+ MFIB_ENTRY_FLAG_NONE,
+ 2,
+ DPO_ADJACENCY_INCOMPLETE, ai_nbr1,
+ DPO_ADJACENCY_INCOMPLETE, ai_nbr2),
+ "%U replicate OK",
+ format_mfib_prefix, pfx_star_g_1);
+ MFIB_TEST_NS(!mfib_test_entry_itf(mfei_g_1, tm->hw[0]->sw_if_index,
+ MFIB_ITF_FLAG_FORWARD));
+
+ mfib_table_entry_path_remove(fib_index,
+ pfx_star_g_1,
+ MFIB_SOURCE_API,
+ &path_via_nbr1);
+
+ MFIB_TEST(!mfib_test_entry(mfei_g_1,
+ MFIB_ENTRY_FLAG_NONE,
+ 1,
+ DPO_ADJACENCY_INCOMPLETE, ai_nbr2),
+ "%U replicate OK",
+ format_mfib_prefix, pfx_star_g_1);
+ MFIB_TEST_NS(!mfib_test_entry_itf(mfei_g_1, tm->hw[0]->sw_if_index,
+ MFIB_ITF_FLAG_FORWARD));
+
+ mfib_table_entry_path_remove(fib_index,
+ pfx_star_g_1,
+ MFIB_SOURCE_API,
+ &path_via_nbr2);
+ mfei = mfib_table_lookup_exact_match(fib_index, pfx_star_g_1);
+ MFIB_TEST(FIB_NODE_INDEX_INVALID == mfei,
+ "%U Gone",
+ format_mfib_prefix, pfx_star_g_1);
+