Linux Audio

Check our new training course

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