Send/Receive Fixes

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