Hi, In some rx_burst functions, especially for vectorized ones (e.g. i40e_rxtx_vec* or mlx5_rxtx_vec*), there's actually a requirement of min burst size.
As it manipulates 4 packets simultaneously in a loop, if nb_pkts of rte_eth_rx_burst() is less than 4, it just returns without sending a packet. One way to handle it could be falling back to regular rx_burst in such cases but the burst size isn't a fixed/static parameter but applications can dynamically change it when it polls a device. So, it might not be a good option. Therefore, how about adding min_rx/tx_burst_sz in struct rte_eth_dev_info and have PMDs fill it in on dev_ops->dev_infos_get() so as to make apps comply with it. Because the max size of a burst can be handled well by PMD, it may not be necessary. Thoughts? Thanks, Yongseok