| 372 | } |
| 373 | |
| 374 | static inline void |
| 375 | flush_one_port(struct output_buffer *outbuf, uint8_t outp) |
| 376 | { |
| 377 | unsigned int nb_tx = rte_eth_tx_burst(outp, 0, |
| 378 | outbuf->mbufs, outbuf->count); |
| 379 | app_stats.tx.tx_pkts += outbuf->count; |
| 380 | |
| 381 | if (unlikely(nb_tx < outbuf->count)) { |
| 382 | app_stats.tx.enqdrop_pkts += outbuf->count - nb_tx; |
| 383 | do { |
| 384 | rte_pktmbuf_free(outbuf->mbufs[nb_tx]); |
| 385 | } while (++nb_tx < outbuf->count); |
| 386 | } |
| 387 | outbuf->count = 0; |
| 388 | } |
| 389 | |
| 390 | static inline void |
| 391 | flush_all_ports(struct output_buffer *tx_buffers) |
no test coverage detected