Commit c1bb6865 authored by Yonghong Song's avatar Yonghong Song Committed by Andrii Nakryiko
Browse files

selftests/bpf: Move some tc_helpers.h functions to test_progs.h



Move static inline functions id_from_prog_fd() and id_from_link_fd()
from prog_tests/tc_helpers.h to test_progs.h so these two functions
can be reused for later cgroup mprog selftests.

Signed-off-by: default avatarYonghong Song <yonghong.song@linux.dev>
Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20250606163151.2429325-1-yonghong.song@linux.dev
parent 1d671166
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
@@ -8,34 +8,6 @@
# define loopback 1
#endif

static inline __u32 id_from_prog_fd(int fd)
{
	struct bpf_prog_info prog_info = {};
	__u32 prog_info_len = sizeof(prog_info);
	int err;

	err = bpf_obj_get_info_by_fd(fd, &prog_info, &prog_info_len);
	if (!ASSERT_OK(err, "id_from_prog_fd"))
		return 0;

	ASSERT_NEQ(prog_info.id, 0, "prog_info.id");
	return prog_info.id;
}

static inline __u32 id_from_link_fd(int fd)
{
	struct bpf_link_info link_info = {};
	__u32 link_info_len = sizeof(link_info);
	int err;

	err = bpf_link_get_info_by_fd(fd, &link_info, &link_info_len);
	if (!ASSERT_OK(err, "id_from_link_fd"))
		return 0;

	ASSERT_NEQ(link_info.id, 0, "link_info.id");
	return link_info.id;
}

static inline __u32 ifindex_from_link_fd(int fd)
{
	struct bpf_link_info link_info = {};
+28 −0
Original line number Diff line number Diff line
@@ -460,6 +460,34 @@ static inline void *u64_to_ptr(__u64 ptr)
	return (void *) (unsigned long) ptr;
}

static inline __u32 id_from_prog_fd(int fd)
{
	struct bpf_prog_info prog_info = {};
	__u32 prog_info_len = sizeof(prog_info);
	int err;

	err = bpf_obj_get_info_by_fd(fd, &prog_info, &prog_info_len);
	if (!ASSERT_OK(err, "id_from_prog_fd"))
		return 0;

	ASSERT_NEQ(prog_info.id, 0, "prog_info.id");
	return prog_info.id;
}

static inline __u32 id_from_link_fd(int fd)
{
	struct bpf_link_info link_info = {};
	__u32 link_info_len = sizeof(link_info);
	int err;

	err = bpf_link_get_info_by_fd(fd, &link_info, &link_info_len);
	if (!ASSERT_OK(err, "id_from_link_fd"))
		return 0;

	ASSERT_NEQ(link_info.id, 0, "link_info.id");
	return link_info.id;
}

int bpf_find_map(const char *test, struct bpf_object *obj, const char *name);
int compare_map_keys(int map1_fd, int map2_fd);
int compare_stack_ips(int smap_fd, int amap_fd, int stack_trace_len);