1. 24 5月, 2018 1 次提交
    • M
      selftests/bpf: test for seg6local End.BPF action · c99a84ea
      Mathieu Xhonneux 提交于
      Add a new test for the seg6local End.BPF action. The following helpers
      are also tested:
      
      - bpf_lwt_push_encap within the LWT BPF IN hook
      - bpf_lwt_seg6_action
      - bpf_lwt_seg6_adjust_srh
      - bpf_lwt_seg6_store_bytes
      
      A chain of End.BPF actions is built. The SRH is injected through a LWT
      BPF IN hook before entering this chain. Each End.BPF action validates
      the previous one, otherwise the packet is dropped. The test succeeds
      if the last node in the chain receives the packet and the UDP datagram
      contained can be retrieved from userspace.
      Signed-off-by: NMathieu Xhonneux <m.xhonneux@gmail.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      c99a84ea
  2. 23 5月, 2018 2 次提交
    • S
      selftests/bpf: Makefile fix "missing" headers on build with -idirafter · 167381f3
      Sirio Balmelli 提交于
      Selftests fail to build on several distros/architectures because of
      	missing headers files.
      
      On a Ubuntu/x86_64 some missing headers are:
      	asm/byteorder.h, asm/socket.h, asm/sockios.h
      
      On a Debian/arm32 build already fails at sys/cdefs.h
      
      In both cases, these already exist in /usr/include/<arch-specific-dir>,
      but Clang does not include these when using '-target bpf' flag,
      since it is no longer compiling against the host architecture.
      
      The solution is to:
      
      - run Clang without '-target bpf' and extract the include chain for the
      current system
      
      - add these to the bpf build with '-idirafter'
      
      The choice of -idirafter is to catch this error without injecting
      unexpected include behavior: if an arch-specific tree is built
      for bpf in the future, this will be correctly found by Clang.
      Signed-off-by: NSirio Balmelli <sirio@b-ad.ch>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      167381f3
    • M
      bpf: btf: Add tests for the btf uapi changes · 61746dbe
      Martin KaFai Lau 提交于
      This patch does the followings:
      1. Modify libbpf and test_btf to reflect the uapi changes in btf
      2. Add test for the btf_header changes
      3. Add tests for array->index_type
      4. Add err_str check to the tests
      5. Fix a 4 bytes hole in "struct test #1" by swapping "m" and "n"
      Signed-off-by: NMartin KaFai Lau <kafai@fb.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      61746dbe
  3. 19 5月, 2018 1 次提交
  4. 17 5月, 2018 3 次提交
  5. 15 5月, 2018 3 次提交
  6. 11 5月, 2018 4 次提交
  7. 10 5月, 2018 1 次提交
  8. 09 5月, 2018 2 次提交
  9. 08 5月, 2018 2 次提交
  10. 04 5月, 2018 6 次提交
  11. 03 5月, 2018 1 次提交
  12. 02 5月, 2018 2 次提交
  13. 30 4月, 2018 1 次提交
    • E
      selftests: net: tcp_mmap must use TCP_ZEROCOPY_RECEIVE · aacb0c2e
      Eric Dumazet 提交于
      After prior kernel change, mmap() on TCP socket only reserves VMA.
      
      We have to use getsockopt(fd, IPPROTO_TCP, TCP_ZEROCOPY_RECEIVE, ...)
      to perform the transfert of pages from skbs in TCP receive queue into such VMA.
      
      struct tcp_zerocopy_receive {
      	__u64 address;		/* in: address of mapping */
      	__u32 length;		/* in/out: number of bytes to map/mapped */
      	__u32 recv_skip_hint;	/* out: amount of bytes to skip */
      };
      
      After a successful getsockopt(...TCP_ZEROCOPY_RECEIVE...), @length contains
      number of bytes that were mapped, and @recv_skip_hint contains number of bytes
      that should be read using conventional read()/recv()/recvmsg() system calls,
      to skip a sequence of bytes that can not be mapped, because not properly page
      aligned.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Acked-by: NSoheil Hassas Yeganeh <soheil@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aacb0c2e
  14. 29 4月, 2018 5 次提交
  15. 28 4月, 2018 6 次提交