From 50d5069a80fd763f4270d61d991febbdfa88aed3 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 26 Mar 2019 08:26:39 +0000 Subject: IPSEC: improved policy delete Change-Id: Icdf51b094c34725c079d2e4acbb955744434302d Signed-off-by: Neale Ranns --- src/vnet/ipsec/ipsec_spd_policy.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'src/vnet') diff --git a/src/vnet/ipsec/ipsec_spd_policy.c b/src/vnet/ipsec/ipsec_spd_policy.c index d4a32e38568..8528c8eafa3 100644 --- a/src/vnet/ipsec/ipsec_spd_policy.c +++ b/src/vnet/ipsec/ipsec_spd_policy.c @@ -182,23 +182,19 @@ ipsec_add_del_policy (vlib_main_t * vm, } else { - ipsec_spd_policy_type_t ptype; u32 ii; - FOR_EACH_IPSEC_SPD_POLICY_TYPE (ptype) + vec_foreach_index (ii, (spd->policies[policy->type])) { - vec_foreach_index (ii, (spd->policies[ptype])) - { - vp = pool_elt_at_index (im->policies, spd->policies[ptype][ii]); - if (ipsec_policy_is_equal (vp, policy)) - { - vec_del1 (spd->policies[ptype], ii); - pool_put (im->policies, vp); - goto done; - } - } + vp = pool_elt_at_index (im->policies, + spd->policies[policy->type][ii]); + if (ipsec_policy_is_equal (vp, policy)) + { + vec_del1 (spd->policies[policy->type], ii); + pool_put (im->policies, vp); + break; + } } - done:; } return 0; -- cgit 1.2.3-korg