MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sfc_efx_prepare_pkts

Function sfc_efx_prepare_pkts

dpdk/drivers/net/sfc/sfc_tx.c:813–841  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

811}
812
813static uint16_t
814sfc_efx_prepare_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
815 uint16_t nb_pkts)
816{
817 struct sfc_dp_txq *dp_txq = tx_queue;
818 struct sfc_efx_txq *txq = sfc_efx_txq_by_dp_txq(dp_txq);
819 const efx_nic_cfg_t *encp = efx_nic_cfg_get(txq->evq->sa->nic);
820 uint16_t i;
821
822 for (i = 0; i < nb_pkts; i++) {
823 int ret;
824
825 /*
826 * EFX Tx datapath may require extra VLAN descriptor if VLAN
827 * insertion offload is requested regardless the offload
828 * requested/supported.
829 */
830 ret = sfc_dp_tx_prepare_pkt(tx_pkts[i], 0, SFC_TSOH_STD_LEN,
831 encp->enc_tx_tso_tcp_header_offset_limit,
832 txq->max_fill_level, EFX_TX_FATSOV2_OPT_NDESCS,
833 1);
834 if (unlikely(ret != 0)) {
835 rte_errno = ret;
836 break;
837 }
838 }
839
840 return i;
841}
842
843static uint16_t
844sfc_efx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)

Callers

nothing calls this directly

Calls 3

sfc_efx_txq_by_dp_txqFunction · 0.85
efx_nic_cfg_getFunction · 0.85
sfc_dp_tx_prepare_pktFunction · 0.85

Tested by

no test coverage detected