Lines Matching refs:sk
130 struct bpf_sock *sk, *sk_ret; in egress_read_sock_fields() local
136 sk = skb->sk; in egress_read_sock_fields()
137 if (!sk) in egress_read_sock_fields()
143 if (sk->family != AF_INET6 || !is_loopback6(sk->src_ip6) || in egress_read_sock_fields()
144 sk->state == BPF_TCP_LISTEN) in egress_read_sock_fields()
147 if (sk->src_port == bpf_ntohs(srv_sa6.sin6_port)) { in egress_read_sock_fields()
151 } else if (sk->dst_port == srv_sa6.sin6_port) { in egress_read_sock_fields()
161 sk = bpf_sk_fullsock(sk); in egress_read_sock_fields()
162 if (!sk) in egress_read_sock_fields()
166 if (sk->protocol != IPPROTO_TCP) in egress_read_sock_fields()
169 tp = bpf_tcp_sock(sk); in egress_read_sock_fields()
173 skcpy(sk_ret, sk); in egress_read_sock_fields()
177 ktp = bpf_skc_to_tcp_sock(sk); in egress_read_sock_fields()
197 pkt_out_cnt = bpf_sk_storage_get(&sk_pkt_out_cnt, sk, in egress_read_sock_fields()
201 sk, &cli_cnt_init, in egress_read_sock_fields()
225 struct bpf_sock *sk; in ingress_read_sock_fields() local
229 sk = skb->sk; in ingress_read_sock_fields()
230 if (!sk) in ingress_read_sock_fields()
234 if (sk->family != AF_INET6 || !is_loopback6(sk->src_ip6) || in ingress_read_sock_fields()
235 sk->src_port != bpf_ntohs(srv_sa6.sin6_port)) in ingress_read_sock_fields()
239 if (sk->state != BPF_TCP_LISTEN) in ingress_read_sock_fields()
243 sk = bpf_sk_fullsock(sk); in ingress_read_sock_fields()
244 if (!sk) in ingress_read_sock_fields()
247 tp = bpf_tcp_sock(sk); in ingress_read_sock_fields()
251 skcpy(&listen_sk, sk); in ingress_read_sock_fields()
263 static __noinline bool sk_dst_port__load_word(struct bpf_sock *sk) in sk_dst_port__load_word() argument
265 __u32 *word = (__u32 *)&sk->dst_port; in sk_dst_port__load_word()
269 static __noinline bool sk_dst_port__load_half(struct bpf_sock *sk) in sk_dst_port__load_half() argument
274 half = (__u16 *)&sk->dst_port; in sk_dst_port__load_half()
278 static __noinline bool sk_dst_port__load_byte(struct bpf_sock *sk) in sk_dst_port__load_byte() argument
280 __u8 *byte = (__u8 *)&sk->dst_port; in sk_dst_port__load_byte()
288 struct bpf_sock *sk; in read_sk_dst_port() local
292 sk = skb->sk; in read_sk_dst_port()
293 if (!sk) in read_sk_dst_port()
297 if (sk->state != BPF_TCP_SYN_SENT) in read_sk_dst_port()
300 if (!sk_dst_port__load_word(sk)) in read_sk_dst_port()
302 if (!sk_dst_port__load_half(sk)) in read_sk_dst_port()
304 if (!sk_dst_port__load_byte(sk)) in read_sk_dst_port()