libnsm.a: Add RPC construction helper functions
authorChuck Lever <chuck.lever@oracle.com>
Tue, 12 Jan 2010 21:41:43 +0000 (16:41 -0500)
committerSteve Dickson <steved@redhat.com>
Fri, 15 Jan 2010 19:55:51 +0000 (14:55 -0500)
commitd89f50b2902305020a8e5d63ddc0b024679a1fc1
treedae68b1082437a54a5ffdb3435cb0402dac8aa99
parent1c0f9045bf479f38ec39ffa5c6a4c77a8fcabda8
libnsm.a: Add RPC construction helper functions

To manage concurrency, both statd and sm-notify construct raw RPC
requests in socket buffers, and use a minimal request scheduler
to send these requests and manage replies.  Both statd and sm-notify
open code the RPC request construction.

Introduce helper functions that can construct and send raw
NSMPROC_NOTIFY, NLM downcalls, and portmapper calls over a datagram
socket, and receive and parse their replies.  Support for IPv6 and
RPCB_GETADDR is featured.  This code (and the IPv6 support it
introduces) can now be shared by statd and sm-notify, eliminating
code and bug duplication.

This implementation is based on what's in utils/statd/rmtcall.c now,
but is wrapped up in a nice API and includes extra error checking.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
support/include/nsm.h
support/nsm/Makefile.am
support/nsm/rpc.c [new file with mode: 0644]