NAT44: fix nat44_user_session_dump and nat44_del_session crash with one worker (VPP... 92/11392/3
authorMatus Fabian <matfabia@cisco.com>
Tue, 27 Mar 2018 08:07:25 +0000 (01:07 -0700)
committerOle Trøan <otroan@employees.org>
Wed, 28 Mar 2018 07:05:24 +0000 (07:05 +0000)
Change-Id: I8e0c7ed2ff462b9ab59c233f56be262ec03c29ff
Signed-off-by: Matus Fabian <matfabia@cisco.com>
src/plugins/nat/nat.c
src/plugins/nat/nat_api.c

index feeee75..8f4050e 100644 (file)
@@ -2862,7 +2862,7 @@ nat44_del_session (snat_main_t *sm, ip4_address_t *addr, u16 port,
   snat_user_t *u;
 
   ip.dst_address.as_u32 = ip.src_address.as_u32 = addr->as_u32;
-  if (sm->num_workers)
+  if (sm->num_workers > 1)
     tsm =
       vec_elt_at_index (sm->per_thread_data,
                        sm->worker_in2out_cb (&ip, fib_index));
index 433840e..e27af8a 100644 (file)
@@ -1190,7 +1190,7 @@ vl_api_nat44_user_session_dump_t_handler (vl_api_nat44_user_session_dump_t *
   ip.src_address.as_u32 = ukey.addr.as_u32;
   ukey.fib_index = fib_table_find (FIB_PROTOCOL_IP4, ntohl (mp->vrf_id));
   key.key = ukey.as_u64;
-  if (sm->num_workers)
+  if (sm->num_workers > 1)
     tsm =
       vec_elt_at_index (sm->per_thread_data,
                        sm->worker_in2out_cb (&ip, ukey.fib_index));