linux-xiaomi-chiron/include/uapi
Daniel Borkmann 6578171a7f bpf: add bpf_skb_change_proto helper
This patch adds a minimal helper for doing the groundwork of changing
the skb->protocol in a controlled way. Currently supported is v4 to
v6 and vice versa transitions, which allows f.e. for a minimal, static
nat64 implementation where applications in containers that still
require IPv4 can be transparently operated in an IPv6-only environment.
For example, host facing veth of the container can transparently do
the transitions in a programmatic way with the help of clsact qdisc
and cls_bpf.

Idea is to separate concerns for keeping complexity of the helper
lower, which means that the programs utilize bpf_skb_change_proto(),
bpf_skb_store_bytes() and bpf_lX_csum_replace() to get the job done,
instead of doing everything in a single helper (and thus partially
duplicating helper functionality). Also, bpf_skb_change_proto()
shouldn't need to deal with raw packet data as this is done by other
helpers.

bpf_skb_proto_6_to_4() and bpf_skb_proto_4_to_6() unclone the skb to
operate on a private one, push or pop additionally required header
space and migrate the gso/gro meta data from the shared info. We do
mark the gso type as dodgy so that headers are checked and segs
recalculated by the gso/gro engine. The gso_size target is adapted
as well. The flags argument added is currently reserved and can be
used for future extensions.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-30 05:54:40 -04:00
..
asm-generic asm-generic: Drop renameat syscall from default list 2016-05-05 00:42:21 +02:00
drm drm/vmwgfx: add extern C guard for the UAPI header 2016-05-13 14:06:21 +01:00
linux bpf: add bpf_skb_change_proto helper 2016-06-30 05:54:40 -04:00
misc cxl: Support to flash a new image on the adapter from a guest 2016-03-09 23:39:56 +11:00
mtd mtd: kill the nand_ecclayout struct 2016-05-05 23:51:51 +02:00
rdma Merge branch 'hfi1-2' into k.o/for-4.7 2016-05-26 12:50:05 -04:00
scsi cxlflash: Fix to avoid virtual LUN failover failure 2016-01-06 20:50:08 -05:00
sound ALSA: uapi: Add three missing header files to Kbuild file 2016-05-31 17:33:32 +02:00
video
xen xen/gntdev: add ioctl for grant copy 2016-01-07 13:21:53 +00:00
Kbuild cxl: Add userspace header file 2014-10-08 20:15:57 +11:00