bpf: Add ipip6 and ip6ip decap support for bpf_skb_adjust_room()
authorZiyang Xuan <william.xuanziyang@huawei.com>
Fri, 13 Jan 2023 09:24:51 +0000 (17:24 +0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Sun, 15 Jan 2023 20:56:17 +0000 (12:56 -0800)
commitd219df60a70ed0739aa5dd34b477763311fc5a7b
treed8f5455628830a487861b88051f3811e01e405a9
parent1c48391bc6739f5e3306919d4b887b92c35d5490
bpf: Add ipip6 and ip6ip decap support for bpf_skb_adjust_room()

Add ipip6 and ip6ip decap support for bpf_skb_adjust_room().
Main use case is for using cls_bpf on ingress hook to decapsulate
IPv4 over IPv6 and IPv6 over IPv4 tunnel packets.

Add two new flags BPF_F_ADJ_ROOM_DECAP_L3_IPV{4,6} to indicate the
new IP header version after decapsulating the outer IP header.

Suggested-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/r/b268ec7f0ff9431f4f43b1b40ab856ebb28cb4e1.1673574419.git.william.xuanziyang@huawei.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
include/uapi/linux/bpf.h
net/core/filter.c
tools/include/uapi/linux/bpf.h