Send/Receive Fixes

This is a refresh of #2338 that supersedes it and addresses my comments WRT to porting the entire FreeBSD commit. It might resolve #2210 and #2602.