Thread (63 messages) 63 messages, 9 authors, 2021-05-13

Re: [dpdk-dev] [PATCH v4 3/3] vhost: fix offload flags in Rx path

From: David Marchand <hidden>
Date: 2021-05-12 15:20:44

On Wed, May 12, 2021 at 5:30 AM Wang, Yinan [off-list ref] wrote:
Hi David,

Since vhost tx offload can’t work now, we report a Bugzilla as below, could you help to take a look?
https://bugs.dpdk.org/show_bug.cgi?id=702
(I discovered your mail from 05/08 only today, now that I got a new
mail, might be a pebcak from me, sorry...)


- Looking at the bz, there is a first issue/misconception.
testpmd only does TSO or any kind of tx offloading with the csum forward engine.
The iofwd engine won't make TSO possible.


- Let's say we use the csum fwd engine, testpmd configures drivers
through the ethdev API.
The ethdev API states that no offloading is enabled unless requested
by the application.
TSO, l3/l4 checksums offloading are documented as:
https://doc.dpdk.org/guides/nics/features.html#l3-checksum-offload
https://doc.dpdk.org/guides/nics/features.html#lro

But the vhost pmd does not report such capabilities.
https://git.dpdk.org/dpdk/tree/drivers/net/vhost/rte_eth_vhost.c#n1276

So we can't expect testpmd to have tso working with net/vhost pmd.


- The csum offloading engine swaps mac addresses.
I would expect issues with inter vm traffic.


In summary, I think this is a bad test.
If it worked with the commands in the bugzilla before my change (which
I doubt), it was wrong.

We also tried vhost example with VM2VM iperf test, large pkts also can't forwarding.
"large pkts", can you give details?

I tried to use this example, without/with my change, but:

When I try to start this example with a physical port and two vhosts,
I get a crash (division by 0 on vdmq stuff).
When I start it without a physical port, I get a complaint about no
port being enabled.
Passing a portmask 0x1 seems to work, the example starts but, next, no
traffic is forwarded (not even arp).
Hooking gdb, I never get packet dequeued from vhost.


-- 
David Marchand
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help