From: Matus Fabian Date: Thu, 14 Sep 2017 06:00:53 +0000 (-0700) Subject: NAT: fixed bug in snat_alloc_outside_address_and_port (VPP-981) X-Git-Tag: v17.10-rc1~73 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F18%2F8418%2F1;p=vpp.git NAT: fixed bug in snat_alloc_outside_address_and_port (VPP-981) generated random ports overlap between threads Change-Id: I7a13785e3f98b87e475426b0bd7f6bf2d9c1336c Signed-off-by: Matus Fabian --- diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index 5189416e576..36b72664f3a 100644 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -1406,7 +1406,7 @@ int snat_alloc_outside_address_and_port (snat_main_t * sm, { \ portnum = (sm->port_per_thread * \ sm->per_thread_data[thread_index].snat_thread_index) + \ - snat_random_port(sm, 0, sm->port_per_thread) + 1024; \ + snat_random_port(sm, 1, sm->port_per_thread) + 1024; \ if (clib_bitmap_get_no_check (a->busy_##n##_port_bitmap, portnum)) \ continue; \ clib_bitmap_set_no_check (a->busy_##n##_port_bitmap, portnum, 1); \