I am working on a device with the aforementioned MCU that uses lwIP for network functions. One function of the device to respond to pings (ICMP echo requests), and print out the data about them (think length, source, etc.) It works fine with normal-sized ping packets, but when presented with an oversized (>1500) packet, the ping utility does not see a response. Snooping around with Wireshark reveals that the response arrives and looks good (neatly split into 2 frames), but the checksum is wrong. Digging into the tm4c-lwip code revealed that generating ICMP checksums is relegated to the MCU's checksum offload engine. Per datasheet, the ".. checksum for TCP, UDP, or ICMP is calculated over a complete frame, and then inserted into its corresponding header field." (p. 1452). My guess is that the fragmentation has already been handled by lwIP, and the wrong checksum is calculated from only one of the frames. Is there a way to temporarily disable the checksum engine in order to calculate the checksum in software for this particular packet before it gets fragged?