brintos

brintos / linux-shallow public Read only

0
0
Text · 875 B · 682e4ff Raw
33 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <test_progs.h>3#include <network_helpers.h>4 5void test_pkt_access(void)6{7	const char *file = "./test_pkt_access.bpf.o";8	struct bpf_object *obj;9	int err, prog_fd;10	LIBBPF_OPTS(bpf_test_run_opts, topts,11		.data_in = &pkt_v4,12		.data_size_in = sizeof(pkt_v4),13		.repeat = 100000,14	);15 16	err = bpf_prog_test_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);17	if (CHECK_FAIL(err))18		return;19 20	err = bpf_prog_test_run_opts(prog_fd, &topts);21	ASSERT_OK(err, "ipv4 test_run_opts err");22	ASSERT_OK(topts.retval, "ipv4 test_run_opts retval");23 24	topts.data_in = &pkt_v6;25	topts.data_size_in = sizeof(pkt_v6);26	topts.data_size_out = 0; /* reset from last call */27	err = bpf_prog_test_run_opts(prog_fd, &topts);28	ASSERT_OK(err, "ipv6 test_run_opts err");29	ASSERT_OK(topts.retval, "ipv6 test_run_opts retval");30 31	bpf_object__close(obj);32}33