我正在使用一台带有上述 MCU 的设备、该 MCU 使用 lwIP 实现网络功能。 该器件的一个函数 、用于响应 ping (ICMP ECHO 请求)并打印关于它们的数据(思考长度、 源等) 对于正常大小的 ping 数据包,它可以正常工作,但如果出现超大(>1500)数据包,ping 实用程序将看不到响应。 窥探 Wireshark 可发现响应到达并且看起来不错(整齐地分为2个帧)、但校验和是错误的。 通过探究 tm4c-lwip 代码、可以发现生成 ICMP 校验和的工作会降级至 MCU 的校验和卸载引擎。 根据数据表、"... TCP、UDP 或 ICMP 的校验和是在一个完整的帧中计算的、然后插入到其相应的标头字段中。" (第1452页)。 我猜是、lwIP 已经处理了碎片、错误的校验和是仅根据其中一个帧计算得出的。 是否有方法可以临时禁用校验和引擎、以便在该特定数据包变得杂乱之前在软件中计算校验和?