rpc_clnt_set...and_add_xprt(9)
πΈ NAME πΈ
Bestie, you're on the rpc_clnt_set...and_add_xprt(9) page in the Kernel API Manual, and the function we're hyping up is:
rpc_clnt_setup_test_and_add_xprt -
That's the whole NAME entry β just the function name and a dash, no extra description, and honestly? iconic minimalism π .
β¨ SYNOPSIS β¨
int rpc_clnt_setup_test_and_add_xprt (struct rpc_clnt *clnt , struct
rpc_xprt_switch *xps , struct rpc_xprt *xprt , void *data );
π ARGUMENTS π
Here's the cast, bestie:
clntβ thestruct rpc_clntthat's getting the new transport π«Άxpsβ therpc_xprt_switchthat's holding the new transport β¨xprtβ therpc_xprtto test πdataβ astruct rpc_add_xprt_testpointer that holds the test function and test function call data π
π DESCRIPTION π
Okay so this is an rpc_clnt_add_xprt setup function, and it returns 1, so:
- The caller of the test function must dereference the
rpc_xprt_switchand therpc_xprt. - The test function must call
rpc_xprt_switch_add_xprt, usually in therpc_call_doneroutine.
Upon success (return of 1), the test function adds the new transport to the rpc_clnt xprt switch. Slay β¨
π¦ SEE ALSO π¦
The kernel file in the mix is ./net/sunrpc/clnt.c, and these are the SEE ALSO besties:
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_add_xprt(9)
mwah π that's a wrap! This one comes from ./net/sunrpc, dated October 2026, and it's the rpc_clnt_set...and_add_xprt(9) page. Bye bestie, go be iconic π«Άβ¨
π¦ 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