nat: nat44-ei/ed nat objects cleanup improvements 98/34198/12
authorFilip Varga <fivarga@cisco.com>
Thu, 21 Oct 2021 12:27:43 +0000 (14:27 +0200)
committerOle Tr�an <otroan@employees.org>
Thu, 11 Nov 2021 12:40:30 +0000 (12:40 +0000)
commit730c1a40978a321b0788c3240db1c32274937249
tree486058867ba80681982ae9f0fa4245288b9daf1c
parentaa63bc6cf4b9031c3fc6ae22aecd846cc712bc52
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>
src/plugins/nat/nat44-ed/nat44_ed.c
src/plugins/nat/nat44-ei/nat44_ei.c
src/plugins/nat/nat44-ei/nat44_ei.h
src/plugins/nat/nat44-ei/nat44_ei_api.c
src/plugins/nat/nat44-ei/nat44_ei_cli.c