Message ID | 20210518070728.15341-1-david.marchand@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Maxime Coquelin |
Headers | show |
Series | net/vhost: restore pseudo TSO support | expand |
Context | Check | Description |
---|---|---|
ci/iol-mellanox-Functional | success | Functional Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/intel-Testing | success | Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/github-robot | success | github build: passed |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/checkpatch | success | coding style OK |
Hi David, On 5/18/21 9:07 AM, David Marchand wrote: > The net/vhost pmd does not comply with the ethdev offload API as it does > not report rx/tx offload capabilities wrt TSO and checksum offloading. > On the other hand, the net/vhost pmd lets guest negotiates TSO and > checksum offloading. > > Changing the behavior for rx/tx offload flags handling won't > improve/fix this situation and will break applications that might have > been relying on implicit support of TSO in this driver. > > Revert this behavior change until we have a complete fix. > > Fixes: ca7036b4af3a ("vhost: fix offload flags in Rx path") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > The full fix requires: > - reporting rx/tx_offload_capa, > - supporting sw TSO and checksums for the case when a virtual machine > negotiates this feature, but the application does not configure > DEV_[RT]X_OFFLOAD_* appropriate flags, > > --- > drivers/net/vhost/rte_eth_vhost.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c > index 8524898661..a202931e9a 100644 > --- a/drivers/net/vhost/rte_eth_vhost.c > +++ b/drivers/net/vhost/rte_eth_vhost.c > @@ -1505,7 +1505,7 @@ rte_pmd_vhost_probe(struct rte_vdev_device *dev) > int ret = 0; > char *iface_name; > uint16_t queues; > - uint64_t flags = RTE_VHOST_USER_NET_COMPLIANT_OL_FLAGS; > + uint64_t flags = 0; > uint64_t disable_flags = 0; > int client_mode = 0; > int iommu_support = 0; > As we discussed yesterday, I agree that's the best thing to do while proper TSO support is implemented. Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Thanks, Maxime
> -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Tuesday, May 18, 2021 3:07 PM > To: dev@dpdk.org > Cc: thomas@monjalon.net; Yigit, Ferruh <ferruh.yigit@intel.com>; Maxime > Coquelin <maxime.coquelin@redhat.com>; Xia, Chenbo <chenbo.xia@intel.com> > Subject: [PATCH] net/vhost: restore pseudo TSO support > > The net/vhost pmd does not comply with the ethdev offload API as it does > not report rx/tx offload capabilities wrt TSO and checksum offloading. > On the other hand, the net/vhost pmd lets guest negotiates TSO and > checksum offloading. > > Changing the behavior for rx/tx offload flags handling won't > improve/fix this situation and will break applications that might have > been relying on implicit support of TSO in this driver. > > Revert this behavior change until we have a complete fix. > > Fixes: ca7036b4af3a ("vhost: fix offload flags in Rx path") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > 2.23.0 Applied to next-virtio/main. Thanks.
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c index 8524898661..a202931e9a 100644 --- a/drivers/net/vhost/rte_eth_vhost.c +++ b/drivers/net/vhost/rte_eth_vhost.c @@ -1505,7 +1505,7 @@ rte_pmd_vhost_probe(struct rte_vdev_device *dev) int ret = 0; char *iface_name; uint16_t queues; - uint64_t flags = RTE_VHOST_USER_NET_COMPLIANT_OL_FLAGS; + uint64_t flags = 0; uint64_t disable_flags = 0; int client_mode = 0; int iommu_support = 0;
The net/vhost pmd does not comply with the ethdev offload API as it does not report rx/tx offload capabilities wrt TSO and checksum offloading. On the other hand, the net/vhost pmd lets guest negotiates TSO and checksum offloading. Changing the behavior for rx/tx offload flags handling won't improve/fix this situation and will break applications that might have been relying on implicit support of TSO in this driver. Revert this behavior change until we have a complete fix. Fixes: ca7036b4af3a ("vhost: fix offload flags in Rx path") Signed-off-by: David Marchand <david.marchand@redhat.com> --- The full fix requires: - reporting rx/tx_offload_capa, - supporting sw TSO and checksums for the case when a virtual machine negotiates this feature, but the application does not configure DEV_[RT]X_OFFLOAD_* appropriate flags, --- drivers/net/vhost/rte_eth_vhost.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)