On 2/21/2020 8:25 AM, Matan Azrad wrote: > From: Viacheslav Ovsiienko >> Sent: Thursday, February 20, 2020 11:18 PM >> To: dev@dpdk.org >> Cc: Matan Azrad <ma...@mellanox.com>; Raslan Darawsheh >> <rasl...@mellanox.com>; Thomas Monjalon <tho...@monjalon.net>; >> ferruh.yi...@intel.com; sta...@dpdk.org >> Subject: [PATCH] net/mlx5: fix last completed built descriptor >> >> The routine sending packets with Multi-Packet Write method assigns the >> wqe_last variable with transmit descriptor (WQE - work queue entry) being >> built. If send queue is close to full state, the WQE has no data yet (trying >> to >> put the first packet) and there is no enough space in descriptor for the next >> packet the WQE is discarded and the stored wqe_last value becomes invalid - >> points to the discarded WQE. >> >> The mlx5_tx_burst_request_completion() routine might set the completion >> request flags in the WQE pointed by wqe_last, it is safe, but the next >> mlx5_tx_burst call uses the WQE as the first free one and request >> completion flags might be overwritten and completion request will be lost >> causing the transmit datapath malfunction. >> >> Fixes: 8b581c690a54 ("net/mlx5: move Tx complete request routine") >> Cc: sta...@dpdk.org >> >> Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> > Acked-by: Matan Azrad <ma...@mellanox.com> >
Applied to dpdk-next-net/master, thanks.