Alexei Starovoitov
629a002568
Merge branch 'bpf-tc-tunneling'
Willem de Bruijn says: ==================== 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 ==================== Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first. In order to build the documentation, use ``make htmldocs`` or ``make pdfdocs``. The formatted documentation can also be read online at: https://www.kernel.org/doc/html/latest/ There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation. Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.
Description
Languages
C
97.6%
Assembly
1%
Shell
0.5%
Python
0.3%
Makefile
0.3%