Lines Matching refs:sock
31 struct sock *sock;
39 sock = rcu_dereference_bh(wg->sock4);
41 if (unlikely(!sock)) {
46 fl.fl4_sport = inet_sk(sock)->inet_sport;
52 security_sk_classify_flow(sock, flowi4_to_flowi_common(&fl));
53 if (unlikely(!inet_confirm_addr(sock_net(sock), NULL, 0,
61 rt = ip_route_output_flow(sock_net(sock), &fl, sock);
72 rt = ip_route_output_flow(sock_net(sock), &fl, sock);
85 udp_tunnel_xmit_skb(rt, sock, skb, fl.saddr, fl.daddr, ds,
111 struct sock *sock;
119 sock = rcu_dereference_bh(wg->sock6);
121 if (unlikely(!sock)) {
126 fl.fl6_sport = inet_sk(sock)->inet_sport;
132 security_sk_classify_flow(sock, flowi6_to_flowi_common(&fl));
134 !ipv6_chk_addr(sock_net(sock), &fl.saddr, NULL, 0))) {
139 dst = ipv6_stub->ipv6_dst_lookup_flow(sock_net(sock), sock, &fl,
152 udp_tunnel6_xmit_skb(dst, sock, skb, skb->dev, &fl.saddr, &fl.daddr, ds,
316 static int wg_receive(struct sock *sk, struct sk_buff *skb)
334 static void sock_free(struct sock *sock)
336 if (unlikely(!sock))
338 sk_clear_memalloc(sock);
339 udp_tunnel_sock_release(sock->sk_socket);
342 static void set_sock_opts(struct socket *sock)
344 sock->sk->sk_allocation = GFP_ATOMIC;
345 sock->sk->sk_sndbuf = INT_MAX;
346 sk_set_memalloc(sock->sk);
419 void wg_socket_reinit(struct wg_device *wg, struct sock *new4,
420 struct sock *new6)
422 struct sock *old4, *old6;