fib_entry_src_register(FIB_SOURCE_CLI, &api_src_vft);
fib_entry_src_register(FIB_SOURCE_DHCP, &api_src_vft);
fib_entry_src_register(FIB_SOURCE_IP6_ND_PROXY, &api_src_vft);
+ fib_entry_src_register(FIB_SOURCE_SR, &api_src_vft);
}
fib_entry_src_register(FIB_SOURCE_MAP, &special_src_vft);
fib_entry_src_register(FIB_SOURCE_SIXRD, &special_src_vft);
fib_entry_src_register(FIB_SOURCE_CLASSIFY, &special_src_vft);
- fib_entry_src_register(FIB_SOURCE_SR, &special_src_vft);
fib_entry_src_register(FIB_SOURCE_AE, &special_src_vft);
}
replicate_multipath_update (&sr_policy->ip6_dpo, ip6_path_vector);
if (sr_policy->is_encap)
replicate_multipath_update (&sr_policy->ip4_dpo, ip4_path_vector);
-
- /* Cleanup */
- vec_free (b_path_vector);
- vec_free (ip6_path_vector);
- vec_free (ip4_path_vector);
}
/******************************* SR rewrite API *******************************/
"SRv6 steering of IP6 prefixes through BSIDs");
sm->fib_table_ip4 = fib_table_create_and_lock (FIB_PROTOCOL_IP6,
"SRv6 steering of IP4 prefixes through BSIDs");
- fib_table_flush (sm->fib_table_ip6, FIB_PROTOCOL_IP6,
- FIB_SOURCE_SPECIAL);
- fib_table_flush (sm->fib_table_ip4, FIB_PROTOCOL_IP6,
- FIB_SOURCE_SPECIAL);
}
/* Create IPv6 FIB for the BindingSID attached to the DPO of the only SL */
(table_id !=
(u32) ~ 0 ?
table_id : 0)),
- &pfx, FIB_SOURCE_CLI, FIB_ENTRY_FLAG_NONE,
+ &pfx, FIB_SOURCE_SR,
+ FIB_ENTRY_FLAG_LOOSE_URPF_EXEMPT,
FIB_PROTOCOL_IP6,
(ip46_address_t *) & sr_policy->bsid, ~0,
sm->fib_table_ip6, 1, NULL,
(table_id !=
(u32) ~ 0 ?
table_id : 0)),
- &pfx, FIB_SOURCE_CLI, FIB_ENTRY_FLAG_NONE,
+ &pfx, FIB_SOURCE_SR,
+ FIB_ENTRY_FLAG_LOOSE_URPF_EXEMPT,
FIB_PROTOCOL_IP6,
(ip46_address_t *) & sr_policy->bsid, ~0,
sm->fib_table_ip4, 1, NULL,