> > > >Hi Harish, >> >> >> >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 >> >drivers/net/cxgbe/sge.c >> >drivers/net/e1000/em_rxtx.c >> >drivers/net/e1000/igb_rxtx.c >> >drivers/net/ena/ena_ethdev.c >> >drivers/net/enic/enic_rxtx.c >> >drivers/net/fm10k/fm10k_rxtx.c >> >drivers/net/i40e/i40e_rxtx.c >> >drivers/net/ixgbe/ixgbe_rxtx.c >> >drivers/net/mlx4/mlx4.c >> >drivers/net/mlx5/mlx5_rxtx.c >> >drivers/net/nfp/nfp_net.c >> >drivers/net/qede/qede_rxtx.c >> >drivers/net/thunderx/nicvf_rxtx.c >> >drivers/net/virtio/virtio_rxtx.c >> >drivers/net/vmxnet3/vmxnet3_rxtx.c >> > >> >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" >> > >> >> qede PMD doesn?t currently support TSO yet, it only supports Tx >>TCP/UDP/IP >> csum offloads. >> So Tx preparation isn?t applicable. So as of now - >> "it is OK, we do not need any checksum preparation for TSO" > >Thanks for the answer. >Though please note that it not only for TSO.
Okay. I initially thought so. But was not sure, so I explicitly indicated that there is no TSO support. >This is for any TX offload for which the upper layer SW would have >to modify the contents of the packet. >Though as I can see for qede neither PKT_TX_IP_CKSUM or PKT_TX_TCP_CKSUM >exhibits any extra requirements for the user. >Is that correct? That?s right. > >Konstantin > > >> >> >> Thanks, >> Harish > >