Merge tag 'v5.8-rc1' into regulator-5.8
[linux-2.6-microblaze.git] / tools / testing / selftests / bpf / prog_tests / skb_helpers.c
1 // SPDX-License-Identifier: GPL-2.0
2 #include <test_progs.h>
3 #include <network_helpers.h>
4
5 void test_skb_helpers(void)
6 {
7         struct __sk_buff skb = {
8                 .wire_len = 100,
9                 .gso_segs = 8,
10                 .gso_size = 10,
11         };
12         struct bpf_prog_test_run_attr tattr = {
13                 .data_in = &pkt_v4,
14                 .data_size_in = sizeof(pkt_v4),
15                 .ctx_in = &skb,
16                 .ctx_size_in = sizeof(skb),
17                 .ctx_out = &skb,
18                 .ctx_size_out = sizeof(skb),
19         };
20         struct bpf_object *obj;
21         int err;
22
23         err = bpf_prog_load("./test_skb_helpers.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
24                             &tattr.prog_fd);
25         if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno))
26                 return;
27         err = bpf_prog_test_run_xattr(&tattr);
28         CHECK_ATTR(err, "len", "err %d errno %d\n", err, errno);
29         bpf_object__close(obj);
30 }