rpcb_v4_register(9)
πΈ NAME πΈ
okay so bestie, welcome to the Kernel API Manual page for rpcb_v4_register(9) β and it's literally about setting or unsetting a port registration with the local rpcbind. no cap, that's the whole vibe: rpcb_v4_register β set or unset a port registration with the local rpcbind. π
β¨ SYNOPSIS β¨
int rpcb_v4_register (struct net *net , const u32 program , const u32 version , const struct sockaddr *address , const char *netid );
π«Ά ARGUMENTS π«Ά
netβ the target network namespace. yes, that's the whole namespace situation.programβ RPC program number of service to (un)register. πversionβ RPC version number of service to (un)register. βaddressβ address family, IP address, and port to (un)register. the whole little address package.netidβ netid of transport protocol to (un)register. transport tea. π
π DESCRIPTION π
so here's the tea: this function returns zero if the registration request was dispatched successfully and the rpcbind daemon returned success. otherwise? it returns an errno value that reflects the nature of the error β like the request could not be dispatched, it timed out, or rpcbind returned an error. π
RPC services invoke this function to advertise their contact information via the system's rpcbind daemon. they invoke this function once for each [program, version, address, netid] tuple they wish to advertise. one tuple, one call β that's the vibe. β¨
callers may also unregister RPC services that are registered at a specific address by setting the port number in address to zero. they may unregister all registered protocol families at once for a service by passing a NULL address argument. and if netid is "" then all netids for [program, version, address] are unregistered. poof, gone. π«§
this function uses rpcbind protocol version 4 to contact the local rpcbind daemon. the local rpcbind daemon must support version 4 of the rpcbind protocol in order for these functions to register a service successfully. no v4? no successful registration, bestie. π
supported netids include "udp" and "tcp" for UDP and TCP over IPv4, and "udp6" and "tcp6" for UDP and TCP over IPv6, respectively. cute lil protocol family menu. π
the contents of address determine the address family and the port to be registered. the usual practice is to pass INADDR_ANY as the raw address, but specifying a non-zero address is also supported by this API if the caller wishes to advertise an RPC service on a specific network interface. main character interface energy. π
note bestie: passing inINADDR_ANYdoes not create the same service registration asIN6ADDR_ANY. the former advertises an RPC service on any IPv4 address, but not on IPv6. the latter advertises the service on all IPv4 and IPv6 addresses. so yes, they are different β do not conflate them. π
π SEE ALSO π
- Kernel file
./net/sunrpc/rpcb_clnt.crpcb_register(9),rpcb_getport_async(9)β go read these, bestie π¦
and that's the page, bestie. source/version says ./net/sunrpc, date says October 2026, and the page itself is rpcb_v4_register(9). mwah, go register responsibly. ππ
π¦ 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