]> git.baikalelectronics.ru Git - kernel.git/commit
ip_tunnel: Respect tunnel key's "flow_flags" in IP tunnels
authorEyal Birger <eyal.birger@gmail.com>
Thu, 18 Aug 2022 07:41:18 +0000 (10:41 +0300)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 18 Aug 2022 19:18:28 +0000 (21:18 +0200)
commit6824c9a1420dbf6958a359204237a701268e197f
tree22313025bd52882ceaffcc2b686719347787dada
parent16f2dba6845d96d0ab73e6dcae2fcd18b0f98527
ip_tunnel: Respect tunnel key's "flow_flags" in IP tunnels

Commit 880cbdca6f58 ("ip_tunnels: Add new flow flags field to ip_tunnel_key")
added a "flow_flags" member to struct ip_tunnel_key which was later used by
the commit in the fixes tag to avoid dropping packets with sources that
aren't locally configured when set in bpf_set_tunnel_key().

VXLAN and GENEVE were made to respect this flag, ip tunnels like IPIP and GRE
were not.

This commit fixes this omission by making ip_tunnel_init_flow() receive
the flow flags from the tunnel key in the relevant collect_md paths.

Fixes: 6aec2bcb4e1c ("bpf: Set flow flag to allow any source IP in bpf_tunnel_key")
Signed-off-by: Eyal Birger <eyal.birger@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Paul Chaignon <paul@isovalent.com>
Link: https://lore.kernel.org/bpf/20220818074118.726639-1-eyal.birger@gmail.com
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
include/net/ip_tunnels.h
net/ipv4/ip_gre.c
net/ipv4/ip_tunnel.c