• Andrey Ignatov's avatar
    selftests/bpf: Prepare test_sock_addr for extension · 9be71aa6
    Andrey Ignatov authored
    test_sock_addr was not easy to extend since it was focused on sys_bind
    and sys_connect quite a bit.
    
    Reorganized it so that it'll be easier to cover new test-cases for
    `BPF_PROG_TYPE_CGROUP_SOCK_ADDR`:
    
    - decouple test-cases so that only one BPF prog is tested at a time;
    
    - check programmatically that local IP:port for sys_bind, source IP and
      destination IP:port for sys_connect are rewritten property by tested
      BPF programs.
    
    The output of new version:
      # test_sock_addr.sh 2>/dev/null
      Wait for testing IPv4/IPv6 to become available ... OK
      Test case: bind4: load prog with wrong expected attach type .. [PASS]
      Test case: bind4: attach prog with wrong attach type .. [PASS]
      Test case: bind4: rewrite IP & TCP port in .. [PASS]
      Test case: bind4: rewrite IP & UDP port in .. [PASS]
      Test case: bind6: load prog with wrong expected attach type .. [PASS]
      Test case: bind6: attach prog with wrong attach type .. [PASS]
      Test case: bind6: rewrite IP & TCP port in .. [PASS]
      Test case: bind6: rewrite IP & UDP port in .. [PASS]
      Test case: connect4: load prog with wrong expected attach type .. [PASS]
      Test case: connect4: attach prog with wrong attach type .. [PASS]
      Test case: connect4: rewrite IP & TCP port .. [PASS]
      Test case: connect4: rewrite IP & UDP port .. [PASS]
      Test case: connect6: load prog with wrong expected attach type .. [PASS]
      Test case: connect6: attach prog with wrong attach type .. [PASS]
      Test case: connect6: rewrite IP & TCP port .. [PASS]
      Test case: connect6: rewrite IP & UDP port .. [PASS]
      Summary: 16 PASSED, 0 FAILED
    
    (stderr contains errors from libbpf when testing load/attach with
    invalid arguments)
    Signed-off-by: default avatarAndrey Ignatov <rdna@fb.com>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    9be71aa6
test_sock_addr.c 19 KB