Lines Matching defs:sock

14 #include <net/sock.h>
56 static bool mptcp_is_tcpsk(struct sock *sk)
58 struct socket *sock = sk->sk_socket;
68 sock->ops = &inet_stream_ops;
72 sock->ops = &inet6_stream_ops;
80 static struct sock *__mptcp_tcp_fallback(struct mptcp_sock *msk)
82 sock_owned_by_me((const struct sock *)msk);
93 struct sock *sk = (struct sock *)msk;
115 static void mptcp_drop(struct sock *sk, struct sk_buff *skb)
121 static bool mptcp_try_coalesce(struct sock *sk, struct sk_buff *to,
147 return mptcp_try_coalesce((struct sock *)msk, to, from);
156 struct sock *sk = (struct sock *)msk;
264 static bool __mptcp_move_skb(struct mptcp_sock *msk, struct sock *ssk,
269 struct sock *sk = (struct sock *)msk;
320 static void mptcp_stop_timer(struct sock *sk)
328 static void mptcp_check_data_fin_ack(struct sock *sk)
363 static bool mptcp_pending_data_fin(struct sock *sk, u64 *seq)
383 static void mptcp_set_timeout(const struct sock *sk, const struct sock *ssk)
393 static void mptcp_check_data_fin(struct sock *sk)
443 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
461 struct sock *ssk,
465 struct sock *sk = (struct sock *)msk;
548 struct sock *sk = (struct sock *)msk;
592 static bool move_skbs_to_msk(struct mptcp_sock *msk, struct sock *ssk)
594 struct sock *sk = (struct sock *)msk;
623 void mptcp_data_ready(struct sock *sk, struct sock *ssk)
670 static bool mptcp_timer_pending(struct sock *sk)
675 static void mptcp_reset_timer(struct sock *sk)
687 void mptcp_data_acked(struct sock *sk)
697 void mptcp_subflow_eof(struct sock *sk)
709 struct sock *sk = (struct sock *)msk;
729 const struct sock *sk = (const struct sock *)msk;
737 static struct sock *mptcp_subflow_recv_lookup(const struct mptcp_sock *msk)
740 struct sock *sk = (struct sock *)msk;
777 static void dfrag_uncharge(struct sock *sk, int len)
783 static void dfrag_clear(struct sock *sk, struct mptcp_data_frag *dfrag)
796 if (!sk_stream_is_writeable((struct sock *)msk))
806 static void mptcp_clean_una(struct sock *sk)
863 static bool mptcp_page_frag_refill(struct sock *sk, struct page_frag *pfrag)
891 static int mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk,
1055 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
1056 struct socket *sock = READ_ONCE(ssk->sk_socket);
1059 if (sock)
1060 set_bit(SOCK_NOSPACE, &sock->flags);
1066 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
1083 struct sock *ssk;
1087 static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk,
1093 struct sock *ssk;
1097 sock_owned_by_me((struct sock *)msk);
1171 static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
1177 struct sock *ssk;
1324 static void mptcp_wait_data(struct sock *sk, long *timeo)
1343 struct sock *sk = (struct sock *)msk;
1384 struct sock *sk = (struct sock *)msk;
1456 struct sock *ssk;
1481 if (((struct sock *)msk)->sk_state == TCP_CLOSE)
1486 struct sock *ssk = mptcp_subflow_recv_lookup(msk);
1497 mptcp_check_data_fin((struct sock *)msk);
1503 static int mptcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
1605 static void mptcp_retransmit_handler(struct sock *sk)
1622 struct sock *sk = &icsk->icsk_inet.sk;
1642 static struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk)
1645 struct sock *backup = NULL;
1647 sock_owned_by_me((const struct sock *)msk);
1653 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
1685 void __mptcp_close_ssk(struct sock *sk, struct sock *ssk,
1689 struct socket *sock = READ_ONCE(ssk->sk_socket);
1693 if (sock && sock != sk->sk_socket) {
1695 sock_release(sock);
1702 static unsigned int mptcp_sync_mss(struct sock *sk, u32 pmtu)
1739 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
1744 __mptcp_close_ssk((struct sock *)msk, ssk, subflow, 0);
1751 struct sock *ssk, *sk = &msk->sk.icsk_inet.sk;
1831 static int __mptcp_init_sock(struct sock *sk)
1855 static int mptcp_init_sock(struct sock *sk)
1881 static void __mptcp_clear_xmit(struct sock *sk)
1892 static void mptcp_cancel_work(struct sock *sk)
1900 void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how)
1945 static int mptcp_close_state(struct sock *sk)
1955 static void mptcp_close(struct sock *sk, long timeout)
1979 struct sock *tcp_sk = mptcp_subflow_tcp_sock(subflow);
2004 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
2015 static void mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk)
2038 static int mptcp_disconnect(struct sock *sk, int flags)
2049 static struct ipv6_pinfo *mptcp_inet6_sk(const struct sock *sk)
2057 struct sock *mptcp_sk_clone(const struct sock *sk,
2062 struct sock *nsk = sk_clone_lock(sk, GFP_ATOMIC);
2104 void mptcp_rcv_space_init(struct mptcp_sock *msk, const struct sock *ssk)
2120 static struct sock *mptcp_accept(struct sock *sk, int flags, int *err,
2125 struct sock *newsk;
2141 struct sock *new_mptcp_sock;
2142 struct sock *ssk = newsk;
2189 static void mptcp_destroy(struct sock *sk)
2203 struct sock *sk = (struct sock *)msk;
2234 struct sock *sk = (struct sock *)msk;
2300 static int mptcp_setsockopt(struct sock *sk, int level, int optname,
2304 struct sock *ssk;
2332 static int mptcp_getsockopt(struct sock *sk, int level, int optname,
2336 struct sock *ssk;
2361 static void mptcp_release_cb(struct sock *sk)
2376 struct sock *ssk;
2389 static int mptcp_hash(struct sock *sk)
2398 static void mptcp_unhash(struct sock *sk)
2403 static int mptcp_get_port(struct sock *sk, unsigned short snum)
2416 void mptcp_finish_connect(struct sock *ssk)
2420 struct sock *sk;
2449 static void mptcp_sock_graft(struct sock *sk, struct socket *parent)
2458 bool mptcp_finish_join(struct sock *sk)
2462 struct sock *parent = (void *)msk;
2501 static bool mptcp_memory_free(const struct sock *sk, int wake)
2537 static int mptcp_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
2539 struct mptcp_sock *msk = mptcp_sk(sock->sk);
2543 lock_sock(sock->sk);
2552 mptcp_copy_inaddrs(sock->sk, ssock->sk);
2555 release_sock(sock->sk);
2566 static int mptcp_stream_connect(struct socket *sock, struct sockaddr *uaddr,
2569 struct mptcp_sock *msk = mptcp_sk(sock->sk);
2574 lock_sock(sock->sk);
2575 if (sock->state != SS_UNCONNECTED && msk->subflow) {
2590 inet_sk_state_store(sock->sk, TCP_SYN_SENT);
2604 sock->state = ssock->state;
2610 mptcp_copy_inaddrs(sock->sk, ssock->sk);
2612 inet_sk_state_store(sock->sk, inet_sk_state_load(ssock->sk));
2615 release_sock(sock->sk);
2619 static int mptcp_listen(struct socket *sock, int backlog)
2621 struct mptcp_sock *msk = mptcp_sk(sock->sk);
2627 lock_sock(sock->sk);
2635 inet_sk_state_store(sock->sk, TCP_LISTEN);
2636 sock_set_flag(sock->sk, SOCK_RCU_FREE);
2639 inet_sk_state_store(sock->sk, inet_sk_state_load(ssock->sk));
2641 mptcp_copy_inaddrs(sock->sk, ssock->sk);
2644 release_sock(sock->sk);
2648 static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
2651 struct mptcp_sock *msk = mptcp_sk(sock->sk);
2657 lock_sock(sock->sk);
2658 if (sock->sk->sk_state != TCP_LISTEN)
2667 release_sock(sock->sk);
2669 err = ssock->ops->accept(sock, newsock, flags, kern);
2679 struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
2692 release_sock(sock->sk);
2702 static __poll_t mptcp_poll(struct file *file, struct socket *sock,
2705 struct sock *sk = sock->sk;
2711 sock_poll_wait(file, sock, wait);
2729 static int mptcp_shutdown(struct socket *sock, int how)
2731 struct mptcp_sock *msk = mptcp_sk(sock->sk);
2737 lock_sock(sock->sk);
2745 if (sock->state == SS_CONNECTING) {
2746 if ((1 << sock->sk->sk_state) &
2748 sock->state = SS_DISCONNECTING;
2750 sock->state = SS_CONNECTED;
2756 inet_sk_state_store(sock->sk, TCP_FIN_WAIT1);
2759 struct sock *tcp_sk = mptcp_subflow_tcp_sock(subflow);
2761 mptcp_subflow_shutdown(sock->sk, tcp_sk, how);
2764 ((1 << sock->sk->sk_state) &
2767 mptcp_close_state(sock->sk)) {
2774 struct sock *tcp_sk = mptcp_subflow_tcp_sock(subflow);
2776 mptcp_subflow_shutdown(sock->sk, tcp_sk, how);
2781 sock->sk->sk_state_change(sock->sk);
2784 release_sock(sock->sk);