Introduction - If you have any usage issues, please Google them yourself
this could be a inner header returned in icmp packet in such cases we cannot update the checksum field since it is outside of the 8 bytes of transport layer headers we are guaranteed.