These macros have substantially identical implementations on each
platform. Use roundup2/rounddown2 for round_page/trunc_page.
This version standardizes on not adding an explicit cast as that
appears to be required on at least one powerpc port. A couple of
tweaks were required to make this work.
Obtained from: CheriBSD
Normally the clnt_rc.c (reconnect layer) would
do a CLSET_TCP_DDP and the so_setsockopt()
would be done for CLSET_TCP_DDP in clnt_vc.c
and ignored in clnt_dg.c.
I've never been much of an object oriented guy,
but the Sun folk loved these layers.