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

Reply via email to