From 78c3ba4fcfb06b8656a24817e183492c6a4fb2b8 Mon Sep 17 00:00:00 2001 From: Matus Fabian Date: Tue, 3 Jan 2017 04:56:09 -0800 Subject: SNAT: fix out2in ICMP worker lookup Change-Id: I113e7927739de876f07c3f17454ad7499a74c634 Signed-off-by: Matus Fabian --- src/plugins/snat/out2in.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/plugins/snat/out2in.c b/src/plugins/snat/out2in.c index f1f4159cdce..9e5a8af8743 100644 --- a/src/plugins/snat/out2in.c +++ b/src/plugins/snat/out2in.c @@ -872,6 +872,13 @@ snat_out2in_worker_handoff_fn (vlib_main_t * vm, key0.port = udp0->dst_port; key0.fib_index = rx_fib_index0; + if (PREDICT_FALSE(ip0->protocol == IP_PROTOCOL_ICMP)) + { + icmp46_header_t * icmp0 = (icmp46_header_t *) udp0; + icmp_echo_header_t *echo0 = (icmp_echo_header_t *)(icmp0+1); + key0.port = echo0->identifier; + } + kv0.key = key0.as_u64; /* Ever heard of of the "user" before? */ -- cgit 1.2.3-korg