18c303960SAlexei Starovoitov // SPDX-License-Identifier: GPL-2.0 28c303960SAlexei Starovoitov // Copyright (c) 2019 Facebook 38c303960SAlexei Starovoitov #include <linux/bpf.h> 43e689141SToke Høiland-Jørgensen #include <bpf/bpf_helpers.h> 58c303960SAlexei Starovoitov 68c303960SAlexei Starovoitov char _license[] SEC("license") = "GPL"; 78c303960SAlexei Starovoitov 88c303960SAlexei Starovoitov SEC("socket") while_true(volatile struct __sk_buff * skb)98c303960SAlexei Starovoitovint while_true(volatile struct __sk_buff* skb) 108c303960SAlexei Starovoitov { 118c303960SAlexei Starovoitov int i = 0; 128c303960SAlexei Starovoitov 138c303960SAlexei Starovoitov while (1) { 148c303960SAlexei Starovoitov if (skb->len) 158c303960SAlexei Starovoitov i += 3; 168c303960SAlexei Starovoitov else 178c303960SAlexei Starovoitov i += 7; 188c303960SAlexei Starovoitov if (i == 9) 198c303960SAlexei Starovoitov break; 208c303960SAlexei Starovoitov barrier(); 218c303960SAlexei Starovoitov if (i == 10) 228c303960SAlexei Starovoitov break; 238c303960SAlexei Starovoitov barrier(); 248c303960SAlexei Starovoitov if (i == 13) 258c303960SAlexei Starovoitov break; 268c303960SAlexei Starovoitov barrier(); 278c303960SAlexei Starovoitov if (i == 14) 288c303960SAlexei Starovoitov break; 298c303960SAlexei Starovoitov } 308c303960SAlexei Starovoitov return i; 318c303960SAlexei Starovoitov } 32