5916ae1fb1
When SOCK_DGRAM is used, a portion of the datagram is discarded during the initial recv() when getting the nvlist_header. To workaround this, use MSG_PEEK for the initial recv() when using a datagram socket. Add tests for SOCK_DGRAM with nvlist_send()/nvlist_recv(). Differential Revision: https://reviews.freebsd.org/D32722