Lothoré (eBPF Foundation)
---
Alexis Lothoré (eBPF Foundation) (2):
bpf, arm64: remove structs on stack constraint
selftests/bpf: enable tracing_struct tests for arm64
arch/arm64/net/bpf_jit_comp.c| 5 -
tools/testing/selftests/bpf/DENYLIST.aarch64 | 1 -
2 files
Now that the constraint preventing attachment to functions consuming
struct on stack has been removed from the kernel (and moved to pahole,
with a slightly smarter detection, to prevent only those that are
packed), re-enable the tracing_struct tests for arm64.
Signed-off-by: Alexis Lothoré (eBPF
[3]
https://lore.kernel.org/bpf/20250707-btf_skip_structs_on_stack-v3-0-29569e086...@bootlin.com/
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arch/arm64/net/bpf_jit_comp.c | 5 -
1 file changed, 5 deletions(-)
diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_co
arguments
on stack (-> more than 8 args)
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
.../selftests/bpf/prog_tests/tracing_struct.c | 37 +---
.../selftests/bpf/progs/tracing_struct_many_args.c | 70 --
.../testing/selftests/bpf/test_kmods/bpf_testmod.c |
max bpf args
check in the new function.
Fixes: d243b62b7bd3 ("powerpc64/bpf: Add support for bpf trampolines")
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arch/powerpc/net/bpf_jit_comp.c | 28 +---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --
powerpc allows using up to 8 registers to pass arguments between function
calls. This value is hardcoded in multiple places, use a define for this
value.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arch/powerpc/net/bpf_jit_comp.c | 10 +++---
1 file changed, 7 insertions(+), 3
x86 allows using up to 6 registers to pass arguments between function
calls. This value is hardcoded in multiple places, use a define for this
value.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arch/x86/net/bpf_jit_comp.c | 14 --
1 file changed, 8 insertions(+), 6 deletions
-many_args_arm64-v1-0-0a32fe723...@bootlin.com/
[2]
https://lore.kernel.org/bpf/caadnvqkr3ftnt1uqvrxbe0a2o37zyro2phqcohunw6pe5t2...@mail.gmail.com/
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
Alexis Lothoré (eBPF Foundation) (7):
bpf/x86: use define for max regs count used for
the existing
check (ensuring that the number of args passed on stack is not higher
than MAX_NR_STACK_ARGS) into the newly created check function.
Fixes: 528eb2cb87bc ("s390/bpf: Implement arch_prepare_bpf_trampoline()")
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arc
max bpf args
check in the new function.
Fixes: 6801b0aef79d ("riscv, bpf: Add 12-argument support for RV64 bpf
trampoline")
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arch/riscv/net/bpf_jit_comp64.c | 26 --
1 file changed, 24 insertions(+), 2 deletion
max bpf args
check in the new function.
Fixes: 473e3150e30a ("bpf, x86: allow function arguments up to 12 for TRACING")
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
arch/x86/net/bpf_jit_comp.c | 36 ++--
1 file changed, 30 insertions(+), 6 deletion
Now that support for up to 12 args is enabled for tracing programs on
ARM64, enable the existing tests for this feature on this architecture.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
Changes in v2:
- keep tracing struct tests disabled, as structs passed on stack are not
handled by
Now that support for up to 12 args is enabled for tracing programs on
ARM64, enable the existing tests for this feature on this architecture.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
Changes in v2:
- keep tracing struct tests disabled, as structs passed on stack are not
handled by
ame
arguments, except that the second one requires a more specific alignment
to be set by the trampoline when preparing arguments before calling the
the target function.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
.../selftests/bpf/prog_tests/tracing_struct.c | 23
to
arch-specific concerns (ie: guessing the
final needed alignment for an argument) isolated in each JIT compiler.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
include/linux/bpf.h | 1 +
kernel/bpf/btf.c| 25 +
2 files changed, 26 insertions(+)
diff --git a/include/
The fentry_many_args, fexit_many_args and struct_many_args tests were
disabled on ARM64 due to the lack of many args support.
With the previous commits bringing in this missing support, drop the
last denied tests.
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
tools/testing/selftests/bpf
s64/aapcs64.rst#id82
[3] https://lore.kernel.org/bpf/20240705125336.46820-1-puran...@kernel.org/
[4] https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
Alexis Lothoré (eBPF Foundation) (3):
bpf: add struct largest member size in func model
Some tests introduce memory leaks by not freeing all the pkt_stream
objects they're creating.
Fix these memory leaks.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/xskxceiver.c | 32 +++-
1 file changed, 31 insertions(
__testapp_validate_traffic() calls exit_on_error() on failures. This
exits the program immediately and can lead to memory leaks.
Return TEST_FAILURE instead of calling exit_on_error().
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/xskxceiver.c | 6
bitmap is used before being initialized.
Initialize it to zero before using it.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/xskxceiver.c | 4
1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/bpf/xskxceiver.c
b/tools/testing
TX and RX workers can fail in many places. These failures trigger a call
to exit_on_error() which exits the program immediately and can lead to
memory leak.
Add return value to functions that can fail.
Handle failures more smoothly through report_failure().
Signed-off-by: Bastien Curutchet (eBPF
_bit library to test_progs sources in the Makefile as it is
is used by test_xsk.c
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 13 +-
.../selftests/bpf/{ => prog_tests}/test_xsk.c | 0
.../selftests/bpf/{ => prog_tests}/
ests available to test_progs
PATCH 11 enables kselftest de-activation
PATCH 12 isolates the flaky tests
PATCH 13 integrate the non-flaky tests to the test_progs framework
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Bastien Curutchet (eBPF Foundation) (13):
selftests/bpf: test_x
est_xsk.sh.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/test_xsk.h | 12
tools/testing/selftests/bpf/xskxceiver.c | 16
2 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_xsk.h
b/too
test_xsk.c uses the kselftest framework. This isn't compatible with the
test_progs framework.
Add a XSK_SELTFEST define that allows to enable/disable the kselftest
usage.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 2 +-
tools/te
Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/xskxceiver.c | 97 +++-
1 file changed, 71 insertions(+), 26 deletions(-)
diff --git a/tools/testing/selftests/bpf/xskxceiver.c
b/tools/testing/selftests/bpf/xskxceiver.c
index
xskxceiver depends on kselftests which prevent from integrating it into
the test_progs framework.
Wrap the ksft_*() calls behind macros to ease the future integration into
test_progs.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/xskxceiver.c | 109
init_iface() doesn't have any return value while it can fail. In case of
failure it calls exit_on_error() which will terminate the test
immediately.
Add a return value to init_iface() so errors can be handled more
smoothly.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/te
xsk_reattach_xdp calls exit_on_error() on failures. This exits the
program immediately and can lead to memory leaks.
Add a return value to the functions handling XDP attachments to handle
errors more smoothly.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf
exit_on_error() is called when gettimeofday() fails. This exits the
program immediately and can lead to memory leaks.
Return TEST_FAILURE instead of calling exit_on_error()
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/xskxceiver.c | 8
1 file
prog_tests/lwt_seg6local.c file.
While working on the migration I noticed that some routes present in the
script weren't needed so PATCH 1 deletes them and then PATCH 2 migrates
the test into the test_progs framework.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Bastien Curutchet
Some routes in fb00:: are initialized during setup, even though they
aren't needed by the test as the UDP packets will travel through the
lightweight tunnels.
Remove these unnecessary routes.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftest
e the final packet.
Remove test_lwt_seg6local.sh and its Makefile entry.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 1 -
.../selftests/bpf/prog_tests/lwt_seg6local.c | 176 +
tools/testing/selftest
emove test_lwt_ip_encap.sh and its Makefile entry.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 3 +-
.../selftests/bpf/prog_tests/lwt_ip_encap.c| 540 +
tools/testing/selftests/bpf/test_lwt_ip_encap.sh
to
fail depending on the environment they're run on.
Remove test_ip6gre() and test_ip6gretap() from the script.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Changes in v2:
- Disable DAD through `ip addr` instead of using `sysctl`
---
.../testing/selftests/bpf/prog_tests/test_tun
: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 46 +++
tools/testing/selftests/bpf/test_tunnel.sh | 52 --
2 files changed, 46 insertions(+), 52 deletions(-)
diff --git a/tools/testing/selftests/bpf
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 48 +
tools/testing/selftests/bpf/test_tunnel.sh | 49 --
2 files changed, 48 insertions(+), 49 deletions(-)
diff --git a/tools/testing
emove the unnecessary ASSERT_OK() from the tests.
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 53 ++
1 file changed, 24 insertions(+), 29 deletions(-)
diff --git a/tools/testing/self
Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 59 +++
tools/testing/selftests/bpf/test_tunnel.sh | 88 --
2 files changed, 59 insertions(+), 88 deletions(-)
diff --git a/tools/testing
Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 1 -
tools/testing/selftests/bpf/test_tunnel.sh | 179 -
2 files changed, 180 deletions(-)
diff --git a/tools/testing/selftests/bpf/Makefile
b/tools/testing
: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 45 ++
tools/testing/selftests/bpf/test_tunnel.sh | 45 --
2 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/tools/testing/selftests/bpf
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 41 +++
tools/testing/selftests/bpf/test_tunnel.sh | 58 --
2 files changed, 41 insertions(+), 58 deletions(-)
diff --git a/tools/testing/selftests/bpf
Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 97 ++
tools/testing/selftests/bpf/test_tunnel.sh | 79 --
2 files changed, 97 insertions(+), 79 deletions(-)
diff --git a/tools/testing
stien Curutchet (eBPF Foundation)
---
Changes in v2:
- Move tc_hook definition to attach_tc_prog()
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 140 ++---
1 file changed, 66 insertions(+), 74 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel
the
migration in the following patches.
PATCH 3 to 9 migrate the tests of gre, ip6gre, erspan, ip6erspan,
geneve, ip6geneve and ip6tnl tunnels.
PATCH 10 removes test_tunnel.sh
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Changes in v2:
- PATCH 1: Move tc_hook definition to attatch_tc_
test_select_reuseport_kern.c is currently including , but it
does not use any definition from there.
Remove stdlib.h inclusion from test_select_reuseport_kern.c
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
I stumbled upon this specific header include while trying to build selftests on
: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 1 -
tools/testing/selftests/bpf/test_tunnel.sh | 179 -
2 files changed, 180 deletions(-)
diff --git a/tools/testing/selftests/bpf/Makefile
b/tools/testing/selftests/bpf/Makefile
index
(eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 48 +
tools/testing/selftests/bpf/test_tunnel.sh | 49 --
2 files changed, 48 insertions(+), 49 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
geneve tunnels are tested in the test_tunnel.sh but not in the test_progs
framework.
Add a new test in test_progs to test geneve tunnels. It uses the same
network topology and the same BPF programs than the script.
Remove test_geneve() from the script.
Signed-off-by: Bastien Curutchet (eBPF
(eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 41 +++
tools/testing/selftests/bpf/test_tunnel.sh | 58 --
2 files changed, 41 insertions(+), 58 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
b
Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 59 +++
tools/testing/selftests/bpf/test_tunnel.sh | 88 --
2 files changed, 59 insertions(+), 88 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests
erspan tunnels are tested in the test_tunnel.sh but not in the test_progs
framework.
Add a new test in test_progs to test erspan tunnels. It uses the same
network topology and the same BPF programs than the script.
Remove test_erspan() from the script.
Signed-off-by: Bastien Curutchet (eBPF
to
fail depending on the environment they're run on.
Remove test_ip6gre() and test_ip6gretap() from the script.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 110 +
tools/testing/selftests/bpf/test_tunn
Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 97 ++
tools/testing/selftests/bpf/test_tunnel.sh | 79 --
2 files changed, 97 insertions(+), 79 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests
emove the unnecessary ASSERT_OK() from the tests.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 53 ++
1 file changed, 24 insertions(+), 29 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_tun
stien Curutchet (eBPF Foundation)
---
.../testing/selftests/bpf/prog_tests/test_tunnel.c | 128 ++---
1 file changed, 62 insertions(+), 66 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
the
migration in the following patches.
PATCH 3 to 9 migrate the tests of gre, ip6gre, erspan, ip6erspan,
geneve, ip6geneve and ip6tnl tunnels.
PATCH 10 removes test_tunnel.sh
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Bastien Curutchet (eBPF Foundation) (10):
selftests
test_xdp_vlan.sh isn't used by the BPF CI.
Migrate test_xdp_vlan.sh in prog_tests/xdp_vlan.c.
It uses the same BPF programs located in progs/test_xdp_vlan.c and the
same network topology.
Remove test_xdp_vlan*.sh and their Makefile entries.
Signed-off-by: Bastien Curutchet (eBPF Found
use the program name
instead of the section name to load the BPF program.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/progs/test_xdp_vlan.c | 20 ++--
tools/testing/selftests/bpf/test_xdp_vlan.sh | 6 +++---
2 files changed, 13 inserti
architecture.
Remove the tests depending on kprobe_multi from DENYLIST.aarch64 to
allow those to run in CI. CONFIG_FPROBE is already correctly set in
tools/testing/selftests/bpf/config
Signed-off-by: Alexis Lothoré (eBPF Foundation)
---
The tests being enabled with this series have been run locally
lict.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/prog_tests/ns_current_pid_tgid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/ns_current_pid_tgid.c
b/tools/testing/selftests/bpf/prog_tests/ns_curr
Tests are serialized because they all use the loopback interface.
Replace the 'serial_test_' prefixes with 'test_ns_' to benefit from the
new test_prog feature which creates a dedicated namespace for each test,
allowing them to run in parallel.
Signed-off-by: Bastien Curutc
Two subtests use the test_in_netns() function to run the test in a
dedicated network namespace. This can now be done directly through the
test_progs framework with a test name starting with 'ns_'.
Replace the use of test_in_netns() by test_ns_* calls.
Signed-off-by: Bastien Curut
Some tests are serialized to prevent interference with others.
Open a dedicated network namespace when a test name starts with 'ns_' to
allow more test parallelization. Use the test name as namespace name to
avoid conflict between namespaces.
Signed-off-by: Bastien Curutchet (eBPF
start with 'ns_'.
One test already has a name starting with 'ns_', so PATCH 1 renames it
to avoid conflicts. PATCH 2 introduces the test_progs 'feature'.
PATCH 3 & 4 convert some tests to use these dedicated namespaces.
Signed-off-by: Bastien Curutchet (eBPF Foundati
All the tests use the loopback interface. It prevents from running them
in parallel.
Use the create_and_open_tid_ns() helper to run each test in its own
network namespace.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/prog_tests/tc_links.c | 124
The tests aren't allowed to be run in parallel while they could be.
Replace serial_test_*() calls by test_*() ones to allow parallelization
of these tests.
Rename some 'subtests' functions to avoid name conflicts with the actual
tests.
Signed-off-by: Bastien Curutchet (
Add a create_and_open_tid_ns() helper that creates a new network
namespace and open it.
Use the append_tid() helper to ensure the uniqueness of the namespace
name.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/prog_tests/tc_helpers.h | 12
1
Hi all,
Both tc_links.c and tc_opts.c do their tests on the loopback interface.
It prevents from parallelizing their executions.
Use namespaces and the new append_tid() helper to allow this
parallelization.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Bastien Curutchet (eBPF
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 2 -
.../selftests/bpf/test_xdp_redirect_multi.sh | 214 ---
tools/testing/selftests/bpf/xdp_redirect_multi.c | 226 -
3 files changed, 442
map to select the broadcast flags.
Use a BPF map with an entry per veth to check whether packets are
received or not
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 157 +
.../testing
BPF map.
Use a BPF program that stores the source MAC of received packets in a
map to check the test results.
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 132 +
.../testing/selftests
ed-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/progs/xdp_redirect_multi_kern.c | 41 +++---
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/xdp_redirect_multi_kern.c
b/tools/te
er to ensure the uniqueness of this
namespace's name during parallel runs.
Remove the use of the append_tid() on the veth names as they now belong
to an already unique namespace.
Simplify cleanup_network() by directly deleting the namespaces
Signed-off-by: Bastien Curutchet (eBPF
ributes in upcoming patch.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 108 +++--
1 file changed, 59 insertions(+), 49 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c
b/tools/testing
8f5d07b9a ("rtnetlink:
fix netns leak with rtnl_setlink()") in the net tree.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Changes in v5:
- Remove the patches that were applied from previous iteration
- Add PATCH 1 & 2 to avoid using the root namespace so the veth indexes
don
sed scripts and their Makefile entries.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile| 4 +--
tools/testing/selftests/bpf/with_addr.sh| 54 -
tools/testing/selftests/bpf/with_tunnels.sh | 36 -
BPF map.
Use a BPF program that stores the source MAC of received packets in a
map to check the test results.
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 125 +
.../testing/selftests
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 2 -
.../selftests/bpf/test_xdp_redirect_multi.sh | 214 ---
tools/testing/selftests/bpf/xdp_redirect_multi.c | 226 -
3 files changed, 442
map to select the broadcast flags.
Use a BPF map with an entry per veth to check whether packets are
received or not
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 150 +
.../testing
ed-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/progs/xdp_redirect_multi_kern.c | 41 +++---
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/xdp_redirect_multi_kern.c
b/tools/te
The XDP redirection is tested without any flag provided to the
xdp_attach() function.
Add two subtests that check the correct behaviour with
XDP_FLAGS_{DRV/SKB}_MODE flags
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests
each test.
Set a fixed size to remote_addr field so the struct veth_configuration
can also have a fixed size.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 51 ++
1 file changed, 33 insertions(+), 18 deletions
tchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 133 +
1 file changed, 80 insertions(+), 53 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c
b/tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c
XDP flags are hardcoded to 0 at attachment.
Add flags attributes to the struct prog_configuration to allow flag
modifications for each test case.
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c | 14
e BPF configuration to the test itself.
Split the test description in two parts, first the description of the
network topology, then the description of the test case.
Remove the veth indexes from the ASCII art as dynamic ones are used
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Found
used as an offset in the network configuration table.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests
The network topology is held by the config[] table. This 'config' name
is a bit too generic if we want to add other configuration variables.
Rename config[] to net_config[].
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/
check_ping() directly returns a SYS_NOFAIL without any previous
treatment. It's called only once in the file and hardcodes the used
namespace and ip address.
Replace check_ping() with a direct call of SYS_NOFAIL in the test.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/te
IP_CMD_MAX_LEN and NS_SUFFIX_LEN aren't used anywhere.
Remove these unused defines
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_
Some tests can't be run in parallel because they use same namespace
names or veth names.
Create an helper that appends the thread ID to a given string. 8
characters are used for it (7 digits + '\0')
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testin
ulti.sh
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
Changes in v4:
- Remove the NO_IP #define
- append_tid() takes string's size as input to ensure there is enough
space to fit the thread ID at the end
- Fix PATCH 12's commit log
- Link to v3:
https://lore.kernel.org/r/202
map to select the broadcast flags.
Use a BPF map with an entry per veth to check whether packets are
received or not
Set the tests to run serially to avoid conflicts with
test_xdp_veth_redirect
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
tools/testing/selftests/bpf/Makefile | 2 -
.../selftests/bpf/test_xdp_redirect_multi.sh | 214 ---
tools/testing/selftests/bpf/xdp_redirect_multi.c | 226 -
3 files changed, 442
BPF map.
Use a BPF program that stores the source MAC of received packets in a
map to check the test results.
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 125 +
.../testing/selftests
The XDP redirection is tested without any flag provided to the
xdp_attach() function.
Add two subtests that check the correct behaviour with
XDP_FLAGS_{DRV/SKB}_MODE flags
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests
ed-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/progs/xdp_redirect_multi_kern.c | 41 +++---
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/xdp_redirect_multi_kern.c
b/tools/te
each test.
Set a fixed size to remote_addr field so the struct veth_configuration
can also have a fixed size.
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 52 ++
1 file changed, 34 insertions(+), 18 deletions
tchet (eBPF Foundation)
---
.../selftests/bpf/prog_tests/test_xdp_veth.c | 133 +
1 file changed, 80 insertions(+), 53 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c
b/tools/testing/selftests/bpf/prog_tests/test_xdp_veth.c
The network topology is held by the config[] table. This 'config' name
is a bit too generic if we want to add other configuration variables.
Rename config[] to net_config[].
Acked-by: Stanislav Fomichev
Signed-off-by: Bastien Curutchet (eBPF Foundation)
---
.../selftests/bpf/
1 - 100 of 199 matches
Mail list logo