Re: [PATCH v3 bpf 2/2] selftests/bpf: test lwt redirect error handling

From: Jakub Sitnicki
Date: Tue Jul 25 2023 - 09:20:31 EST


On Mon, Jul 24, 2023 at 09:14 PM -07, Yan Zhai wrote:
> Tests BPF redirect at the lwt xmit hook to ensure error handling are
> safe, i.e. won't panic the kernel.
>
> Suggested-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
> Signed-off-by: Yan Zhai <yan@xxxxxxxxxxxxxx>
> ---
> tools/testing/selftests/bpf/Makefile | 1 +
> .../selftests/bpf/progs/test_lwt_redirect.c | 67 +++++++
> .../selftests/bpf/test_lwt_redirect.sh | 165 ++++++++++++++++++
> 3 files changed, 233 insertions(+)
> create mode 100644 tools/testing/selftests/bpf/progs/test_lwt_redirect.c
> create mode 100755 tools/testing/selftests/bpf/test_lwt_redirect.sh
>
> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> index 538df8fb8c42..e3a24d053793 100644
> --- a/tools/testing/selftests/bpf/Makefile
> +++ b/tools/testing/selftests/bpf/Makefile
> @@ -66,6 +66,7 @@ TEST_PROGS := test_kmod.sh \
> test_xdp_vlan_mode_generic.sh \
> test_xdp_vlan_mode_native.sh \
> test_lwt_ip_encap.sh \
> + test_lwt_redirect.sh \
> test_tcp_check_syncookie.sh \
> test_tc_tunnel.sh \
> test_tc_edt.sh \
> diff --git a/tools/testing/selftests/bpf/progs/test_lwt_redirect.c b/tools/testing/selftests/bpf/progs/test_lwt_redirect.c
> new file mode 100644
> index 000000000000..622c6b1e7128
> --- /dev/null
> +++ b/tools/testing/selftests/bpf/progs/test_lwt_redirect.c
> @@ -0,0 +1,67 @@
> +// SPDX-License-Identifier: GPL-2.0
> +#include <linux/bpf.h>
> +#include <bpf/bpf_helpers.h>
> +
> +#define ETH_LEN 14

Nit: We have ETH_HLEN in bpf_tracing_net.h defined.

[...]