Thread (27 messages) 27 messages, 7 authors, 2016-07-31

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.rst 
b/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 are 
deprecated 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help