Hello,

On Wed, Sep 13, 2023 at 8:55 AM Dexia Li via dev
<[email protected]> wrote:
>
> when userspace tso enabled, mbuf RTE_MBUF_F_TX_TCP_SEG and 
> RTE_MBUF_F_TX_TCP_CKSUM
>
> flag bits all positioned will result in driver hang using intel E810 vf
>
> driver iavf. As refered to dpdk csum example, RTE_MBUF_F_TX_TCP_SEG
>
> should only be positioned when tso is open.
>
> Signed-off-by: Dexia Li <[email protected]>

Sorry, I am missing something...

The mbuf API mentions that it is implied that RTE_MBUF_F_TX_TCP_CKSUM
is set along RTE_MBUF_F_TX_TCP_SEG.
Meaning that an application may request both RTE_MBUF_F_TX_TCP_SEG or
RTE_MBUF_F_TX_TCP_SEG | RTE_MBUF_F_TX_TCP_CKSUM.
And iirc the combination of both RTE_MBUF_F_TX_TCP_CKSUM and
RTE_MBUF_F_TX_TCP_SEG is accepted in some dpdk drivers.


Looking at the 22.11 iavf driver, the scalar tx handler looks at tso
requests first, prepares the descriptor and stops at this.
It won't look at tcp checksum flags.
https://git.dpdk.org/dpdk-stable/tree/drivers/net/iavf/iavf_rxtx.c?h=v22.11.3#n2623
https://git.dpdk.org/dpdk-stable/tree/drivers/net/iavf/iavf_rxtx.c?h=v22.11.3#n2637

As far as the vector tx handlers are concerned, I think they are not
usable with TSO requests, and I think the iavf_tx_vec_queue_default()
check prevents such requests from the application.
Can you perhaps double check which tx handler is in use (gdb is the
only option to retrieve this information on a running application
using dpdk 22.11)?


-- 
David Marchand

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to