VPP-1381: Fix the incorrect if condition when delete session for static mapping

-- The session should not be deleted when either ip address or port doesn't same with static mapping.

Change-Id: I09ab7379947654d2780a8c40c5340ce430541b12
Signed-off-by: shubing guo <guo.shubing@zte.com.cn>
(cherry picked from commit 060c3a7e5a2d23189a8c6348e767cd2018a58dd6)
This commit is contained in:
shubing guo
2018-08-10 13:59:50 +08:00
committed by Damjan Marion
parent bd8b4f1a84
commit 2a12fb231b

View File

@ -1160,7 +1160,7 @@ int snat_add_static_mapping(ip4_address_t l_addr, ip4_address_t e_addr,
if (!addr_only) if (!addr_only)
{ {
if ((s->out2in.addr.as_u32 != e_addr.as_u32) && if ((s->out2in.addr.as_u32 != e_addr.as_u32) ||
(clib_net_to_host_u16 (s->out2in.port) != e_port)) (clib_net_to_host_u16 (s->out2in.port) != e_port))
continue; continue;
} }
@ -1454,7 +1454,7 @@ int nat44_add_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port,
if (!(is_lb_session (s))) if (!(is_lb_session (s)))
continue; continue;
if ((s->in2out.addr.as_u32 != local->addr.as_u32) && if ((s->in2out.addr.as_u32 != local->addr.as_u32) ||
(clib_net_to_host_u16 (s->in2out.port) != local->port)) (clib_net_to_host_u16 (s->in2out.port) != local->port))
continue; continue;