z/OS Communications Server: IP Programmer's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Registering with rpcbind

z/OS Communications Server: IP Programmer's Guide and Reference
SC27-3659-02

RPC applications register with rpcbind by sending an RPCBPROC_SET or PMAPPROC_SET RPC to rpcbind, or by invoking an RPC library routine that sends one of these RPCs to rpcbind on its behalf.

Requirements:
  • Your registration request must originate from an IP address on the host where rpcbind is running.
  • When the SAF profile EZB.RPCBIND.sysname.rpcbindname.REGISTRY is defined in the SERVAUTH class, the user ID that is associated with the RPC server that registers with rpcbind must be granted at least READ access to the profile. If your application sends a PMAPPROC_SET or RPCBPROC_SET request to rpcbind, you must grant the user ID that is associated with your application at least READ access to the profile when the profile is defined.
  • If your server registers an IPv4 IP address, you must register the address as an IPv4 address rather than an IPv4-mapped IPv6 address.
    The following example assumes that your server is listening on IP address 1.2.3.4 and port 1024 and that the server uses stream sockets. In the rpcb specified with the RPCBPROC_SET procedure, specify the following rcpb field values:
    • r_addr = 1.2.3.4.4.0 instead of ::FFFF:1.2.3.4.4.0
    • r_netid = tcp instead of tcp6
  • If the following conditions apply to your server, you should register your application with both the IPv4 address, INADDR_ANY, and the IPv6 unspecified address (in6addr_any):
    • The server is listening on an AF_INET6 socket bound to the IPv6 unspecified address (in6addr_any)
    • The server host has both IPv4 and IPv6 interfaces
    • The server will serve both IPv4 and IPv6 clients

    This example assumes that your server uses datagram sockets and is listening to an AF_INET6 socket that is bound to the IPv6 unspecified address (in6addr_any) on port 2048. The server host has both IPv4 and IPv6 interfaces and the server intends to accept requests from both IPv4 and IPv6 clients.

    Register your application twice. In the rpcb that is specified by RPCBPROC_SET, specify the following rpcb field values on the first registration:
    r_addr = 0.0.0.0.8.0
    r_netid = udp
    Specify the following rpcb field values on the second registration:
    r_addr = ::0.8.0
    r_netid = udp6
  • When processing an RPCBPROC_SET request, rpcbind ignores the r_owner field of the input rpcb.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014