Fixed a bug in icmp6_recv and added a pattern to use SOCK_RAW to receive ICMP/ICMPv6 packets for BSD/Linux.
Added a branch not to measure the buffered size in the socket using getsockopt with the SO_NWRITE option because SO_NWRITE is not supported by Linux.