]> git.droids-corp.org - dpdk.git/commitdiff
net/virtio: fix Rx handler when checksum is requested
authorOlivier Matz <olivier.matz@6wind.com>
Thu, 7 Sep 2017 12:13:47 +0000 (14:13 +0200)
committerYuanhan Liu <yliu@fridaylinux.org>
Tue, 10 Oct 2017 13:52:27 +0000 (15:52 +0200)
The simple Rx handler is selected even if Rx checksum offload is
requested by the application, but this handler does not support
offloads. This results in broken received packets (no checksum flag but
invalid checksum in the mbuf data).

Disable the simple Rx handler in that case.

Fixes: 96cb6711939e ("net/virtio: support Rx checksum offload")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
drivers/net/virtio/virtio_ethdev.c

index 07eb723773a0e4a47e426ab227b6a8c51ff19873..a006d4982d7fce31016769832034016d8bdef5f8 100644 (file)
@@ -1756,6 +1756,9 @@ virtio_dev_configure(struct rte_eth_dev *dev)
                hw->use_simple_tx = 0;
        }
 
+       if (rxmode->hw_ip_checksum)
+               hw->use_simple_rx = 0;
+
        return 0;
 }