Hi Honnappa, > -----Original Message----- > From: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> > Sent: Wednesday, February 9, 2022 12:36 PM > To: Xing, Beilei <beilei.x...@intel.com>; dev@dpdk.org > Cc: Feifei Wang <feifei.wa...@arm.com>; Ruifeng Wang > <ruifeng.w...@arm.com>; Yigit, Ferruh <ferruh.yi...@intel.com>; Richardson, > Bruce <bruce.richard...@intel.com>; nd <n...@arm.com>; nd <n...@arm.com> > Subject: Questions on i40e TX path > > Hi Beilei, > I want to make sure my understanding of the TX path is correct. > Following is my understanding. > > 1) The RS bit must be set in the TX descriptors to ask the NIC to report back > the > send status. Not for each Tx descriptor. According to the datasheet, " The RS flag can be set only on a last Transmit Data Descriptor of a packet or last Transmit Data Descriptor of a TSO or last Transmit Data Descriptor of a filter."
> 2) The NIC reports the send completion by setting the DTYPE field to 0xf. This > also indicates that all the earlier descriptors are also done sending the > packets. Yes. > 3) The check "if (txq->nb_tx_free < txq->tx_free_thresh)" is mainly to ensure > that > we do not check the "descriptor done" status too often. This condition is to ensure there're enough free descriptors for Tx, avoid Tx ring full. > > Is my understanding correct? > > Thank you, > Honnappa