summaryrefslogtreecommitdiffstats
path: root/src/plugins/snat
diff options
context:
space:
mode:
authorMatus Fabian <matfabia@cisco.com>2017-07-09 23:31:41 -0700
committerOle Trøan <otroan@employees.org>2017-07-11 07:48:57 +0000
commit3bb5baf9f25cbb7726f003e4c1f419dadadcab96 (patch)
tree2b21b3da1aa229a29a88c24adf8e5c5ea3d300bd /src/plugins/snat
parent75e2f2ac39871554c05a9a240ac26a6028ee3e99 (diff)
SNAT: fixed bug in fallback to 3-tuple key for non TCP/UDP sessions
Change-Id: I1c4d5f92ec841b1cfe1a33eab4bb94e4001d0411 Signed-off-by: Matus Fabian <matfabia@cisco.com>
Diffstat (limited to 'src/plugins/snat')
-rw-r--r--src/plugins/snat/in2out.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/snat/in2out.c b/src/plugins/snat/in2out.c
index d3fb92f5f1d..9b09902abe1 100644
--- a/src/plugins/snat/in2out.c
+++ b/src/plugins/snat/in2out.c
@@ -1093,6 +1093,10 @@ snat_in2out_unknown_proto (snat_main_t *sm,
while (ses_index != ~0)
{
s = pool_elt_at_index (tsm->sessions, ses_index);
+ elt_index = elt->next;
+ elt = pool_elt_at_index (tsm->list_pool, elt_index);
+ ses_index = elt->value;
+
if (s->ext_host_addr.as_u32 == ip->dst_address.as_u32)
{
new_addr = ip->src_address.as_u32 = s->out2in.addr.as_u32;