I'm not sure what the problem is here: - UDP checksums are optional - optional checksums probably aren't applicable to TCP - IPv4 has IP header checksums - IPv6 could define an option for IP header checksum (could be applicable to IPv4 also, if you want a stronger checksum for the header) - whether L2 drops packets whose checksum fails is an L2 matter; the ability to turn this on or off is an L2 feature - if the app needs a different integrity check than all-or-nothing, this is something that belongs in the app protocol so it seems like what we need is a bit in the IP header to indicate that L2 integrity checks are optional, and to specify for various kinds of IP-over-FOO how to implement that bit in FOO. and maybe that bit could go in the IP option to provide a stronger checksum than normally exists in the IP header (so that the header, at least, is protected) Keith