summaryrefslogtreecommitdiffstats
path: root/scripts/setlocalversion
diff options
context:
space:
mode:
authorPeter Oskolkov2019-02-13 20:53:37 +0100
committerAlexei Starovoitov2019-02-14 03:27:55 +0100
commitca78801a81e04a31f8088e96b2649a9cbace5499 (patch)
tree1fd2c1a1b785e58217ff93e8010acdb4a7473e0b /scripts/setlocalversion
parentbpf: implement BPF_LWT_ENCAP_IP mode in bpf_lwt_push_encap (diff)
downloadkernel-qcow2-linux-ca78801a81e04a31f8088e96b2649a9cbace5499.tar.gz
kernel-qcow2-linux-ca78801a81e04a31f8088e96b2649a9cbace5499.tar.xz
kernel-qcow2-linux-ca78801a81e04a31f8088e96b2649a9cbace5499.zip
bpf: handle GSO in bpf_lwt_push_encap
This patch adds handling of GSO packets in bpf_lwt_push_ip_encap() (called from bpf_lwt_push_encap): * IPIP, GRE, and UDP encapsulation types are deduced by looking into iphdr->protocol or ipv6hdr->next_header; * SCTP GSO packets are not supported (as bpf_skb_proto_4_to_6 and similar do); * UDP_L4 GSO packets are also not supported (although they are not blocked in bpf_skb_proto_4_to_6 and similar), as skb_decrease_gso_size() will break it; * SKB_GSO_DODGY bit is set. Note: it may be possible to support SCTP and UDP_L4 gso packets; but as these cases seem to be not well handled by other tunneling/encapping code paths, the solution should be generic enough to apply to all tunneling/encapping code. v8 changes: - make sure that if GRE or UDP encap is detected, there is enough of pushed bytes to cover both IP[v6] + GRE|UDP headers; - do not reject double-encapped packets; - whitelist TCP GSO packets rather than block SCTP GSO and UDP GSO. Signed-off-by: Peter Oskolkov <posk@google.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'scripts/setlocalversion')
0 files changed, 0 insertions, 0 deletions