On Fri, Mar 22, 2019 at 02:32:47PM -0400, Willem de Bruijn wrote: > From: Willem de Bruijn <will...@google.com> > > BPF allows for dynamic tunneling, choosing the tunnel destination and > features on-demand. Extend bpf_skb_adjust_room to allow for efficient > tunneling at the TC hooks. > > Most features are required for large packets with GSO, as these will > be modified after this patch. > > Patch 1 > is a performance optimization, avoiding an unnecessary unclone > for the TCP hot path. > > Patches 2..6 > introduce a regression test. These can be squashed, but the code is > arguably more readable when gradually expanding the feature set. > > Patch 7 > is a performance optimization, avoid copying network headers > that are going to be overwritten. This also simplifies the bpf > program. > > Patch 8 > reenables bpf_skb_adjust_room for UDP packets. > > Patch 9 > configures skb tunneling metadata analogous to tunnel devices. > > Patches 10..13 > expand the regression test to make use of the new features and > enable the GSO testcases. > > Changes > v1->v2 > - move BPF_F_ADJ_ROOM_MASK out of uapi as it can be expanded > - document new flags > - in tests replace netcat -q flag with coreutils timeout: > the -q flag is not supported in all netcat versions > v2->v3 > - move BPF_F_ADJ_ROOM_ENCAP_L3_MASK out of uapi as it has no > use in userspace
Applied, Thanks