Lines Matching refs:sk

83 	struct sock *sk;  member
86 static bool sk_is_tcp(struct sock *sk) in sk_is_tcp() argument
88 return (sk->__sk_common.skc_family == AF_INET || in sk_is_tcp()
89 sk->__sk_common.skc_family == AF_INET6) && in sk_is_tcp()
90 sk->sk_type == SOCK_STREAM && in sk_is_tcp()
91 sk->sk_protocol == IPPROTO_TCP; in sk_is_tcp()
94 static int bpf_test_sockopt_flip(void *ctx, struct sock *sk, in bpf_test_sockopt_flip() argument
102 if (opt == SO_TXREHASH && !sk_is_tcp(sk)) in bpf_test_sockopt_flip()
124 static int bpf_test_sockopt_int(void *ctx, struct sock *sk, in bpf_test_sockopt_int() argument
132 if (sk->sk_type == SOCK_STREAM && t->tcp_expected) in bpf_test_sockopt_int()
167 return bpf_test_sockopt_flip(lc->ctx, lc->sk, t, SOL_SOCKET); in bpf_test_socket_sockopt()
169 return bpf_test_sockopt_int(lc->ctx, lc->sk, t, SOL_SOCKET); in bpf_test_socket_sockopt()
184 return bpf_test_sockopt_flip(lc->ctx, lc->sk, t, IPPROTO_IP); in bpf_test_ip_sockopt()
186 return bpf_test_sockopt_int(lc->ctx, lc->sk, t, IPPROTO_IP); in bpf_test_ip_sockopt()
201 return bpf_test_sockopt_flip(lc->ctx, lc->sk, t, IPPROTO_IPV6); in bpf_test_ipv6_sockopt()
203 return bpf_test_sockopt_int(lc->ctx, lc->sk, t, IPPROTO_IPV6); in bpf_test_ipv6_sockopt()
209 struct sock *sk; in bpf_test_tcp_sockopt() local
220 sk = lc->sk; in bpf_test_tcp_sockopt()
252 return bpf_test_sockopt_flip(ctx, sk, t, IPPROTO_TCP); in bpf_test_tcp_sockopt()
254 return bpf_test_sockopt_int(ctx, sk, t, IPPROTO_TCP); in bpf_test_tcp_sockopt()
257 static int bpf_test_sockopt(void *ctx, struct sock *sk) in bpf_test_sockopt() argument
259 struct loop_ctx lc = { .ctx = ctx, .sk = sk, }; in bpf_test_sockopt()
263 family = sk->sk_family; in bpf_test_sockopt()
264 proto = sk->sk_protocol; in bpf_test_sockopt()
329 static int test_tcp_maxseg(void *ctx, struct sock *sk) in test_tcp_maxseg() argument
333 if (sk->sk_state != TCP_ESTABLISHED) in test_tcp_maxseg()
344 static int test_tcp_saved_syn(void *ctx, struct sock *sk) in test_tcp_saved_syn() argument
349 if (sk->sk_state == TCP_LISTEN) in test_tcp_saved_syn()
361 struct sock *sk = sock->sk; in BPF_PROG() local
363 if (!sk) in BPF_PROG()
366 nr_socket_post_create += !bpf_test_sockopt(sk, sk); in BPF_PROG()
367 nr_binddev += !binddev_test(sk); in BPF_PROG()
375 struct bpf_sock *sk = ctx->sk; in _getsockopt() local
379 if (!sk || ctx->level != SOL_TCP || ctx->optname != TCP_BPF_SOCK_OPS_CB_FLAGS) in _getsockopt()
382 tp = bpf_core_cast(sk, struct tcp_sock); in _getsockopt()
393 struct bpf_sock *bpf_sk = skops->sk; in skops_sockopt()
394 struct sock *sk; in skops_sockopt() local
400 sk = (struct sock *)bpf_skc_to_tcp_sock(bpf_sk); in skops_sockopt()
401 if (!sk) in skops_sockopt()
406 nr_listen += !(bpf_test_sockopt(skops, sk) || in skops_sockopt()
407 test_tcp_maxseg(skops, sk) || in skops_sockopt()
408 test_tcp_saved_syn(skops, sk)); in skops_sockopt()
411 nr_connect += !(bpf_test_sockopt(skops, sk) || in skops_sockopt()
412 test_tcp_maxseg(skops, sk)); in skops_sockopt()
415 nr_active += !(bpf_test_sockopt(skops, sk) || in skops_sockopt()
416 test_tcp_maxseg(skops, sk)); in skops_sockopt()
419 nr_passive += !(bpf_test_sockopt(skops, sk) || in skops_sockopt()
420 test_tcp_maxseg(skops, sk) || in skops_sockopt()
421 test_tcp_saved_syn(skops, sk)); in skops_sockopt()
427 nr_fin_wait1 += !bpf_test_sockopt(skops, sk); in skops_sockopt()