Lines Matching refs:xprt
154 xprt_rdma_format_addresses4(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses4() argument
160 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses4()
162 xprt->address_strings[RPC_DISPLAY_NETID] = RPCBIND_NETID_RDMA; in xprt_rdma_format_addresses4()
166 xprt_rdma_format_addresses6(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses6() argument
172 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses6()
174 xprt->address_strings[RPC_DISPLAY_NETID] = RPCBIND_NETID_RDMA6; in xprt_rdma_format_addresses6()
178 xprt_rdma_format_addresses(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses() argument
184 xprt_rdma_format_addresses4(xprt, sap); in xprt_rdma_format_addresses()
187 xprt_rdma_format_addresses6(xprt, sap); in xprt_rdma_format_addresses()
195 xprt->address_strings[RPC_DISPLAY_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses()
198 xprt->address_strings[RPC_DISPLAY_PORT] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses()
201 xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses()
203 xprt->address_strings[RPC_DISPLAY_PROTO] = "rdma"; in xprt_rdma_format_addresses()
207 xprt_rdma_free_addresses(struct rpc_xprt *xprt) in xprt_rdma_free_addresses() argument
217 kfree(xprt->address_strings[i]); in xprt_rdma_free_addresses()
226 struct rpc_xprt *xprt = &r_xprt->rx_xprt; in xprt_rdma_connect_worker() local
229 xprt_clear_connected(xprt); in xprt_rdma_connect_worker()
235 xprt_wake_pending_tasks(xprt, rc); in xprt_rdma_connect_worker()
238 xprt_clear_connecting(xprt); in xprt_rdma_connect_worker()
242 xprt_rdma_inject_disconnect(struct rpc_xprt *xprt) in xprt_rdma_inject_disconnect() argument
244 struct rpcrdma_xprt *r_xprt = container_of(xprt, struct rpcrdma_xprt, in xprt_rdma_inject_disconnect()
247 pr_info("rpcrdma: injecting transport disconnect on xprt=%p\n", xprt); in xprt_rdma_inject_disconnect()
263 xprt_rdma_destroy(struct rpc_xprt *xprt) in xprt_rdma_destroy() argument
265 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_destroy()
271 xprt_clear_connected(xprt); in xprt_rdma_destroy()
277 xprt_rdma_free_addresses(xprt); in xprt_rdma_destroy()
279 xprt_free(xprt); in xprt_rdma_destroy()
300 struct rpc_xprt *xprt; in xprt_setup_rdma() local
306 if (args->addrlen > sizeof(xprt->addr)) { in xprt_setup_rdma()
311 xprt = xprt_alloc(args->net, sizeof(struct rpcrdma_xprt), in xprt_setup_rdma()
314 if (xprt == NULL) { in xprt_setup_rdma()
321 xprt->timeout = &xprt_rdma_default_timeout; in xprt_setup_rdma()
322 xprt->bind_timeout = RPCRDMA_BIND_TO; in xprt_setup_rdma()
323 xprt->reestablish_timeout = RPCRDMA_INIT_REEST_TO; in xprt_setup_rdma()
324 xprt->idle_timeout = RPCRDMA_IDLE_DISC_TO; in xprt_setup_rdma()
326 xprt->resvport = 0; /* privileged port not needed */ in xprt_setup_rdma()
327 xprt->tsh_size = 0; /* RPC-RDMA handles framing */ in xprt_setup_rdma()
328 xprt->ops = &xprt_rdma_procs; in xprt_setup_rdma()
339 xprt->prot = IPPROTO_TCP; in xprt_setup_rdma()
340 xprt->addrlen = args->addrlen; in xprt_setup_rdma()
341 memcpy(&xprt->addr, sap, xprt->addrlen); in xprt_setup_rdma()
344 xprt_set_bound(xprt); in xprt_setup_rdma()
346 cdata.max_requests = xprt->max_reqs; in xprt_setup_rdma()
368 new_xprt = rpcx_to_rdmax(xprt); in xprt_setup_rdma()
403 xprt_rdma_format_addresses(xprt, sap); in xprt_setup_rdma()
404 xprt->max_payload = new_xprt->rx_ia.ri_ops->ro_maxpages(new_xprt); in xprt_setup_rdma()
405 if (xprt->max_payload == 0) in xprt_setup_rdma()
407 xprt->max_payload <<= PAGE_SHIFT; in xprt_setup_rdma()
409 __func__, xprt->max_payload); in xprt_setup_rdma()
415 xprt->address_strings[RPC_DISPLAY_ADDR], in xprt_setup_rdma()
416 xprt->address_strings[RPC_DISPLAY_PORT]); in xprt_setup_rdma()
417 return xprt; in xprt_setup_rdma()
420 xprt_rdma_free_addresses(xprt); in xprt_setup_rdma()
427 xprt_free(xprt); in xprt_setup_rdma()
435 xprt_rdma_close(struct rpc_xprt *xprt) in xprt_rdma_close() argument
437 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_close()
441 xprt->reestablish_timeout = 0; in xprt_rdma_close()
442 xprt_disconnect_done(xprt); in xprt_rdma_close()
447 xprt_rdma_set_port(struct rpc_xprt *xprt, u16 port) in xprt_rdma_set_port() argument
451 sap = (struct sockaddr_in *)&xprt->addr; in xprt_rdma_set_port()
453 sap = (struct sockaddr_in *)&rpcx_to_rdmad(xprt).addr; in xprt_rdma_set_port()
459 xprt_rdma_connect(struct rpc_xprt *xprt, struct rpc_task *task) in xprt_rdma_connect() argument
461 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_connect()
466 xprt->reestablish_timeout); in xprt_rdma_connect()
467 xprt->reestablish_timeout <<= 1; in xprt_rdma_connect()
468 if (xprt->reestablish_timeout > RPCRDMA_MAX_REEST_TO) in xprt_rdma_connect()
469 xprt->reestablish_timeout = RPCRDMA_MAX_REEST_TO; in xprt_rdma_connect()
470 else if (xprt->reestablish_timeout < RPCRDMA_INIT_REEST_TO) in xprt_rdma_connect()
471 xprt->reestablish_timeout = RPCRDMA_INIT_REEST_TO; in xprt_rdma_connect()
491 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt; in xprt_rdma_allocate() local
492 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_allocate()
607 struct rpc_xprt *xprt = rqst->rq_xprt; in xprt_rdma_send_request() local
609 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_send_request()
620 if (req->rl_connect_cookie == xprt->connect_cookie) in xprt_rdma_send_request()
622 req->rl_connect_cookie = xprt->connect_cookie; in xprt_rdma_send_request()
638 xprt_disconnect_done(xprt); in xprt_rdma_send_request()
642 static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq) in xprt_rdma_print_stats() argument
644 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_print_stats()
647 if (xprt_connected(xprt)) in xprt_rdma_print_stats()
648 idle_time = (long)(jiffies - xprt->last_used) / HZ; in xprt_rdma_print_stats()
653 xprt->stat.bind_count, in xprt_rdma_print_stats()
654 xprt->stat.connect_count, in xprt_rdma_print_stats()
655 xprt->stat.connect_time, in xprt_rdma_print_stats()
657 xprt->stat.sends, in xprt_rdma_print_stats()
658 xprt->stat.recvs, in xprt_rdma_print_stats()
659 xprt->stat.bad_xids, in xprt_rdma_print_stats()
660 xprt->stat.req_u, in xprt_rdma_print_stats()
661 xprt->stat.bklog_u); in xprt_rdma_print_stats()
677 xprt_rdma_enable_swap(struct rpc_xprt *xprt) in xprt_rdma_enable_swap() argument
683 xprt_rdma_disable_swap(struct rpc_xprt *xprt) in xprt_rdma_disable_swap() argument