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 <y...@fb.com>
Thanks for catching this, Yonghong, applied to bpf tree!