I have a packet that has a checksum of 0xffff, and a calculated checksum of 0x0000. I know in UDP, a checksum of 0x0000 is not allowed, and is instead replaced with 0xffff, thus the packet should be validated.
On the other hand, I had a packet with a checksum of 0x0000, and a calculated checksum of 0x0000, in this case, do we still replace it with 0xffff? That would make it invalid packet (incorrect checksum match), but I believe that it is valid (correct checksum match). Are there any rules for such values?