The patch looks good to me. Acked-by: Andrey Ignatov <r...@fb.com>
Thanks for improving the tests, Yonghong! Yonghong Song <y...@fb.com> [Wed, 2018-04-18 10:49 -0700]: > The bpf selftests test_sock and test_sock_addr.sh failed > in my test machine. The failure looks like: > $ ./test_sock > Test case: bind4 load with invalid access: src_ip6 .. [PASS] > Test case: bind4 load with invalid access: mark .. [PASS] > Test case: bind6 load with invalid access: src_ip4 .. [PASS] > Test case: sock_create load with invalid access: src_port .. [PASS] > Test case: sock_create load w/o expected_attach_type (compat mode) .. > [FAIL] > Test case: sock_create load w/ expected_attach_type .. [FAIL] > Test case: attach type mismatch bind4 vs bind6 .. [FAIL] > ... > Summary: 4 PASSED, 12 FAILED > $ ./test_sock_addr.sh > Wait for testing IPv4/IPv6 to become available ..... > ERROR: Timeout waiting for test IP to become available. > > In test_sock, bpf program loads failed due to hitting memlock limits. > In test_sock_addr.sh, my test machine is a ipv6 only test box and using > "ping" without specifying address family for an ipv6 address does not work. > > This patch fixed the issue by including header bpf_rlimit.h in test_sock.c > and test_sock_addr.c, and specifying address family for ping command. > > Cc: Andrey Ignatov <r...@fb.com> > Signed-off-by: Yonghong Song <y...@fb.com> > --- > tools/testing/selftests/bpf/test_sock.c | 1 + > tools/testing/selftests/bpf/test_sock_addr.c | 1 + > tools/testing/selftests/bpf/test_sock_addr.sh | 4 ++-- > 3 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/bpf/test_sock.c > b/tools/testing/selftests/bpf/test_sock.c > index 73bb20c..f4d99fa 100644 > --- a/tools/testing/selftests/bpf/test_sock.c > +++ b/tools/testing/selftests/bpf/test_sock.c > @@ -13,6 +13,7 @@ > #include <bpf/bpf.h> > > #include "cgroup_helpers.h" > +#include "bpf_rlimit.h" > > #ifndef ARRAY_SIZE > # define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) > diff --git a/tools/testing/selftests/bpf/test_sock_addr.c > b/tools/testing/selftests/bpf/test_sock_addr.c > index d488f20..2950f80 100644 > --- a/tools/testing/selftests/bpf/test_sock_addr.c > +++ b/tools/testing/selftests/bpf/test_sock_addr.c > @@ -15,6 +15,7 @@ > #include <bpf/libbpf.h> > > #include "cgroup_helpers.h" > +#include "bpf_rlimit.h" > > #define CG_PATH "/foo" > #define CONNECT4_PROG_PATH "./connect4_prog.o" > diff --git a/tools/testing/selftests/bpf/test_sock_addr.sh > b/tools/testing/selftests/bpf/test_sock_addr.sh > index c6e1dcf..9832a87 100755 > --- a/tools/testing/selftests/bpf/test_sock_addr.sh > +++ b/tools/testing/selftests/bpf/test_sock_addr.sh > @@ -4,7 +4,7 @@ set -eu > > ping_once() > { > - ping -q -c 1 -W 1 ${1%%/*} >/dev/null 2>&1 > + ping -${1} -q -c 1 -W 1 ${2%%/*} >/dev/null 2>&1 > } > > wait_for_ip() > @@ -13,7 +13,7 @@ wait_for_ip() > echo -n "Wait for testing IPv4/IPv6 to become available " > for _i in $(seq ${MAX_PING_TRIES}); do > echo -n "." > - if ping_once ${TEST_IPv4} && ping_once ${TEST_IPv6}; then > + if ping_once 4 ${TEST_IPv4} && ping_once 6 ${TEST_IPv6}; then > echo " OK" > return > fi > -- > 2.9.5 > -- Andrey Ignatov