X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat.c;h=c3583cabc218ac8b730f58e732614792e1f35d23;hb=df865200c769e31b5fe8f4b246516f07b80f4004;hp=03e264eda3ba24564eb0afe4e9f1c58e54e2325f;hpb=568ebc76b594f8f29bb131b252031d72c055e0b0;p=vpp.git diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index 03e264eda3b..c3583cabc21 100755 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -742,6 +742,7 @@ int snat_add_address (snat_main_t *sm, ip4_address_t *addr, u32 vrf_id, #define _(N, i, n, s) \ clib_bitmap_alloc (ap->busy_##n##_port_bitmap, 65535); \ ap->busy_##n##_ports = 0; \ + ap->busy_##n##_ports_per_thread = 0;\ vec_validate_init_empty (ap->busy_##n##_ports_per_thread, tm->n_vlib_mains - 1, 0); foreach_snat_protocol #undef _ @@ -1607,6 +1608,12 @@ snat_del_address (snat_main_t *sm, ip4_address_t addr, u8 delete_sm, } } +#define _(N, i, n, s) \ + clib_bitmap_free (a->busy_##n##_port_bitmap); \ + vec_free (a->busy_##n##_ports_per_thread); + foreach_snat_protocol +#undef _ + if (twice_nat) { vec_del1 (sm->twice_nat_addresses, i);