mbuf: introduce a new helper to create a pool
[dpdk.git] / doc / guides / rel_notes / updating_apps.rst
old mode 100755 (executable)
new mode 100644 (file)
index ba8012d..f4dd196
@@ -1,11 +1,44 @@
 Updating Applications from Previous Versions
 ============================================
 
-Although backward compatibility is being maintained across Intel® DPDK releases, code written for previous versions of the Intel® DPDK
-may require some code updates to benefit from performance and user experience enhancements provided in later Intel® DPDK releases.
+Although backward compatibility is being maintained across DPDK releases, code written for previous versions of the DPDK
+may require some code updates to benefit from performance and user experience enhancements provided in later DPDK releases.
 
-Intel® DPDK 1.6 to Intel® DPDK 1.7
-----------------------------------
+DPDK 2.0 to DPDK 2.1
+--------------------
+
+*   The second argument of rte_pktmbuf_pool_init(mempool, opaque) is now a
+    pointer to a struct rte_pktmbuf_pool_private instead of a uint16_t
+    casted into a pointer. Backward compatibility is preserved when the
+    argument was NULL which is the majority of use cases, but not if the
+    opaque pointer was not NULL, as it is not technically feasible. In
+    this case, the application has to be modified to properly fill a
+    rte_pktmbuf_pool_private structure and pass it to
+    rte_pktmbuf_pool_init().
+
+*   A simpler helper rte_pktmbuf_pool_create() can be used to create a
+    packet mbuf pool. The old way using rte_mempool_create() is still
+    supported though and is still used for more specific cases.
+
+DPDK 1.7 to DPDK 1.8
+--------------------
+
+Note that in DPDK 1.8, the structure of the rte_mbuf has changed considerably from all previous versions.
+It is recommended that users familiarize themselves with the new structure defined in the file rte_mbuf.h in the release package.
+The follow are some common changes that need to be made to code using mbufs, following an update to DPDK 1.8:
+
+*   Any references to fields in the pkt or ctrl sub-structures of the mbuf, need to be replaced with references to the field
+    directly from the rte_mbuf, i.e. buf->pkt.data_len should be replace by buf->data_len.
+
+*   Any direct references to the data field of the mbuf (original buf->pkt.data) should now be replace by the macro rte_pktmbuf_mtod
+    to get a computed data address inside the mbuf buffer area.
+
+*   Any references to the in_port mbuf field should be replace by references to the port field.
+
+NOTE: The above list is not exhaustive, but only includes the most commonly required changes to code using mbufs.
+
+Intel® DPDK 1.6 to DPDK 1.7
+---------------------------
 
 Note the following difference between 1.6 and 1.7: