Mon, Jun 17, 2024 at 03:15:23PM CEST, hen...@linux.alibaba.com wrote: >In virtio spec 0.95, VIRTIO_NET_F_GUEST_CSUM was designed to handle >partially checksummed packets, and the validation of fully checksummed >packets by the device is independent of VIRTIO_NET_F_GUEST_CSUM >negotiation. However, the specification erroneously stated: > > "If VIRTIO_NET_F_GUEST_CSUM is not negotiated, the device MUST set flags > to zero and SHOULD supply a fully checksummed packet to the driver." > >This statement is inaccurate because even without VIRTIO_NET_F_GUEST_CSUM >negotiation, the device can still set the VIRTIO_NET_HDR_F_DATA_VALID flag. >Essentially, the device can facilitate the validation of these packets' >checksums - a process known as RX checksum offloading - removing the need >for the driver to do so. > >This scenario is currently not implemented in the driver and requires >correction. The necessary specification correction[1] has been made and >approved in the virtio TC vote. >[1] https://lists.oasis-open.org/archives/virtio-comment/202401/msg00011.html > >Fixes: 4f49129be6fa ("virtio-net: Set RXCSUM feature if GUEST_CSUM is >available") >Signed-off-by: Heng Qi <hen...@linux.alibaba.com>
Reviewed-by: Jiri Pirko <j...@nvidia.com>