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

Function common_fwd_stream_transmit

dpdk/app/test-pmd/testpmd.h:878–906  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

876}
877
878static inline uint16_t
879common_fwd_stream_transmit(struct fwd_stream *fs, struct rte_mbuf **burst,
880 unsigned int nb_pkts)
881{
882 uint16_t nb_tx;
883 uint32_t retry;
884
885 nb_tx = rte_eth_tx_burst(fs->tx_port, fs->tx_queue, burst, nb_pkts);
886 /*
887 * Retry if necessary
888 */
889 if (unlikely(nb_tx < nb_pkts) && fs->retry_enabled) {
890 retry = 0;
891 while (nb_tx < nb_pkts && retry++ < burst_tx_retry_num) {
892 rte_delay_us(burst_tx_delay_time);
893 nb_tx += rte_eth_tx_burst(fs->tx_port, fs->tx_queue,
894 &burst[nb_tx], nb_pkts - nb_tx);
895 }
896 }
897 fs->tx_packets += nb_tx;
898 if (record_burst_stats)
899 fs->tx_burst_stats.pkt_burst_spread[nb_tx]++;
900 if (unlikely(nb_tx < nb_pkts)) {
901 fs->fwd_dropped += (nb_pkts - nb_tx);
902 rte_pktmbuf_free_bulk(&burst[nb_tx], nb_pkts - nb_tx);
903 }
904
905 return nb_tx;
906}
907
908/* Prototypes */
909unsigned int parse_item_list(const char *str, const char *item_name,

Callers 11

pkt_burst_mac_forwardFunction · 0.85
pkt_burst_mac_swapFunction · 0.85
noisy_eth_tx_burstFunction · 0.85
pkt_burst_5tuple_swapFunction · 0.85
pkt_burst_io_forwardFunction · 0.85
pkt_burst_flow_genFunction · 0.85
ieee1588_packet_fwdFunction · 0.85
reply_to_icmp_echo_rqstsFunction · 0.85
pkt_burst_transmitFunction · 0.85
pkt_burst_recycle_mbufsFunction · 0.85

Calls 2

rte_eth_tx_burstFunction · 0.85
rte_pktmbuf_free_bulkFunction · 0.85

Tested by

no test coverage detected