Skip to content

Commit

Permalink
Revert "bpf local list 2"
Browse files Browse the repository at this point in the history
This reverts commit fff5c9c.
  • Loading branch information
Geliang Tang committed Jan 17, 2025
1 parent fff5c9c commit 9c6adec
Show file tree
Hide file tree
Showing 4 changed files with 173 additions and 162 deletions.
9 changes: 0 additions & 9 deletions net/mptcp/bpf.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,9 @@ static int bpf_mptcp_pm_btf_struct_access(struct bpf_verifier_log *log,
case offsetof(struct mptcp_pm_addr_entry, addr.port):
end = offsetofend(struct mptcp_pm_addr_entry, addr.port);
break;
case offsetof(struct mptcp_pm_addr_entry, addr.addr.s_addr):
end = offsetofend(struct mptcp_pm_addr_entry, addr.addr.s_addr);
break;
case offsetof(struct mptcp_pm_addr_entry, flags):
end = offsetofend(struct mptcp_pm_addr_entry, flags);
break;
case offsetof(struct mptcp_pm_addr_entry, ifindex):
end = offsetofend(struct mptcp_pm_addr_entry, ifindex);
break;
default:
bpf_log(log, "no write support to mptcp_pm_addr_entry at off %d\n",
off);
Expand All @@ -100,9 +94,6 @@ static int bpf_mptcp_pm_btf_struct_access(struct bpf_verifier_log *log,
case offsetof(struct mptcp_addr_info, port):
end = offsetofend(struct mptcp_addr_info, port);
break;
case offsetof(struct mptcp_addr_info, addr.s_addr):
end = offsetofend(struct mptcp_addr_info, addr.s_addr);
break;
default:
bpf_log(log, "no write support to mptcp_addr_info at off %d\n",
off);
Expand Down
2 changes: 1 addition & 1 deletion tools/testing/selftests/bpf/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ srctree := $(patsubst %/,%,$(dir $(srctree)))
endif

CFLAGS += -g $(OPT_FLAGS) -rdynamic \
-Werror -fno-omit-frame-pointer \
-Wall -Werror -fno-omit-frame-pointer \
$(GENFLAGS) $(SAN_CFLAGS) $(LIBELF_CFLAGS) \
-I$(CURDIR) -I$(INCLUDE_DIR) -I$(GENDIR) -I$(LIBDIR) \
-I$(TOOLSINCDIR) -I$(TOOLSARCHINCDIR) -I$(APIDIR) -I$(OUTPUT)
Expand Down
115 changes: 54 additions & 61 deletions tools/testing/selftests/bpf/prog_tests/mptcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -960,41 +960,36 @@ static void run_userspace_pm(enum mptcp_pm_family family)
send_byte(accept_fd);
recv_byte(client_fd);

// sprintf(expect, "id 100 flags subflow %s\n", addr);
// err = userspace_pm_get_addr(token, 100, output);
// if (!ASSERT_OK(err, "userspace_pm_get_addr 100") ||
// !ASSERT_STRNEQ(output, expect, sizeof(expect), "get_addr"))
// goto close_accept;

// err = userspace_pm_set_flags(token, addr, "backup");
// if (!ASSERT_OK(err, "userspace_pm_set_flags backup"))
// goto close_accept;

// send_byte(client_fd);
// recv_byte(accept_fd);

// sprintf(expect, "id 100 flags subflow,backup %s\n", addr);
// err = userspace_pm_get_addr(token, 100, output);
// if (!ASSERT_OK(err, "userspace_pm_get_addr 100") ||
// !ASSERT_STRNEQ(output, expect, sizeof(expect), "get_addr"))
// goto close_accept;

// err = userspace_pm_set_flags_by_id(token, 100, "nobackup");
// if (!ASSERT_OK(err, "userspace_pm_set_flags_by_id nobackup"))
// goto close_accept;

// send_byte(accept_fd);
// recv_byte(client_fd);

// sprintf(expect, "id 100 flags subflow %s\n", addr);
// err = userspace_pm_get_addr(token, 100, output);
// if (!ASSERT_OK(err, "userspace_pm_get_addr 100") ||
// !ASSERT_STRNEQ(output, expect, sizeof(expect), "get_addr"))
// goto close_accept;
sprintf(expect, "id 100 flags subflow %s\n", addr);
err = userspace_pm_get_addr(token, 100, output);
if (!ASSERT_OK(err, "userspace_pm_get_addr 100") ||
!ASSERT_STRNEQ(output, expect, sizeof(expect), "get_addr"))
goto close_accept;

err = userspace_pm_dump_addr(token, output);
if (!ASSERT_OK(err, "userspace_pm_dump_addr") ||
!ASSERT_STRNEQ(output, "", sizeof(output), "dump_addr"))
err = userspace_pm_set_flags(token, addr, "backup");
if (!ASSERT_OK(err, "userspace_pm_set_flags backup"))
goto close_accept;

send_byte(client_fd);
recv_byte(accept_fd);

sprintf(expect, "id 100 flags subflow,backup %s\n", addr);
err = userspace_pm_get_addr(token, 100, output);
if (!ASSERT_OK(err, "userspace_pm_get_addr 100") ||
!ASSERT_STRNEQ(output, expect, sizeof(expect), "get_addr"))
goto close_accept;

err = userspace_pm_set_flags_by_id(token, 100, "nobackup");
if (!ASSERT_OK(err, "userspace_pm_set_flags_by_id nobackup"))
goto close_accept;

send_byte(accept_fd);
recv_byte(client_fd);

sprintf(expect, "id 100 flags subflow %s\n", addr);
err = userspace_pm_get_addr(token, 100, output);
if (!ASSERT_OK(err, "userspace_pm_get_addr 100") ||
!ASSERT_STRNEQ(output, expect, sizeof(expect), "get_addr"))
goto close_accept;

err = userspace_pm_rm_subflow(token, addr, 100);
Expand All @@ -1009,29 +1004,29 @@ static void run_userspace_pm(enum mptcp_pm_family family)
!ASSERT_STRNEQ(output, "", sizeof(output), "dump_addr"))
goto close_accept;

// addr = ipv6 ? (ipv4mapped ? "::ffff:"ADDR_3 : ADDR6_3) : ADDR_3;
// err = userspace_pm_add_addr(token, addr, 200);
// if (!ASSERT_OK(err, "userspace_pm_add_addr 200"))
// goto close_accept;
addr = ipv6 ? (ipv4mapped ? "::ffff:"ADDR_3 : ADDR6_3) : ADDR_3;
err = userspace_pm_add_addr(token, addr, 200);
if (!ASSERT_OK(err, "userspace_pm_add_addr 200"))
goto close_accept;

// send_byte(accept_fd);
// recv_byte(client_fd);
send_byte(accept_fd);
recv_byte(client_fd);

// sprintf(expect, "id 200 flags signal %s\n", addr);
// err = userspace_pm_dump_addr(token, output);
// if (!ASSERT_OK(err, "userspace_pm_dump_addr") ||
// !ASSERT_STRNEQ(output, expect, sizeof(expect), "dump_addr"))
// goto close_accept;
sprintf(expect, "id 200 flags signal %s\n", addr);
err = userspace_pm_dump_addr(token, output);
if (!ASSERT_OK(err, "userspace_pm_dump_addr") ||
!ASSERT_STRNEQ(output, expect, sizeof(expect), "dump_addr"))
goto close_accept;

// err = userspace_pm_rm_addr(token, 200);
// if (!ASSERT_OK(err, "userspace_pm_rm_addr 200"))
// goto close_accept;
err = userspace_pm_rm_addr(token, 200);
if (!ASSERT_OK(err, "userspace_pm_rm_addr 200"))
goto close_accept;

send_byte(client_fd);
recv_byte(accept_fd);

// err = userspace_pm_rm_addr(token, 0);
// ASSERT_OK(err, "userspace_pm_rm_addr 0");
err = userspace_pm_rm_addr(token, 0);
ASSERT_OK(err, "userspace_pm_rm_addr 0");

close_accept:
close(accept_fd);
Expand Down Expand Up @@ -1071,16 +1066,16 @@ static void test_bpf_path_manager(void)
if (!ASSERT_OK_PTR(skel, "open: userspace_pm"))
return;

//err = bpf_program__set_flags(skel->progs.mptcp_pm_address_announce,
// BPF_F_SLEEPABLE);
//err = err ?: bpf_program__set_flags(skel->progs.mptcp_pm_address_remove,
// BPF_F_SLEEPABLE);
err = bpf_program__set_flags(skel->progs.mptcp_pm_subflow_create,
err = bpf_program__set_flags(skel->progs.mptcp_pm_address_announce,
BPF_F_SLEEPABLE);
err = err ?: bpf_program__set_flags(skel->progs.mptcp_pm_address_remove,
BPF_F_SLEEPABLE);
err = err ?: bpf_program__set_flags(skel->progs.mptcp_pm_subflow_create,
BPF_F_SLEEPABLE);
err = err ?: bpf_program__set_flags(skel->progs.mptcp_pm_subflow_destroy,
BPF_F_SLEEPABLE);
//err = err ?: bpf_program__set_flags(skel->progs.mptcp_pm_set_flags,
// BPF_F_SLEEPABLE);
err = err ?: bpf_program__set_flags(skel->progs.mptcp_pm_set_flags,
BPF_F_SLEEPABLE);
if (!ASSERT_OK(err, "set sleepable flags"))
goto skel_destroy;

Expand All @@ -1099,7 +1094,7 @@ static void test_bpf_path_manager(void)
if (!ASSERT_OK(err, "userspace_pm_init: bpf pm"))
goto close_netns;

run_userspace_pm(IPV4MAPPED);
run_userspace_pm(skel->kconfig->CONFIG_MPTCP_IPV6 ? IPV6 : IPV4);

userspace_pm_cleanup();
close_netns:
Expand Down Expand Up @@ -1571,9 +1566,9 @@ static void test_stale(void)

void test_mptcp(void)
{
#if 0
if (test__start_subtest("connect"))
test_connect();
#if 1
if (test__start_subtest("base"))
test_base();
if (test__start_subtest("mptcpify"))
Expand All @@ -1586,10 +1581,8 @@ void test_mptcp(void)
test_iters_address();
if (test__start_subtest("userspace_pm"))
test_userspace_pm();
#endif
if (test__start_subtest("bpf_path_manager"))
test_bpf_path_manager();
#if 0
if (test__start_subtest("sockopt"))
test_sockopt();
if (test__start_subtest("default"))
Expand Down
Loading

0 comments on commit 9c6adec

Please sign in to comment.