0001
0002 #include <test_progs.h>
0003
0004 void test_xdp_perf(void)
0005 {
0006 const char *file = "./xdp_dummy.o";
0007 struct bpf_object *obj;
0008 char in[128], out[128];
0009 int err, prog_fd;
0010 LIBBPF_OPTS(bpf_test_run_opts, topts,
0011 .data_in = in,
0012 .data_size_in = sizeof(in),
0013 .data_out = out,
0014 .data_size_out = sizeof(out),
0015 .repeat = 1000000,
0016 );
0017
0018 err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
0019 if (CHECK_FAIL(err))
0020 return;
0021
0022 err = bpf_prog_test_run_opts(prog_fd, &topts);
0023 ASSERT_OK(err, "test_run");
0024 ASSERT_EQ(topts.retval, XDP_PASS, "test_run retval");
0025 ASSERT_EQ(topts.data_size_out, 128, "test_run data_size_out");
0026
0027 bpf_object__close(obj);
0028 }