Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 
0003 #include <linux/bpf.h>
0004 #include <bpf/bpf_helpers.h>
0005 
0006 char _license[] SEC("license") = "GPL";
0007 
0008 SEC("tc")
0009 int process(struct __sk_buff *skb)
0010 {
0011     #pragma clang loop unroll(full)
0012     for (int i = 0; i < 5; i++) {
0013         if (skb->cb[i] != i + 1)
0014             return 1;
0015         skb->cb[i]++;
0016     }
0017     skb->priority++;
0018     skb->tstamp++;
0019     skb->mark++;
0020 
0021     if (skb->wire_len != 100)
0022         return 1;
0023     if (skb->gso_segs != 8)
0024         return 1;
0025     if (skb->gso_size != 10)
0026         return 1;
0027     if (skb->ingress_ifindex != 11)
0028         return 1;
0029     if (skb->ifindex != 1)
0030         return 1;
0031     if (skb->hwtstamp != 11)
0032         return 1;
0033 
0034     return 0;
0035 }