On 3/30/2017 2:30 PM, Thomas Monjalon wrote: > 2017-03-29 10:36, Olivier Matz: >> This patchset introduces a new ethdev API: >> - rte_eth_rx_descriptor_status() >> - rte_eth_tx_descriptor_status() >> >> The Rx API is aims to replace rte_eth_rx_descriptor_done() which >> does almost the same, but does not differentiate the case of a >> descriptor used by the driver (not returned to the hw). >> >> The usage of these functions can be: >> - on Rx, anticipate that the cpu is not fast enough to process >> all incoming packets, and take dispositions to solve the >> problem (add more cpus, drop specific packets, ...) >> - on Tx, detect that the link is overloaded, and take dispositions >> to solve the problem (notify flow control, drop specific >> packets) >> >> The patchset updates ixgbe, i40e, e1000, mlx5. >> The other drivers that implement the descriptor_done() API are >> fm10k, sfc, virtio. They are not updated.
Reminder for following PMDs: - fm10k - sfc - virtio There are two new eth_dev_ops: rx_descriptor_status tx_descriptor_status "rx_descriptor_status" replaces "rx_descriptor_done" It is suggested to switch to new one, and implement tx_descriptor_status Thanks, ferruh >> If the new API is accepted, the descriptor_done() can be deprecated, >> and examples/l3fwd-power will be updated to. > > Applied, thanks > > Next steps: > - implement it in other drivers > - deprecate descriptor_done API > > Ferruh, please, could you check with drivers maintainers? > Thanks >