1. 12 Nov, 2022 4 commits
    • Jakub Kicinski's avatar
      Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · f4c4ca70
      Jakub Kicinski authored
      Andrii Nakryiko says:
      
      ====================
      bpf-next 2022-11-11
      
      We've added 49 non-merge commits during the last 9 day(s) which contain
      a total of 68 files changed, 3592 insertions(+), 1371 deletions(-).
      
      The main changes are:
      
      1) Veristat tool improvements to support custom filtering, sorting, and replay
         of results, from Andrii Nakryiko.
      
      2) BPF verifier precision tracking fixes and improvements,
         from Andrii Nakryiko.
      
      3) Lots of new BPF documentation for various BPF maps, from Dave Tucker,
         Donald Hunter, Maryam Tahhan, Bagas Sanjaya.
      
      4) BTF dedup improvements and libbpf's hashmap interface clean ups, from
         Eduard Zingerman.
      
      5) Fix veth driver panic if XDP program is attached before veth_open, from
         John Fastabend.
      
      6) BPF verifier clean ups and fixes in preparation for follow up features,
         from Kumar Kartikeya Dwivedi.
      
      7) Add access to hwtstamp field from BPF sockops programs,
         from Martin KaFai Lau.
      
      8) Various fixes for BPF selftests and samples, from Artem Savkov,
         Domenico Cerasuolo, Kang Minchul, Rong Tao, Yang Jihong.
      
      9) Fix redirection to tunneling device logic, preventing skb->len == 0, from
         Stanislav Fomichev.
      
      * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (49 commits)
        selftests/bpf: fix veristat's singular file-or-prog filter
        selftests/bpf: Test skops->skb_hwtstamp
        selftests/bpf: Fix incorrect ASSERT in the tcp_hdr_options test
        bpf: Add hwtstamp field for the sockops prog
        selftests/bpf: Fix xdp_synproxy compilation failure in 32-bit arch
        bpf, docs: Document BPF_MAP_TYPE_ARRAY
        docs/bpf: Document BPF map types QUEUE and STACK
        docs/bpf: Document BPF ARRAY_OF_MAPS and HASH_OF_MAPS
        docs/bpf: Document BPF_MAP_TYPE_CPUMAP map
        docs/bpf: Document BPF_MAP_TYPE_LPM_TRIE map
        libbpf: Hashmap.h update to fix build issues using LLVM14
        bpf: veth driver panics when xdp prog attached before veth_open
        selftests: Fix test group SKIPPED result
        selftests/bpf: Tests for btf_dedup_resolve_fwds
        libbpf: Resolve unambigous forward declarations
        libbpf: Hashmap interface update to allow both long and void* keys/values
        samples/bpf: Fix sockex3 error: Missing BPF prog type
        selftests/bpf: Fix u32 variable compared with less than zero
        Documentation: bpf: Escape underscore in BPF type name prefix
        selftests/bpf: Use consistent build-id type for liburandom_read.so
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20221111233733.1088228-1-andrii@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f4c4ca70
    • Jakub Kicinski's avatar
      Merge branch 'net-vlan-claim-one-bit-from-sk_buff' · f1a7178b
      Jakub Kicinski authored
      Eric Dumazet says:
      
      ====================
      net: vlan: claim one bit from sk_buff
      
      First patch claims skb->vlan_present.
      This means some bpf changes, eg for sparc32 that I could not test.
      
      Second patch removes one conditional test in gro_list_prepare().
      ====================
      
      Link: https://lore.kernel.org/r/20221109095759.1874969-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f1a7178b
    • Eric Dumazet's avatar
      net: gro: no longer use skb_vlan_tag_present() · be3ed486
      Eric Dumazet authored
      We can remove a conditional test in gro_list_prepare()
      by comparing vlan_all fields of the two skbs.
      
      Notes:
      
      While comparing the vlan_proto is not strictly needed,
      because part of the following compare_ether_header() call,
      using 32bit word is actually faster than using 16bit values.
      
      napi_reuse_skb() makes sure to clear skb->vlan_all,
      as it already calls __vlan_hwaccel_clear_tag()
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      be3ed486
    • Eric Dumazet's avatar
      net: remove skb->vlan_present · 354259fa
      Eric Dumazet authored
      skb->vlan_present seems redundant.
      
      We can instead derive it from this boolean expression:
      
      vlan_present = skb->vlan_proto != 0 || skb->vlan_tci != 0
      
      Add a new union, to access both fields in a single load/store
      when possible.
      
      	union {
      		u32	vlan_all;
      		struct {
      		__be16	vlan_proto;
      		__u16	vlan_tci;
      		};
      	};
      
      This allows following patch to remove a conditional test in GRO stack.
      
      Note:
        We move remcsum_offload to keep TC_AT_INGRESS_MASK
        and SKB_MONO_DELIVERY_TIME_MASK unchanged.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Acked-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      354259fa
  2. 11 Nov, 2022 36 commits