On Mon, ?? Nov 28, 2016 at 5:03 AM, Thomas Monjalon <thomas.monjalon at 6wind.com> wrote:
> We need attention of every PMD developers on this thread. > > Reminder of what Konstantin suggested: > " > - if the PMD supports TX offloads AND > - if to be able use any of these offloads the upper layer SW would have to: > * modify the contents of the packet OR > * obey HW specific restrictions > then it is a PMD developer responsibility to provide tx_prep() that would > implement > expected modifications of the packet contents and restriction checks. > Otherwise, tx_prep() implementation is not required and can be safely set > to NULL. > " > > I copy/paste also my previous conclusion: > > Before txprep, there is only one API: the application must prepare the > packets checksum itself (get_psd_sum in testpmd). > With txprep, the application have 2 choices: keep doing the job itself > or call txprep which calls a PMD-specific function. > The question is: does non-Intel drivers need a checksum preparation for > TSO? > Will it behave well if txprep does nothing in these drivers? > > When looking at the code, most of drivers handle the TSO flags. > But it is hard to know whether they rely on the pseudo checksum or not. > > git grep -l 'PKT_TX_UDP_CKSUM\|PKT_TX_TCP_CKSUM\|PKT_TX_TCP_SEG' > drivers/net/ > > drivers/net/bnxt/bnxt_txr.c > ?::: snip::: ? > > Please, we need a comment for each driver saying > "it is OK, we do not need any checksum preparation for TSO" > or > "yes we have to implement tx_prepare or TSO will not work in this mode" > ?The bnxt devices don't need pse ?? udo header checksum in the packet for TSO or TX checksum offload. ? So.. ? "it is OK, we do not need any checksum preparation for TSO"