From: Daniel Borkmann Date: Fri, 8 Apr 2016 22:32:03 +0000 (+0200) Subject: tc, bpf: add new csum and tunnel signatures X-Git-Tag: v4.6.0~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0395711c52260c3a1cb0984948c3db56c69a073b;p=thirdparty%2Fiproute2.git tc, bpf: add new csum and tunnel signatures Add new signatures for BPF_FUNC_csum_diff, BPF_FUNC_skb_get_tunnel_opt and BPF_FUNC_skb_set_tunnel_opt. Signed-off-by: Daniel Borkmann --- diff --git a/include/bpf_api.h b/include/bpf_api.h index 4b16d25c3..0f278f0c2 100644 --- a/include/bpf_api.h +++ b/include/bpf_api.h @@ -212,6 +212,8 @@ static int BPF_FUNC(l3_csum_replace, struct __sk_buff *skb, uint32_t off, uint32_t from, uint32_t to, uint32_t flags); static int BPF_FUNC(l4_csum_replace, struct __sk_buff *skb, uint32_t off, uint32_t from, uint32_t to, uint32_t flags); +static int BPF_FUNC(csum_diff, const void *from, uint32_t from_size, + const void *to, uint32_t to_size, uint32_t seed); /* Packet vlan encap/decap */ static int BPF_FUNC(skb_vlan_push, struct __sk_buff *skb, uint16_t proto, @@ -225,6 +227,11 @@ static int BPF_FUNC(skb_set_tunnel_key, struct __sk_buff *skb, const struct bpf_tunnel_key *from, uint32_t size, uint32_t flags); +static int BPF_FUNC(skb_get_tunnel_opt, struct __sk_buff *skb, + void *to, uint32_t size); +static int BPF_FUNC(skb_set_tunnel_opt, struct __sk_buff *skb, + const void *from, uint32_t size); + /** LLVM built-ins, mem*() routines work for constant size */ #ifndef lock_xadd