- else {
- pkts_tx[pkts_tx_len] = pkt;
- pkts_tx_len ++;
- }
-
- /* Write packets from output buffer to NIC TX when full burst is available */
- if (unlikely(pkts_tx_len == PKT_TX_BURST_MAX)) {
- /* Write packet burst to NIC TX */
- int ret = rte_eth_tx_burst(port_tx, NIC_TX_QUEUE, pkts_tx, PKT_TX_BURST_MAX);
-
- /* Free buffers for any packets not written successfully */
- if (unlikely(ret < PKT_TX_BURST_MAX)) {
- for ( ; ret < PKT_TX_BURST_MAX; ret ++) {
- rte_pktmbuf_free(pkts_tx[ret]);
- }
- }
-
- /* Empty the output buffer */
- pkts_tx_len = 0;
- }
+ else
+ rte_eth_tx_buffer(port_tx, NIC_TX_QUEUE, tx_buffer, pkt);