reuse_kern 8685 net/core/filter.c static void bpf_init_reuseport_kern(struct sk_reuseport_kern *reuse_kern, reuse_kern 8690 net/core/filter.c reuse_kern->skb = skb; reuse_kern 8691 net/core/filter.c reuse_kern->sk = sk; reuse_kern 8692 net/core/filter.c reuse_kern->selected_sk = NULL; reuse_kern 8693 net/core/filter.c reuse_kern->data_end = skb->data + skb_headlen(skb); reuse_kern 8694 net/core/filter.c reuse_kern->hash = hash; reuse_kern 8695 net/core/filter.c reuse_kern->reuseport_id = reuse->reuseport_id; reuse_kern 8696 net/core/filter.c reuse_kern->bind_inany = reuse->bind_inany; reuse_kern 8703 net/core/filter.c struct sk_reuseport_kern reuse_kern; reuse_kern 8706 net/core/filter.c bpf_init_reuseport_kern(&reuse_kern, reuse, sk, skb, hash); reuse_kern 8707 net/core/filter.c action = BPF_PROG_RUN(prog, &reuse_kern); reuse_kern 8710 net/core/filter.c return reuse_kern.selected_sk; reuse_kern 8715 net/core/filter.c BPF_CALL_4(sk_select_reuseport, struct sk_reuseport_kern *, reuse_kern, reuse_kern 8733 net/core/filter.c if (unlikely(reuse->reuseport_id != reuse_kern->reuseport_id)) { reuse_kern 8736 net/core/filter.c if (unlikely(!reuse_kern->reuseport_id)) reuse_kern 8745 net/core/filter.c sk = reuse_kern->sk; reuse_kern 8755 net/core/filter.c reuse_kern->selected_sk = selected_sk; reuse_kern 8771 net/core/filter.c const struct sk_reuseport_kern *, reuse_kern, u32, offset, reuse_kern 8774 net/core/filter.c return ____bpf_skb_load_bytes(reuse_kern->skb, offset, to, len); reuse_kern 8788 net/core/filter.c const struct sk_reuseport_kern *, reuse_kern, u32, offset, reuse_kern 8791 net/core/filter.c return ____bpf_skb_load_bytes_relative(reuse_kern->skb, offset, to,