Lines Matching refs:sock

219 static inline struct rpc_xprt *xprt_from_sock(struct sock *sk)  in xprt_from_sock()
326 static int xs_send_kvec(struct socket *sock, struct sockaddr *addr, int addrlen, struct kvec *vec, … in xs_send_kvec() argument
339 return kernel_sendmsg(sock, &msg, &iov, 1, iov.iov_len); in xs_send_kvec()
340 return kernel_sendmsg(sock, &msg, NULL, 0, 0); in xs_send_kvec()
343 static int xs_send_pagedata(struct socket *sock, struct xdr_buf *xdr, unsigned int base, int more, … in xs_send_pagedata() argument
345 ssize_t (*do_sendpage)(struct socket *sock, struct page *page, in xs_send_pagedata()
355 do_sendpage = sock->ops->sendpage; in xs_send_pagedata()
367 err = do_sendpage(sock, *ppage, base, len, flags); in xs_send_pagedata()
392 static int xs_sendpages(struct socket *sock, struct sockaddr *addr, int addrlen, struct xdr_buf *xd… in xs_sendpages() argument
398 if (unlikely(!sock)) in xs_sendpages()
409 err = xs_send_kvec(sock, addr, addrlen, &xdr->head[0], base, remainder != 0); in xs_sendpages()
420 err = xs_send_pagedata(sock, xdr, base, remainder != 0, zerocopy, &sent); in xs_sendpages()
430 err = xs_send_kvec(sock, NULL, 0, &xdr->tail[0], base, 0); in xs_sendpages()
456 struct sock *sk = transport->inet; in xs_nospace()
517 status = xs_sendpages(transport->sock, NULL, 0, xdr, req->rq_bytes_sent, in xs_local_send_request()
578 status = xs_sendpages(transport->sock, xs_addr(xprt), xprt->addrlen, in xs_udp_send_request()
665 status = xs_sendpages(transport->sock, NULL, 0, xdr, in xs_tcp_send_request()
742 static void xs_save_old_callbacks(struct sock_xprt *transport, struct sock *sk) in xs_save_old_callbacks()
750 static void xs_restore_old_callbacks(struct sock_xprt *transport, struct sock *sk) in xs_restore_old_callbacks()
780 static void xs_error_report(struct sock *sk) in xs_error_report()
805 struct socket *sock = transport->sock; in xs_reset_transport() local
806 struct sock *sk = transport->inet; in xs_reset_transport()
815 kernel_sock_shutdown(sock, SHUT_RDWR); in xs_reset_transport()
820 transport->sock = NULL; in xs_reset_transport()
830 trace_rpc_socket_close(xprt, sock); in xs_reset_transport()
831 sock_release(sock); in xs_reset_transport()
911 struct sock *sk, in xs_local_data_read_skb()
956 struct sock *sk; in xs_local_data_receive()
989 struct sock *sk, in xs_udp_data_read_skb()
1038 struct sock *sk; in xs_udp_data_receive()
1068 static void xs_data_ready(struct sock *sk) in xs_data_ready()
1456 struct sock *sk; in xs_tcp_data_receive()
1496 static void xs_tcp_data_ready(struct sock *sk) in xs_tcp_data_ready()
1524 static void xs_tcp_state_change(struct sock *sk) in xs_tcp_state_change()
1599 static void xs_write_space(struct sock *sk) in xs_write_space()
1630 static void xs_udp_write_space(struct sock *sk) in xs_udp_write_space()
1651 static void xs_tcp_write_space(struct sock *sk) in xs_tcp_write_space()
1665 struct sock *sk = transport->inet; in xs_udp_do_set_buffer_size()
1725 static void xs_sock_set_reuseport(struct socket *sock) in xs_sock_set_reuseport() argument
1729 kernel_setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, in xs_sock_set_reuseport()
1733 static unsigned short xs_sock_getport(struct socket *sock) in xs_sock_getport() argument
1739 if (kernel_getsockname(sock, (struct sockaddr *)&buf, &buflen) < 0) in xs_sock_getport()
1766 static void xs_set_srcport(struct sock_xprt *transport, struct socket *sock) in xs_set_srcport() argument
1769 transport->srcport = xs_sock_getport(sock); in xs_set_srcport()
1791 static int xs_bind(struct sock_xprt *transport, struct socket *sock) in xs_bind() argument
1819 err = kernel_bind(sock, (struct sockaddr *)&myaddr, in xs_bind()
1860 static inline void xs_reclassify_socketu(struct socket *sock) in xs_reclassify_socketu() argument
1862 struct sock *sk = sock->sk; in xs_reclassify_socketu()
1868 static inline void xs_reclassify_socket4(struct socket *sock) in xs_reclassify_socket4() argument
1870 struct sock *sk = sock->sk; in xs_reclassify_socket4()
1876 static inline void xs_reclassify_socket6(struct socket *sock) in xs_reclassify_socket6() argument
1878 struct sock *sk = sock->sk; in xs_reclassify_socket6()
1884 static inline void xs_reclassify_socket(int family, struct socket *sock) in xs_reclassify_socket() argument
1886 WARN_ON_ONCE(sock_owned_by_user(sock->sk)); in xs_reclassify_socket()
1887 if (sock_owned_by_user(sock->sk)) in xs_reclassify_socket()
1892 xs_reclassify_socketu(sock); in xs_reclassify_socket()
1895 xs_reclassify_socket4(sock); in xs_reclassify_socket()
1898 xs_reclassify_socket6(sock); in xs_reclassify_socket()
1903 static inline void xs_reclassify_socketu(struct socket *sock) in xs_reclassify_socketu() argument
1907 static inline void xs_reclassify_socket4(struct socket *sock) in xs_reclassify_socket4() argument
1911 static inline void xs_reclassify_socket6(struct socket *sock) in xs_reclassify_socket6() argument
1915 static inline void xs_reclassify_socket(int family, struct socket *sock) in xs_reclassify_socket() argument
1928 struct socket *sock; in xs_create_sock() local
1931 err = __sock_create(xprt->xprt_net, family, type, protocol, &sock, 1); in xs_create_sock()
1937 xs_reclassify_socket(family, sock); in xs_create_sock()
1940 xs_sock_set_reuseport(sock); in xs_create_sock()
1942 err = xs_bind(transport, sock); in xs_create_sock()
1944 sock_release(sock); in xs_create_sock()
1948 return sock; in xs_create_sock()
1954 struct socket *sock) in xs_local_finish_connecting() argument
1960 struct sock *sk = sock->sk; in xs_local_finish_connecting()
1975 transport->sock = sock; in xs_local_finish_connecting()
1984 return kernel_connect(sock, xs_addr(xprt), xprt->addrlen, 0); in xs_local_finish_connecting()
1994 struct socket *sock; in xs_local_setup_socket() local
1998 SOCK_STREAM, 0, &sock, 1); in xs_local_setup_socket()
2004 xs_reclassify_socketu(sock); in xs_local_setup_socket()
2009 status = xs_local_finish_connecting(xprt, sock); in xs_local_setup_socket()
2010 trace_rpc_socket_connect(xprt, sock, status); in xs_local_setup_socket()
2141 static void xs_udp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock) in xs_udp_finish_connecting() argument
2146 struct sock *sk = sock->sk; in xs_udp_finish_connecting()
2160 transport->sock = sock; in xs_udp_finish_connecting()
2175 struct socket *sock = transport->sock; in xs_udp_setup_socket() local
2178 sock = xs_create_sock(xprt, transport, in xs_udp_setup_socket()
2181 if (IS_ERR(sock)) in xs_udp_setup_socket()
2190 xs_udp_finish_connecting(xprt, sock); in xs_udp_setup_socket()
2191 trace_rpc_socket_connect(xprt, sock, 0); in xs_udp_setup_socket()
2209 struct socket *sock = transport->sock; in xs_tcp_shutdown() local
2211 if (sock == NULL) in xs_tcp_shutdown()
2214 kernel_sock_shutdown(sock, SHUT_RDWR); in xs_tcp_shutdown()
2215 trace_rpc_socket_shutdown(xprt, sock); in xs_tcp_shutdown()
2220 static int xs_tcp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock) in xs_tcp_finish_connecting() argument
2226 struct sock *sk = sock->sk; in xs_tcp_finish_connecting()
2233 kernel_setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, in xs_tcp_finish_connecting()
2235 kernel_setsockopt(sock, SOL_TCP, TCP_KEEPIDLE, in xs_tcp_finish_connecting()
2237 kernel_setsockopt(sock, SOL_TCP, TCP_KEEPINTVL, in xs_tcp_finish_connecting()
2239 kernel_setsockopt(sock, SOL_TCP, TCP_KEEPCNT, in xs_tcp_finish_connecting()
2245 kernel_setsockopt(sock, SOL_TCP, TCP_USER_TIMEOUT, in xs_tcp_finish_connecting()
2266 transport->sock = sock; in xs_tcp_finish_connecting()
2281 ret = kernel_connect(sock, xs_addr(xprt), xprt->addrlen, O_NONBLOCK); in xs_tcp_finish_connecting()
2284 xs_set_srcport(transport, sock); in xs_tcp_finish_connecting()
2303 struct socket *sock = transport->sock; in xs_tcp_setup_socket() local
2307 if (!sock) { in xs_tcp_setup_socket()
2308 sock = xs_create_sock(xprt, transport, in xs_tcp_setup_socket()
2311 if (IS_ERR(sock)) { in xs_tcp_setup_socket()
2312 status = PTR_ERR(sock); in xs_tcp_setup_socket()
2323 status = xs_tcp_finish_connecting(xprt, sock); in xs_tcp_setup_socket()
2324 trace_rpc_socket_connect(xprt, sock, status); in xs_tcp_setup_socket()
2327 sock->sk->sk_state); in xs_tcp_setup_socket()
2383 if (transport->sock != NULL) { in xs_connect()
2539 struct socket *sock = transport->sock; in bc_sendto() local
2547 len = svc_send_common(sock, xbufp, in bc_sendto()
3054 transport->sock = bc_sock->sk_sock; in xs_setup_bc_tcp()