• Daniel Borkmann's avatar
    selftests/bpf: Fix bpf_nf failure upon test rerun · 17e8e5d6
    Daniel Borkmann authored
    Alexei reported:
    
      After fast forwarding bpf-next today bpf_nf test started to fail when
      run twice:
    
      $ ./test_progs -t bpf_nf
      #17      bpf_nf:OK
      Summary: 1/10 PASSED, 0 SKIPPED, 0 FAILED
    
      $ ./test_progs -t bpf_nf
      All error logs:
      test_bpf_nf_ct:PASS:test_bpf_nf__open_and_load 0 nsec
      test_bpf_nf_ct:PASS:iptables-legacy -t raw -A PREROUTING -j CONNMARK
      --set-mark 42/0 0 nsec
      (network_helpers.c:102: errno: Address already in use) Failed to bind socket
      test_bpf_nf_ct:FAIL:start_server unexpected start_server: actual -1 < expected 0
      #17/1    bpf_nf/xdp-ct:FAIL
      test_bpf_nf_ct:PASS:test_bpf_nf__open_and_load 0 nsec
      test_bpf_nf_ct:PASS:iptables-legacy -t raw -A PREROUTING -j CONNMARK
      --set-mark 42/0 0 nsec
      (network_helpers.c:102: errno: Address already in use) Failed to bind socket
      test_bpf_nf_ct:FAIL:start_server unexpected start_server: actual -1 < expected 0
      #17/2    bpf_nf/tc-bpf-ct:FAIL
      #17      bpf_nf:FAIL
      Summary: 0/8 PASSED, 0 SKIPPED, 1 FAILED
    
    I was able to locally reproduce as well. Rearrange the connection teardown
    so that the client closes its connection first so that we don't need to
    linger in TCP time-wait.
    
    Fixes: e81fbd4c ("selftests/bpf: Add existing connection bpf_*_ct_lookup() test")
    Reported-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Link: https://lore.kernel.org/bpf/CAADnVQ+0dnDq_v_vH1EfkacbfGnHANaon7zsw10pMb-D9FS0Pw@mail.gmail.com
    Link: https://lore.kernel.org/bpf/20230626131942.5100-1-daniel@iogearbox.net
    17e8e5d6
bpf_nf.c 6.37 KB