aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/nat/nat44-ei/nat44_ei_api.c
diff options
context:
space:
mode:
authorFilip Varga <fivarga@cisco.com>2021-10-21 14:27:43 +0200
committerOle Tr�an <otroan@employees.org>2021-11-11 12:40:30 +0000
commit730c1a40978a321b0788c3240db1c32274937249 (patch)
tree486058867ba80681982ae9f0fa4245288b9daf1c /src/plugins/nat/nat44-ei/nat44_ei_api.c
parentaa63bc6cf4b9031c3fc6ae22aecd846cc712bc52 (diff)
nat: nat44-ei/ed nat objects cleanup improvements
Improvements: * Changed plugin disable call behavior from freeing data types to calling appropriate nat plugin object delete calls for pool addresses, mappings and interfaces. * Added wrapper nat44_ei/ed_add_del_static_mapping function to handle switch bound static mappings. This would also fix ip assignment callback add/del bound static mapping issue preventing creation of the mapping. Fixes: * Fixed lingering object issue: some nat intertwined objects would not free each other if not correctly deleted in proper order. * Fixed incorect order of FIB unlocks for pool addresses causing syslog messages to use deleted FIBs in multiple VRF configuration. * Fixed incorrect value testing of flags instead of vrf_id for multiple vrf configuration static mapping. Type: improvement Change-Id: I2743f7b1104b627bcc5ef937e3a50655313a26ea Signed-off-by: Filip Varga <fivarga@cisco.com>
Diffstat (limited to 'src/plugins/nat/nat44-ei/nat44_ei_api.c')
-rw-r--r--src/plugins/nat/nat44-ei/nat44_ei_api.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/nat/nat44-ei/nat44_ei_api.c b/src/plugins/nat/nat44-ei/nat44_ei_api.c
index b67bc7dfb88..1d469b3f43f 100644
--- a/src/plugins/nat/nat44-ei/nat44_ei_api.c
+++ b/src/plugins/nat/nat44-ei/nat44_ei_api.c
@@ -809,7 +809,7 @@ vl_api_nat44_ei_add_del_static_mapping_t_handler (
sw_if_index = clib_net_to_host_u32 (mp->external_sw_if_index);
if (sw_if_index != ~0)
{
- e_addr.as_u32 = 0;
+ flags |= NAT44_EI_SM_FLAG_SWITCH_ADDRESS;
}
else
{
@@ -964,7 +964,7 @@ vl_api_nat44_ei_add_del_identity_mapping_t_handler (
sw_if_index = clib_net_to_host_u32 (mp->sw_if_index);
if (sw_if_index != ~0)
{
- addr.as_u32 = 0;
+ flags |= NAT44_EI_SM_FLAG_SWITCH_ADDRESS;
}
else
{