Lines Matching refs:xprt

61 #include <linux/sunrpc/xprt.h>
127 * @xprt: the transport which owned the context
131 static void svc_tcp_release_ctxt(struct svc_xprt *xprt, void *ctxt)
137 * @xprt: the transport which owned the context
141 static void svc_udp_release_ctxt(struct svc_xprt *xprt, void *ctxt)
399 static int svc_tcp_has_wspace(struct svc_xprt *xprt)
401 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
403 if (test_bit(XPT_LISTENER, &xprt->xpt_flags))
408 static void svc_tcp_kill_temp_xprt(struct svc_xprt *xprt)
410 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
417 * @data: address of xprt to wake
423 * is present" flag on the xprt and let an upper layer enforce local
428 struct svc_xprt *xprt = data;
429 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
433 set_bit(XPT_PEER_AUTH, &xprt->xpt_flags);
434 set_bit(XPT_TLS_SESSION, &xprt->xpt_flags);
436 clear_bit(XPT_HANDSHAKE, &xprt->xpt_flags);
442 * @xprt: connected transport endpoint
445 static void svc_tcp_handshake(struct svc_xprt *xprt)
447 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
452 .ta_data = xprt,
456 trace_svc_tls_upcall(xprt);
458 clear_bit(XPT_TLS_SESSION, &xprt->xpt_flags);
463 trace_svc_tls_not_started(xprt);
471 trace_svc_tls_timed_out(xprt);
476 if (!test_bit(XPT_TLS_SESSION, &xprt->xpt_flags)) {
477 trace_svc_tls_unavailable(xprt);
485 set_bit(XPT_DATA, &xprt->xpt_flags);
486 svc_xprt_enqueue(xprt);
490 set_bit(XPT_CLOSE, &xprt->xpt_flags);
492 clear_bit(XPT_HANDSHAKE, &xprt->xpt_flags);
493 set_bit(XPT_DATA, &xprt->xpt_flags);
494 svc_xprt_enqueue(xprt);
688 struct svc_xprt *xprt = rqstp->rq_xprt;
689 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
706 svc_udp_release_ctxt(xprt, rqstp->rq_xprt_ctxt);
711 mutex_lock(&xprt->xpt_mutex);
713 if (svc_xprt_is_dead(xprt))
729 trace_svcsock_udp_send(xprt, err);
731 mutex_unlock(&xprt->xpt_mutex);
735 mutex_unlock(&xprt->xpt_mutex);
739 static int svc_udp_has_wspace(struct svc_xprt *xprt)
741 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
742 struct svc_serv *serv = xprt->xpt_server;
757 static struct svc_xprt *svc_udp_accept(struct svc_xprt *xprt)
763 static void svc_udp_kill_temp_xprt(struct svc_xprt *xprt)
880 static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt)
882 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
898 trace_svcsock_accept_err(xprt, serv->sv_name, err);
908 trace_svcsock_getpeername_err(xprt, serv->sv_name, err);
1256 struct svc_xprt *xprt = rqstp->rq_xprt;
1257 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
1264 svc_tcp_release_ctxt(xprt, rqstp->rq_xprt_ctxt);
1267 mutex_lock(&xprt->xpt_mutex);
1268 if (svc_xprt_is_dead(xprt))
1271 trace_svcsock_tcp_send(xprt, err < 0 ? (long)err : sent);
1274 mutex_unlock(&xprt->xpt_mutex);
1278 mutex_unlock(&xprt->xpt_mutex);
1282 xprt->xpt_server->sv_name,
1285 svc_xprt_deferred_close(xprt);
1286 mutex_unlock(&xprt->xpt_mutex);
1575 static void svc_sock_detach(struct svc_xprt *xprt)
1577 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
1592 static void svc_tcp_sock_detach(struct svc_xprt *xprt)
1594 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
1598 svc_sock_detach(xprt);
1600 if (!test_bit(XPT_LISTENER, &xprt->xpt_flags)) {
1609 static void svc_sock_free(struct svc_xprt *xprt)
1611 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);