rpc_clnt_add_xprt(9)
π
rpc_clnt_add_xprt(9) β Kernel API Manual β¨
Okay bestie, welcome to the group chat for the kernelβs transport-adding era. This is the rpc_clnt_add_xprt(9) page, and yes itβs giving βadd a new transport to a rpc_clntβ main character energy. π
πΈ NAME πΈ
rpc_clnt_add_xprt β Add a new transport to a rpc_clnt π
β¨ SYNOPSIS β¨
int rpc_clnt_add_xprt (struct rpc_clnt *clnt , struct xprt_create
*xprtargs , int (*setup)(struct rpc_clnt *, struct rpc_xprt_switch *,
struct rpc_xprt *, void *) , void *data );
π ARGUMENTS π
clntβ pointer tostruct rpc_clnt; this is the client bestie getting a new transport.xprtargsβ pointer tostruct xprt_create; the transport creation info lives here.setupβ callback to test and/or set up the connection. Very βyou got thisβ energy.dataβ pointer to setup function data; the little bag of stuff passed along to the setup callback.
π¦ DESCRIPTION π¦
So hereβs the vibe: it creates a new transport using the parameters set in args and adds it to clnt. π«
If ping is set, then test that connectivity succeeds before adding the new transport. No cap, thatβs the flow.
π SEE ALSO π
This one lives in the kernel file ./net/sunrpc/clnt.c, and the whole SEE ALSO squad is:
rpc_create(9)rpc_clone_client(9)rpc_clone_client_set_auth(9)rpc_switch_client_transport(9)rpc_clnt_iterate_for_each_xprt(9)rpc_cancel_tasks(9)rpc_hold_client(9)rpc_release_client(9)rpc_bind_new_program(9)rpc_run_task(9)rpc_call_sync(9)rpc_call_async(9)rpc_run_bc_task(9)rpc_prepare_reply_pages(9)rpc_peeraddr(9)rpc_peeraddr2str(9)rpc_localaddr(9)rpc_net_ns(9)rpc_max_payload(9)rpc_max_bc_payload(9)rpc_force_rebind(9)rpc_clnt_test_and_add_xprt(9)rpc_clnt_setup_test_and_add_xprt(9)
xoxo, your kernel bestie π β sourced from ./net/sunrpc, dated October 2026, and filed under rpc_clnt_add_xprt(9) π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms