From c2feb65f4288cb4f3aa1e61d44826dbb5675063b Mon Sep 17 00:00:00 2001 From: Klement Sekera Date: Tue, 8 Mar 2022 20:13:57 +0100 Subject: nat: fix ICMP error translation Add missing translation of ICMP inner IP layer. Change responsible test so that it actually tests something. Type: fix Fixes: 4881cb4c6f Signed-off-by: Klement Sekera Change-Id: Id3a6f12a7308d81b1cdf9815f857221fab2f24d9 --- src/plugins/nat/nat44-ed/nat44_ed.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/plugins/nat') diff --git a/src/plugins/nat/nat44-ed/nat44_ed.c b/src/plugins/nat/nat44-ed/nat44_ed.c index b67a247358a..8f356430e20 100644 --- a/src/plugins/nat/nat44-ed/nat44_ed.c +++ b/src/plugins/nat/nat44-ed/nat44_ed.c @@ -3801,6 +3801,9 @@ nat_6t_flow_icmp_translate (vlib_main_t *vm, snat_main_t *sm, vlib_buffer_t *b, icmp->checksum = new_icmp_sum; break; case IP_PROTOCOL_ICMP: + nat_6t_flow_ip4_translate (sm, b, inner_ip, f, inner_proto, + 1 /* is_icmp_inner_ip4 */, + 0 /* skip_saddr_rewrite */); if (f->ops & NAT_FLOW_OP_ICMP_ID_REWRITE) { icmp46_header_t *inner_icmp = ip4_next_header (inner_ip); -- cgit 1.2.3-korg