X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Fupdating_apps.rst;h=b49cb6129e77ecd69d422cfd42fb2725adab1f59;hb=4d4ebca430474180cdc5cb14edfda04ee4189d19;hp=ba8012d61bb8b3a31e2acd77bfeeb2c87b36bc83;hpb=aae5e11e847ec0b07b00c14564fdef787a0f3595;p=dpdk.git diff --git a/doc/guides/rel_notes/updating_apps.rst b/doc/guides/rel_notes/updating_apps.rst index ba8012d61b..b49cb6129e 100644 --- a/doc/guides/rel_notes/updating_apps.rst +++ b/doc/guides/rel_notes/updating_apps.rst @@ -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: @@ -54,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. @@ -92,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.