pci: merge probing and closing functions for linux and bsd
[dpdk.git] / doc / guides / rel_notes / updating_apps.rst
index 034554d..b49cb61 100644 (file)
@@ -4,9 +4,38 @@ Updating Applications from Previous Versions
 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.
 
+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
 ---------------------------
@@ -58,7 +87,7 @@ Intel® DPDK 1.2 to Intel® DPDK 1.3
 
 Note the following difference between releases 1.2 and 1.3:
 
-*   In release 1.3, the Intel® DPDK supports two different 1 GBe drivers: igb and em.
+*   In release 1.3, the Intel® DPDK supports two different 1 GbE drivers: igb and em.
     Both of them are located in the same library: lib_pmd_e1000.a.
     Therefore, the name of the library to link with for the igb PMD has changed from librte_pmd_igb.a to librte_pmd_e1000.a.
 
@@ -96,7 +125,7 @@ Note the following difference between release 1.1 and release 1.2:
 
 *   The method used for managing mbufs on the NIC TX rings for the 10 GbE driver has been modified to improve performance.
     As a result, different parameter values should be passed to the rte_eth_tx_queue_setup() function.
-    The recommended default values are to have tx_thresh.tx_wt hresh, tx_free_thresh,
+    The recommended default values are to have tx_thresh.tx_wthresh, tx_free_thresh,
     as well as the new parameter tx_rs_thresh (all in the struct rte_eth_txconf datatype) set to zero.
     See the "Configuration of Transmit and Receive Queues" section in the *Intel® DPDK Programmer's Guide* for more details.