diff options
author | shubing guo <guo.shubing@zte.com.cn> | 2018-08-10 13:59:50 +0800 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-08-31 16:01:38 +0000 |
commit | 2a12fb231b5a544f29a6ddd139c6a264beeee330 (patch) | |
tree | b3d2047742f2707d0d27269a644c4c6625af5d54 | |
parent | bd8b4f1a8483dc2cc4f6183aa951bfe44a985b6c (diff) |
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)
-rwxr-xr-x | src/plugins/nat/nat.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index c16819ad995..618711f5271 100755 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -1160,7 +1160,7 @@ int snat_add_static_mapping(ip4_address_t l_addr, ip4_address_t e_addr, 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)) 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))) 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)) continue; |