diff options
Diffstat (limited to 'src/vnet/sr')
-rwxr-xr-x | src/vnet/sr/sr_policy_rewrite.c | 9 | ||||
-rwxr-xr-x | src/vnet/sr/sr_steering.c | 6 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/vnet/sr/sr_policy_rewrite.c b/src/vnet/sr/sr_policy_rewrite.c index dfdd7950597..45927385cfe 100755 --- a/src/vnet/sr/sr_policy_rewrite.c +++ b/src/vnet/sr/sr_policy_rewrite.c @@ -516,11 +516,6 @@ update_replicate (ip6_sr_policy_t * sr_policy) 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 *******************************/ @@ -607,10 +602,6 @@ sr_policy_add (ip6_address_t * bsid, ip6_address_t * segments, "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 */ diff --git a/src/vnet/sr/sr_steering.c b/src/vnet/sr/sr_steering.c index 86d6f27cbe1..8d66c5f8ce9 100755 --- a/src/vnet/sr/sr_steering.c +++ b/src/vnet/sr/sr_steering.c @@ -306,7 +306,8 @@ update_fib: (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, @@ -322,7 +323,8 @@ update_fib: (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, |