Similar to IPIP and IP6I6 tunnels, introduce sw acceleration for IPv4 over IPv6 and SIT tunnels in the netfilter flowtable infrastructure.
--- Changes in v5: - Fix ipip6_tunnel_fill_forward_path() to take into account not only IPv6 packet since SIT tunnels can encapsulate even IPv4/MPLS traffic. - Return an error in ipip6_tunnel_fill_forward_path() if tunnel daddr is not set since NBMA tunnels are not supported yet. - Return an error in ipip6_tunnel_fill_forward_path() if encap.type is not TUNNEL_ENCAP_NONE - cosmetics - Link to v4: https://lore.kernel.org/r/20260703-b4-flowtable-sw-accel-ip6ip-v4-0-00398cd12...@kernel.org Changes in v4: - Rebase on top of nf-next and fixed conflicts. - Link to v3: https://lore.kernel.org/r/20260531-b4-flowtable-sw-accel-ip6ip-v3-0-56a2826f3...@kernel.org Changes in v3: - Drop nf_flow_tunnel_v4_push and nf_flow_tunnel_v6_push routines - Rebase on top of net-next tree. - Link to v2: https://lore.kernel.org/r/20260506-b4-flowtable-sw-accel-ip6ip-v2-0-439fd4277...@kernel.org Changes in v2: - Fix MTU check in nf_flow_offload_forward() and in nf_flow_offload_ipv6_forward() - Add SIT sw acceleration support - Link to v1: https://lore.kernel.org/r/20260505-b4-flowtable-sw-accel-ip6ip-v1-0-9ac39ccc9...@kernel.org --- Lorenzo Bianconi (6): net: netfilter: add ether_type to net_device_path_ctx net: netfilter: add encap_proto to flow_offload_tunnel net: netfilter: add IPv4 over IPv6 tunnel flowtable acceleration selftests: netfilter: nft_flowtable.sh: add IPv4 over IPv6 flowtable selftest net: netfilter: add SIT tunnel flowtable acceleration selftests: netfilter: nft_flowtable.sh: add SIT flowtable selftest drivers/net/ethernet/airoha/airoha_ppe.c | 13 +- drivers/net/ethernet/mediatek/mtk_ppe_offload.c | 13 +- include/linux/netdevice.h | 5 +- include/net/netfilter/nf_flow_table.h | 1 + net/core/dev.c | 6 +- net/ipv4/ipip.c | 1 + net/ipv6/ip6_tunnel.c | 6 +- net/ipv6/sit.c | 51 +++ net/netfilter/nf_flow_table_core.c | 16 +- net/netfilter/nf_flow_table_ip.c | 411 +++++++++++++-------- net/netfilter/nf_flow_table_path.c | 20 +- tools/testing/selftests/net/netfilter/config | 1 + .../selftests/net/netfilter/nft_flowtable.sh | 78 +++- 13 files changed, 434 insertions(+), 188 deletions(-) --- base-commit: a88e11651a59b616a8e614e178f68cd730eed0fe change-id: 20260505-b4-flowtable-sw-accel-ip6ip-7101034cd147 Best regards, -- Lorenzo Bianconi <[email protected]>
