You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Linux, packets that stay local to the machine (moving from the host to a container for example) don't always have their checksum computed, see for example https://patchwork.ozlabs.org/patch/261822/.
The proper fix would be to check for TP_STATUS_CSUMNOTREADY, but an easy workaround is to have a way to change the ChecksumCapabilities or DeviceCapabilities.
I agree that checking for TP_STATUS_CSUMNOTREADY would be a proper solution. Unfortunately we can't integrate it with the rest of smoltcp at the moment, I believe, since checksum capabilities are tracked in it per-interface, not per-packet. Is there a way to determine whether an interface will always return packets with TP_STATUS_CSUMNOTREADY set?
I'm only using smoltcp for a POC, so being able to configure ChecksumCapabilities is good enough me.
No interface will return 100% packets with TP_STATUS_CSUMNOTREADY I think, anything routed from outside will have a checksum. I don't see any good heuristics.
On Linux, packets that stay local to the machine (moving from the host to a container for example) don't always have their checksum computed, see for example https://patchwork.ozlabs.org/patch/261822/.
The proper fix would be to check for TP_STATUS_CSUMNOTREADY, but an easy workaround is to have a way to change the ChecksumCapabilities or DeviceCapabilities.
As a rust noob here my solution for now:
The text was updated successfully, but these errors were encountered: