From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 16573199BC for ; Thu, 7 Sep 2017 14:14:04 +0200 (CEST) Received: from glumotte.dev.6wind.com (unknown [10.16.0.195]) by proxy.6wind.com (Postfix) with ESMTP id 3EBE5CD5CA; Thu, 7 Sep 2017 14:10:17 +0200 (CEST) From: Olivier Matz To: dev@dpdk.org, yliu@fridaylinux.org, maxime.coquelin@redhat.com Cc: stephen@networkplumber.org Date: Thu, 7 Sep 2017 14:13:47 +0200 Message-Id: <20170907121347.16208-11-olivier.matz@6wind.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170907121347.16208-1-olivier.matz@6wind.com> References: <20170831134015.1383-1-olivier.matz@6wind.com> <20170907121347.16208-1-olivier.matz@6wind.com> Subject: [dpdk-dev] [PATCH v2 10/10] net/virtio: fix Rx handler when checksum is requested X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Sep 2017 12:14:04 -0000 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 --- 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 271ebaedf..440c2d3b1 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1755,6 +1755,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.11.0