Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test PR #8668

Closed
Closed

Test PR #8668

Changes from 1 commit
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
fc3ab17
Merge branch 'selftests-bpf-implement-setting-global-variables-in-ver…
anakryiko Feb 26, 2025
bacac21
bpf/helpers: Refactor bpf_dynptr_read and bpf_dynptr_write
mykyta5 Feb 26, 2025
9d15404
bpf/helpers: Introduce bpf_dynptr_copy kfunc
mykyta5 Feb 26, 2025
8fc1834
selftests/bpf: Add tests for bpf_dynptr_copy
mykyta5 Feb 26, 2025
43d9d43
Merge branch 'introduce-bpf_dynptr_copy-kfunc'
anakryiko Feb 26, 2025
27e3162
selftests/bpf: Allow auto port binding for cgroup connect
mrpre Feb 27, 2025
dbe7d46
selftests/bpf: Allow auto port binding for bpf nf
mrpre Feb 27, 2025
09de329
selftests/bpf: Fixes for test_maps test
mrpre Feb 27, 2025
0ffa016
Merge branch 'optimize-bpf-selftest-to-increase-ci-success-rate'
Feb 27, 2025
78a8a85
bpf: Allow pre-ordering for bpf cgroup progs
Feb 24, 2025
42c5e6d
selftests/bpf: Add selftests allowing cgroup prog pre-ordering
Feb 24, 2025
0aaddfb
locking/local_lock: Introduce localtry_lock_t
Feb 22, 2025
97769a5
mm, bpf: Introduce try_alloc_pages() for opportunistic page allocation
Feb 22, 2025
8c57b68
mm, bpf: Introduce free_pages_nolock()
Feb 22, 2025
01d3722
memcg: Use trylock to access memcg stock_lock.
Feb 22, 2025
e8d78db
mm, bpf: Use memcg in try_alloc_pages().
Feb 22, 2025
c9eb810
bpf: Use try_alloc_pages() to allocate pages for bpf needs.
Feb 22, 2025
93ed6fc
Merge branch 'bpf-mm-introduce-try_alloc_pages'
Feb 27, 2025
e4d68c0
Merge branch 'bpf-next/try_alloc_pages' into bpf-next/master
Feb 27, 2025
0b93631
bpf/selftests: test_select_reuseport_kern: Remove unused header
Tropicao Feb 27, 2025
90d8c89
bpf: Summarize sleepable global subprogs
kkdwivedi Mar 1, 2025
6e2cc60
selftests/bpf: Test sleepable global subprogs in atomic contexts
kkdwivedi Mar 1, 2025
ce9add7
selftests/bpf: Add tests for extending sleepable global subprogs
kkdwivedi Mar 1, 2025
53415f6
Merge branch 'global-subprogs-in-rcu-preempt-irq-disabled-sections'
Mar 2, 2025
17a82ed
bpf: no longer acquire map_idr_lock in bpf_map_inc_not_zero()
Mar 1, 2025
b2d9ef7
bpf: Factor out atomic_ptr_type_ok()
peilin-ye Mar 3, 2025
d430c46
bpf: Factor out check_atomic_rmw()
peilin-ye Mar 3, 2025
d38ad24
bpf: Factor out check_load_mem() and check_store_reg()
peilin-ye Mar 3, 2025
128cd76
veristat: @files-list.txt notation for object files list
eddyz87 Mar 1, 2025
1649753
veristat: Strerror expects positive number (errno)
eddyz87 Mar 1, 2025
b127528
veristat: Report program type guess results to sdterr
eddyz87 Mar 1, 2025
0bf6c8a
Merge branch 'veristat-files-list-txt-notation-for-object-files-list'
anakryiko Mar 3, 2025
6829f3c
selftests/bpf: test_tunnel: Add generic_attach* helpers
bastien-curutchet Mar 3, 2025
7289e59
selftests/bpf: test_tunnel: Add ping helpers
bastien-curutchet Mar 3, 2025
08d20ea
selftests/bpf: test_tunnel: Move gre tunnel test to test_progs
bastien-curutchet Mar 3, 2025
1ea01a8
selftests/bpf: test_tunnel: Move ip6gre tunnel test to test_progs
bastien-curutchet Mar 3, 2025
0ecd1e9
selftests/bpf: test_tunnel: Move erspan tunnel tests to test_progs
bastien-curutchet Mar 3, 2025
cae41f7
selftests/bpf: test_tunnel: Move ip6erspan tunnel test to test_progs
bastien-curutchet Mar 3, 2025
d89542d
selftests/bpf: test_tunnel: Move geneve tunnel test to test_progs
bastien-curutchet Mar 3, 2025
8d86094
selftests/bpf: test_tunnel: Move ip6geneve tunnel test to test_progs
bastien-curutchet Mar 3, 2025
680a752
selftests/bpf: test_tunnel: Move ip6tnl tunnel tests to test_progs
bastien-curutchet Mar 3, 2025
c8d6d78
selftests/bpf: test_tunnel: Remove test_tunnel.sh
bastien-curutchet Mar 3, 2025
a36a835
Merge branch 'selftests-bpf-migrate-test_tunnel-sh-to-test_progs'
Mar 3, 2025
122f1fd
net: filter: Avoid shadowing variable in bpf_convert_ctx_access()
leitao Feb 28, 2025
7218ff1
libbpf: Use map_is_created helper in map setters
mykyta5 Mar 3, 2025
8ca8f6d
libbpf: Introduce more granular state for bpf_object
mykyta5 Mar 3, 2025
da75554
libbpf: Split bpf object load into prepare/load
mykyta5 Mar 3, 2025
68b61a8
selftests/bpf: Add tests for bpf_object__prepare
mykyta5 Mar 3, 2025
7586e21
Merge branch 'introduce-bpf_object__prepare'
anakryiko Mar 3, 2025
13a664f
bpf: Add verifier support for timed may_goto
kkdwivedi Mar 4, 2025
2cb0a52
bpf, x86: Add x86 JIT support for timed may_goto
kkdwivedi Mar 4, 2025
ad55432
Merge branch 'timed-may_goto'
Mar 4, 2025
e24bbad
bpf: Introduce load-acquire and store-release instructions
peilin-ye Mar 4, 2025
4170a60
arm64: insn: Add BIT(23) to {load,store}_ex's mask
peilin-ye Mar 4, 2025
248b190
arm64: insn: Add load-acquire and store-release instructions
peilin-ye Mar 4, 2025
1bfe7f6
bpf, arm64: Support load-acquire and store-release instructions
peilin-ye Mar 4, 2025
14c0427
bpf, x86: Support load-acquire and store-release instructions
peilin-ye Mar 4, 2025
953df09
selftests/bpf: Add selftests for load-acquire and store-release instr…
peilin-ye Mar 4, 2025
c6287f1
Merge branch 'introduce-load-acquire-and-store-release-bpf-instructions'
Mar 4, 2025
1c15257
bpf: jmp_offset() and verbose_insn() utility functions
eddyz87 Mar 4, 2025
0ae958e
bpf: get_call_summary() utility function
eddyz87 Mar 4, 2025
7dad036
bpf: simple DFA-based live registers analysis
eddyz87 Mar 4, 2025
994a876
bpf: use register liveness information for func_states_equal
eddyz87 Mar 4, 2025
8a3fc22
selftests/bpf: test cases for compute_live_registers()
eddyz87 Mar 4, 2025
42ba8a4
Merge branch 'bpf-simple-dfa-based-live-registers-analysis'
Mar 4, 2025
aae1add
bpf: correct use/def for may_goto instruction
eddyz87 Mar 5, 2025
7781fd0
bpf, docs: Fix broken link to renamed bpf_iter_task_vmas.c
Mar 4, 2025
994fd3e
selftests/bpf: Introduce cond_break_label
kkdwivedi Mar 6, 2025
0201027
selftests/bpf: Introduce arena spin lock
kkdwivedi Mar 6, 2025
313149f
selftests/bpf: Add tests for arena spin lock
kkdwivedi Mar 6, 2025
48b3be8
Merge branch 'arena-spin-lock'
Mar 6, 2025
88b1c42
selftests/bpf: Move test_lwt_ip_encap to test_progs
bastien-curutchet Mar 4, 2025
5cb4077
selftests/bpf: Clean up call sites of stdio_restore()
ameryhung Mar 5, 2025
6d54a02
selftests/bpf: Allow assigning traffic monitor print function
ameryhung Mar 5, 2025
15bfc10
selftests/bpf: Fix dangling stdout seen by traffic monitor thread
ameryhung Mar 5, 2025
7e437dc
selftests/bpf: Fix cap_enable_effective() return code
kknjh Mar 5, 2025
359d070
selftests/bpf: lwt_seg6local: Remove unused routes
bastien-curutchet Mar 7, 2025
3fb97a2
selftests/bpf: lwt_seg6local: Move test to test_progs
bastien-curutchet Mar 7, 2025
f282146
Merge branch 'selftests-bpf-move-test_lwt_seg6local-to-test_progs'
Mar 8, 2025
63f99cd
bpf: add kfunc for populating cpumask bits
etsal Mar 9, 2025
3524b15
selftests: bpf: add bpf_cpumask_populate selftests
etsal Mar 9, 2025
d70870e
bpf: fix missing kdoc string fields in cpumask.c
etsal Mar 9, 2025
93ececb
selftests: bpf: fix duplicate selftests in cpumask_success.
etsal Mar 9, 2025
79d93c8
Merge branch 'bpf-introduce-helper-for-populating-bpf_cpumask'
Mar 10, 2025
74f36a9
selftests/bpf: Fix selection of static vs. dynamic LLVM
aspsk Mar 10, 2025
26350a2
mm: Fix the flipped condition in gfpflags_allow_spinning()
tehcaster Mar 10, 2025
bf5af29
selftests/bpf: Convert comma to semicolon
Mar 10, 2025
a8cd035
security: Propagate caller information in bpf hooks
Mar 10, 2025
f563314
selftests/bpf: Add a kernel flag test for LSM bpf hook
Mar 10, 2025
a68894a
Merge branch 'security-propagate-caller-information-in-bpf-hooks'
Mar 11, 2025
a74a2a3
bpf: bpftool: Setting error code in do_loader()
nswon Mar 11, 2025
be741c7
bpf: preload: Add MODULE_DESCRIPTION
arndb Mar 10, 2025
46d38f4
selftests/bpf: Fix arena_spin_lock compilation on PowerPC
kkdwivedi Mar 11, 2025
00d1fd2
bpf: udp: Avoid socket skips during iteration
jrife Mar 10, 2025
dcde5d5
bpf: tcp: Avoid socket skips during iteration
jrife Mar 13, 2025
6a5bdf6
selftests/bpf: Add tests for socket skips and repeats
jrife Mar 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
selftests/bpf: test_tunnel: Move ip6geneve tunnel test to test_progs
ip6geneve tunnels are tested in the test_tunnel.sh but not in the
test_progs framework.

Add a new test in test_progs to test ip6geneve tunnels. It uses the same
network topology and the same BPF programs than the script.
Remove test_ip6geneve() from the script.

Signed-off-by: Bastien Curutchet (eBPF Foundation) <[email protected]>
Signed-off-by: Martin KaFai Lau <[email protected]>
Acked-by: Stanislav Fomichev <[email protected]>
Link: https://patch.msgid.link/[email protected]
bastien-curutchet authored and Martin KaFai Lau committed Mar 3, 2025
commit 8d86094305761b5af77529bc5bc8c3c51ce866db
48 changes: 48 additions & 0 deletions tools/testing/selftests/bpf/prog_tests/test_tunnel.c
Original file line number Diff line number Diff line change
@@ -115,6 +115,9 @@
#define GENEVE_TUNL_DEV0 "geneve00"
#define GENEVE_TUNL_DEV1 "geneve11"

#define IP6GENEVE_TUNL_DEV0 "ip6geneve00"
#define IP6GENEVE_TUNL_DEV1 "ip6geneve11"

#define PING_ARGS "-i 0.01 -c 3 -w 10 -q"

static int config_device(void)
@@ -462,6 +465,22 @@ static int add_geneve_tunnel(const char *dev0, const char *dev1,
return -1;
}

static int add_ip6geneve_tunnel(const char *dev0, const char *dev1,
const char *type, const char *opt)
{
if (!type || !opt || !dev0 || !dev1)
return -1;

SYS(fail, "ip -n at_ns0 link add dev %s type %s id 22 %s remote %s",
dev0, type, opt, IP6_ADDR1_VETH1);

SYS(fail, "ip link add dev %s type %s %s external", dev1, type, opt);

return set_ipv6_addr(dev0, dev1);
fail:
return -1;
}

static int test_ping(int family, const char *addr)
{
SYS(fail, "%s %s %s > /dev/null", ping_command(family), PING_ARGS, addr);
@@ -999,6 +1018,34 @@ static void test_geneve_tunnel(void)
delete_tunnel(GENEVE_TUNL_DEV0, GENEVE_TUNL_DEV1);
test_tunnel_kern__destroy(skel);
}

static void test_ip6geneve_tunnel(void)
{
struct test_tunnel_kern *skel;
int set_fd, get_fd;
int err;

skel = test_tunnel_kern__open_and_load();
if (!ASSERT_OK_PTR(skel, "test_tunnel_kern__open_and_load"))
return;

err = add_ip6geneve_tunnel(IP6GENEVE_TUNL_DEV0, IP6GENEVE_TUNL_DEV1,
"geneve", "");
if (!ASSERT_OK(err, "add tunnel"))
goto done;

set_fd = bpf_program__fd(skel->progs.ip6geneve_set_tunnel);
get_fd = bpf_program__fd(skel->progs.ip6geneve_get_tunnel);
if (generic_attach(IP6GENEVE_TUNL_DEV1, get_fd, set_fd))
goto done;

ping_dev0();
ping_dev1();
done:
delete_tunnel(IP6GENEVE_TUNL_DEV0, IP6GENEVE_TUNL_DEV1);
test_tunnel_kern__destroy(skel);
}

#define RUN_TEST(name, ...) \
({ \
if (test__start_subtest(#name)) { \
@@ -1027,6 +1074,7 @@ static void *test_tunnel_run_tests(void *arg)
RUN_TEST(ip6erspan_tunnel, V1);
RUN_TEST(ip6erspan_tunnel, V2);
RUN_TEST(geneve_tunnel);
RUN_TEST(ip6geneve_tunnel);

return NULL;
}
49 changes: 0 additions & 49 deletions tools/testing/selftests/bpf/test_tunnel.sh
Original file line number Diff line number Diff line change
@@ -64,26 +64,6 @@ config_device()
ip addr add dev veth1 172.16.1.200/24
}

add_ip6geneve_tunnel()
{
ip netns exec at_ns0 ip addr add ::11/96 dev veth0
ip netns exec at_ns0 ip link set dev veth0 up
ip addr add dev veth1 ::22/96
ip link set dev veth1 up

# at_ns0 namespace
ip netns exec at_ns0 \
ip link add dev $DEV_NS type $TYPE id 22 \
remote ::22 # geneve has no local option
ip netns exec at_ns0 ip addr add dev $DEV_NS 10.1.1.100/24
ip netns exec at_ns0 ip link set dev $DEV_NS up

# root namespace
ip link add dev $DEV type $TYPE external
ip addr add dev $DEV 10.1.1.200/24
ip link set dev $DEV up
}

add_ipip_tunnel()
{
# at_ns0 namespace
@@ -121,30 +101,6 @@ add_ip6tnl_tunnel()
ip link set dev $DEV up
}

test_ip6geneve()
{
TYPE=geneve
DEV_NS=ip6geneve00
DEV=ip6geneve11
ret=0

check $TYPE
config_device
add_ip6geneve_tunnel
attach_bpf $DEV ip6geneve_set_tunnel ip6geneve_get_tunnel
ping $PING_ARG 10.1.1.100
check_err $?
ip netns exec at_ns0 ping $PING_ARG 10.1.1.200
check_err $?
cleanup

if [ $ret -ne 0 ]; then
echo -e ${RED}"FAIL: ip6$TYPE"${NC}
return 1
fi
echo -e ${GREEN}"PASS: ip6$TYPE"${NC}
}

test_ipip()
{
TYPE=ipip
@@ -247,7 +203,6 @@ cleanup()
ip link del ipip11 2> /dev/null
ip link del ipip6tnl11 2> /dev/null
ip link del ip6ip6tnl11 2> /dev/null
ip link del ip6geneve11 2> /dev/null
}

cleanup_exit()
@@ -283,10 +238,6 @@ bpf_tunnel_test()
{
local errors=0

echo "Testing IP6GENEVE tunnel..."
test_ip6geneve
errors=$(( $errors + $? ))

echo "Testing IPIP tunnel..."
test_ipip
errors=$(( $errors + $? ))