1
2
3#include <linux/bpf.h>
4#include <bpf/bpf_helpers.h>
5
6int _version SEC("version") = 1;
7char _license[] SEC("license") = "GPL";
8
9SEC("skb_ctx")
10int process(struct __sk_buff *skb)
11{
12 #pragma clang loop unroll(full)
13 for (int i = 0; i < 5; i++) {
14 if (skb->cb[i] != i + 1)
15 return 1;
16 skb->cb[i]++;
17 }
18 skb->priority++;
19 skb->tstamp++;
20 skb->mark++;
21
22 if (skb->wire_len != 100)
23 return 1;
24 if (skb->gso_segs != 8)
25 return 1;
26 if (skb->gso_size != 10)
27 return 1;
28
29 return 0;
30}
31