net/virtio: fix Rx handler when checksum is requested

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>
This commit is contained in:
Olivier Matz 2017-09-07 14:13:47 +02:00 committed by Yuanhan Liu
parent 0964936308
commit 16e48c9ed7

View 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;
}