From 16e48c9ed71d2160ccd7ade231b386638613fc82 Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Thu, 7 Sep 2017 14:13:47 +0200 Subject: [PATCH] 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 Acked-by: Yuanhan Liu --- drivers/net/virtio/virtio_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 07eb723773..a006d4982d 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -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; } -- 2.20.1