Linux Audio

Check our new training course

Loading...
v5.4
 1// SPDX-License-Identifier: GPL-2.0
 2
 3#include <linux/bpf.h>
 4#include "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
20	return 0;
21}
v6.2
 1// SPDX-License-Identifier: GPL-2.0
 2
 3#include <linux/bpf.h>
 4#include <bpf/bpf_helpers.h>
 5
 
 6char _license[] SEC("license") = "GPL";
 7
 8SEC("tc")
 9int process(struct __sk_buff *skb)
10{
11	#pragma clang loop unroll(full)
12	for (int i = 0; i < 5; i++) {
13		if (skb->cb[i] != i + 1)
14			return 1;
15		skb->cb[i]++;
16	}
17	skb->priority++;
18	skb->tstamp++;
19	skb->mark++;
20
21	if (skb->wire_len != 100)
22		return 1;
23	if (skb->gso_segs != 8)
24		return 1;
25	if (skb->gso_size != 10)
26		return 1;
27	if (skb->ingress_ifindex != 11)
28		return 1;
29	if (skb->ifindex != 1)
30		return 1;
31	if (skb->hwtstamp != 11)
32		return 1;
33
34	return 0;
35}