• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/net/sunrpc/xprtrdma/

Lines Matching defs:xprt

154 xprt_rdma_format_addresses(struct rpc_xprt *xprt)
157 &rpcx_to_rdmad(xprt).addr;
162 xprt->address_strings[RPC_DISPLAY_ADDR] = kstrdup(buf, GFP_KERNEL);
165 xprt->address_strings[RPC_DISPLAY_PORT] = kstrdup(buf, GFP_KERNEL);
167 xprt->address_strings[RPC_DISPLAY_PROTO] = "rdma";
170 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL);
173 xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL);
176 xprt->address_strings[RPC_DISPLAY_NETID] = "rdma";
180 xprt_rdma_free_addresses(struct rpc_xprt *xprt)
190 kfree(xprt->address_strings[i]);
199 struct rpc_xprt *xprt = &r_xprt->xprt;
202 if (!xprt->shutdown) {
203 xprt_clear_connected(xprt);
214 xprt_wake_pending_tasks(xprt, rc);
218 xprt_clear_connecting(xprt);
224 * Destroy the xprt.
233 xprt_rdma_destroy(struct rpc_xprt *xprt)
235 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
243 xprt_clear_connected(xprt);
252 xprt_rdma_free_addresses(xprt);
254 kfree(xprt->slot);
255 xprt->slot = NULL;
256 kfree(xprt);
277 struct rpc_xprt *xprt;
283 if (args->addrlen > sizeof(xprt->addr)) {
288 xprt = kzalloc(sizeof(struct rpcrdma_xprt), GFP_KERNEL);
289 if (xprt == NULL) {
295 xprt->max_reqs = xprt_rdma_slot_table_entries;
296 xprt->slot = kcalloc(xprt->max_reqs,
298 if (xprt->slot == NULL) {
300 __func__, xprt->max_reqs);
301 kfree(xprt);
306 xprt->timeout = &xprt_rdma_default_timeout;
307 xprt->bind_timeout = (60U * HZ);
308 xprt->reestablish_timeout = (5U * HZ);
309 xprt->idle_timeout = (5U * 60 * HZ);
311 xprt->resvport = 0; /* privileged port not needed */
312 xprt->tsh_size = 0; /* RPC-RDMA handles framing */
313 xprt->max_payload = RPCRDMA_MAX_DATA_SEGS * PAGE_SIZE;
314 xprt->ops = &xprt_rdma_procs;
323 /* Ensure xprt->addr holds valid server TCP (not RDMA)
325 xprt->prot = IPPROTO_TCP;
326 xprt->addrlen = args->addrlen;
327 memcpy(&xprt->addr, &cdata.addr, xprt->addrlen);
331 xprt_set_bound(xprt);
337 cdata.max_requests = xprt->max_reqs;
360 new_xprt = rpcx_to_rdmax(xprt);
396 new_ep->rep_xprt = xprt;
398 xprt_rdma_format_addresses(xprt);
403 return xprt;
406 xprt_rdma_free_addresses(xprt);
413 kfree(xprt->slot);
414 kfree(xprt);
422 xprt_rdma_close(struct rpc_xprt *xprt)
424 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
428 xprt->reestablish_timeout = 0;
429 xprt_disconnect_done(xprt);
434 xprt_rdma_set_port(struct rpc_xprt *xprt, u16 port)
438 sap = (struct sockaddr_in *)&xprt->addr;
440 sap = (struct sockaddr_in *)&rpcx_to_rdmad(xprt).addr;
448 struct rpc_xprt *xprt = (struct rpc_xprt *)task->tk_xprt;
449 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
454 xprt->reestablish_timeout);
455 xprt->reestablish_timeout <<= 1;
456 if (xprt->reestablish_timeout > (30 * HZ))
457 xprt->reestablish_timeout = (30 * HZ);
458 else if (xprt->reestablish_timeout < (5 * HZ))
459 xprt->reestablish_timeout = (5 * HZ);
470 struct rpc_xprt *xprt = task->tk_xprt;
471 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
476 r_xprt->rx_buf.rb_cwndscale = xprt->cwnd;
481 xprt->cwnd = credits * r_xprt->rx_buf.rb_cwndscale;
496 struct rpc_xprt *xprt = task->tk_xprt;
499 req = rpcrdma_buffer_get(&rpcx_to_rdmax(xprt)->rx_buf);
524 if (rpcx_to_rdmax(xprt)->rx_ia.ri_memreg_strategy ==
529 rpcx_to_rdmad(xprt).inline_rsize,
530 rpcx_to_rdmad(xprt).inline_wsize);
533 rpcx_to_rdmax(xprt)->rx_stats.failed_marshal_count++;
543 if (rpcrdma_register_internal(&rpcx_to_rdmax(xprt)->rx_ia,
550 rpcx_to_rdmax(xprt)->rx_stats.hardway_register_count += size;
570 rpcx_to_rdmax(xprt)->rx_stats.failed_marshal_count++;
648 struct rpc_xprt *xprt = task->tk_xprt;
650 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
666 req->rl_reply->rr_xprt = xprt;
670 if (req->rl_connect_cookie == xprt->connect_cookie)
672 req->rl_connect_cookie = xprt->connect_cookie;
682 xprt_disconnect_done(xprt);
686 static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq)
688 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
691 if (xprt_connected(xprt))
692 idle_time = (long)(jiffies - xprt->last_used) / HZ;
699 xprt->stat.bind_count,
700 xprt->stat.connect_count,
701 xprt->stat.connect_time,
703 xprt->stat.sends,
704 xprt->stat.recvs,
705 xprt->stat.bad_xids,
706 xprt->stat.req_u,
707 xprt->stat.bklog_u,
727 .release_xprt = xprt_release_xprt_cong, /* sunrpc/xprt.c */