1a78d0dbeSAlexei Starovoitov // SPDX-License-Identifier: GPL-2.0 2a78d0dbeSAlexei Starovoitov // Copyright (c) 2019 Facebook 3a78d0dbeSAlexei Starovoitov #include <linux/bpf.h> 43e689141SToke Høiland-Jørgensen #include <bpf/bpf_helpers.h> 5a78d0dbeSAlexei Starovoitov 6a78d0dbeSAlexei Starovoitov char _license[] SEC("license") = "GPL"; 7a78d0dbeSAlexei Starovoitov 8a78d0dbeSAlexei Starovoitov SEC("socket") combinations(volatile struct __sk_buff * skb)9a78d0dbeSAlexei Starovoitovint combinations(volatile struct __sk_buff* skb) 10a78d0dbeSAlexei Starovoitov { 11a78d0dbeSAlexei Starovoitov int ret = 0, i; 12a78d0dbeSAlexei Starovoitov 13a78d0dbeSAlexei Starovoitov #pragma nounroll 14a78d0dbeSAlexei Starovoitov for (i = 0; i < 20; i++) 15a78d0dbeSAlexei Starovoitov if (skb->len) 16a78d0dbeSAlexei Starovoitov ret |= 1 << i; 17a78d0dbeSAlexei Starovoitov return ret; 18a78d0dbeSAlexei Starovoitov } 19