[PATCH grout 2/2] infra: fix invalid TCP/UDP checksums from virtio user
Andrei Rybchenko
rybchenko.andrei at gmail.com
Thu Sep 10 14:59:16 CEST 2026
If Rx checksum offload is enabled, virtio is allowed to use
Tx checksum offload and packets comming from virtio user interface
have invalid checksums in TCP/UDP headers (prepared to be offloaded).
Signed-off-by: Andrei Rybchenko <rybchenko.andrei at gmail.com>
---
modules/infra/control/port.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/infra/control/port.c b/modules/infra/control/port.c
index ec9bfb1e..35e6516f 100644
--- a/modules/infra/control/port.c
+++ b/modules/infra/control/port.c
@@ -633,7 +633,8 @@ static int iface_port_init(struct iface *iface, const void *api_info) {
port->port_id = port_id;
if (rte_eth_dev_info_get(port_id, &info) < 0)
return errno_set(-ret);
- port->virtio_offloads = strcmp(info.driver_name, "net_virtio") == 0
+ port->virtio_offloads = (strcmp(info.driver_name, "net_virtio") == 0
+ || strcmp(info.driver_name, "net_virtio_user") == 0)
&& (info.rx_offload_capa & RTE_ETH_RX_OFFLOAD_TCP_CKSUM) != 0;
port->devargs = strndup(api->devargs, GR_PORT_DEVARGS_SIZE);
--
2.47.3
More information about the grout
mailing list