+ if ((priv->features & (1ULL << VIRTIO_NET_F_CSUM)) == 0 &&
+ ((priv->features & (1ULL << VIRTIO_NET_F_HOST_TSO4)) > 0 ||
+ (priv->features & (1ULL << VIRTIO_NET_F_HOST_TSO6)) > 0)) {
+ /* Packet may be corrupted if TSO is enabled without CSUM. */
+ DRV_LOG(INFO, "TSO is enabled without CSUM, force CSUM.");
+ priv->features |= (1ULL << VIRTIO_NET_F_CSUM);
+ }