Re: [PATCH] doc: announce ABI change for rte_eth_dev structure
From: Vlad Zolotarov <hidden>
Date: 2016-07-31 08:10:28
On 07/31/2016 10:46 AM, Vlad Zolotarov wrote:
On 07/20/2016 05:24 PM, Tomasz Kulasek wrote:quoted
This is an ABI deprecation notice for DPDK 16.11 in librte_ether about changes in rte_eth_dev and rte_eth_desc_lim structures. In 16.11, we plan to introduce rte_eth_tx_prep() function to do necessary preparations of packet burst to be safely transmitted on device for desired HW offloads (set/reset checksum field according to the hardware requirements) and check HW constraints (number of segments per packet, etc). While the limitations and requirements may differ for devices, it requires to extend rte_eth_dev structure with new function pointer "tx_pkt_prep" which can be implemented in the driver to prepare and verify packets, in devices specific way, before burst, what should to prevent application to send malformed packets. Also new fields will be introduced in rte_eth_desc_lim: nb_seg_max and nb_mtu_seg_max, providing an information about max segments in TSO and non TSO packets acceptable by device. Signed-off-by: Tomasz Kulasek <redacted>Acked-by: Vlad Zolotarov <redacted>
One small comment however. Although this function is a must we need a way to clearly understand which one the clusters are malformed since dropping the whole bulk is usually not an option and sending the malformed packets anyway may cause a HW hang, thus not an option as well. Another thing - I've pulled the current master and I couldn't find the way an application may query the mentioned Tx offload HW limitation, e.g. maximum number of segments. Knowing this limitation would avoid extra liniarization. thanks, vlad
quoted
--- doc/guides/rel_notes/deprecation.rst | 7 +++++++ 1 file changed, 7 insertions(+)diff --git a/doc/guides/rel_notes/deprecation.rstb/doc/guides/rel_notes/deprecation.rst index f502f86..485aacb 100644--- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst@@ -41,3 +41,10 @@ Deprecation Notices * The mempool functions for single/multi producer/consumer aredeprecated and will be removed in 16.11. It is replaced by rte_mempool_generic_get/put functions. + +* In 16.11 ABI changes are plained: the ``rte_eth_dev`` structure will be + extended with new function pointer ``tx_pkt_prep`` allowing verification + and processing of packet burst to meet HW specific requirements before + transmit. Also new fields will be added to the ``rte_eth_desc_lim`` structure: + ``nb_seg_max`` and ``nb_mtu_seg_max`` provideing information about number of + segments limit to be transmitted by device for TSO/non-TSO packets.