[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c1c5081b-5300-d843-8644-e4d46e0405ad@iogearbox.net>
Date: Tue, 6 Feb 2018 11:38:47 +0100
From: Daniel Borkmann <daniel@...earbox.net>
To: Yonghong Song <yhs@...com>, ast@...com, netdev@...r.kernel.org
Cc: kernel-team@...com
Subject: Re: [PATCH bpf] tools/bpf: fix batch-mode test failure of
test_xdp_redirect.sh
On 02/06/2018 01:25 AM, Yonghong Song wrote:
> The tests at tools/testing/selftests/bpf can run in patch mode, e.g.,
> make -C tools/testing/selftests/bpf run_tests
>
> With the batch mode, I experimented intermittent test failure of
> test_xdp_redirect.sh.
> ....
> selftests: test_xdp_redirect [PASS]
> selftests: test_xdp_redirect.sh [PASS]
> RTNETLINK answers: File exists
> selftests: test_xdp_meta [FAILED]
> selftests: test_xdp_meta.sh [FAIL]
> ....
>
> The following illustrates what caused the failure:
> (1). test_xdp_redirect creates veth pairs (veth1,veth11) and
> (veth2,veth22), and assign veth11 and veth22 to namespace
> ns1 and ns2 respectively.
> (2). at the end of test_xdp_redirect test, ns1 and ns2 are
> deleted. During this process, the deletion of actual
> namespace resources, including deletion of veth1{1} and veth2{2},
> is put into a workqueue to be processed asynchronously.
> (3). test_xdp_meta tries to create veth pair (veth1, veth2).
> The previous veth deletions in step (2) have not finished yet,
> and veth1 or veth2 may be still valid in the kernel, thus
> causing the failure.
>
> The fix is to explicitly delete the veth pair before test_xdp_redirect
> exits. Only one end of veth needs deletion as the kernel will delete
> the other end automatically. Also test_xdp_meta is also fixed in
> similar manner to avoid future potential issues.
>
> Fixes: 996139e801fd ("selftests: bpf: add a test for XDP redirect")
> Fixes: 22c8852624fc ("bpf: improve selftests and add tests for meta pointer")
> Signed-off-by: Yonghong Song <yhs@...com>
Thanks for catching this, Yonghong, applied to bpf tree!
Powered by blists - more mailing lists