icmpv6 packets with wrong checksum are not discarded

ICMPv6 packets should check for checksum correctness (at least if the checksum is active), and upon finding a wrong checksum they should be discarded.

The same goes for TCP, IPv4, UDP, and so on - but I haven't checked that part of the code.