-Deprecation
-===========
+ABI and API Deprecation
+=======================
See the :doc:`guidelines document for details of the ABI policy </contributing/versioning>`.
API and ABI deprecation notices are to be posted here.
-Help to update from a previous release is provided in
-:doc:`another section </rel_notes/updating_apps>`.
-
Deprecation Notices
-------------------
-* Significant ABI changes are planned for struct rte_eth_dev to support up to
- 1024 queues per port. This change will be in release 2.2.
- There is no backward compatibility planned from release 2.2.
- All binaries will need to be rebuilt from release 2.2.
-
-* The EAL function rte_eal_pci_close_one is deprecated because renamed to
- rte_eal_pci_detach.
-
-* The Macros RTE_HASH_BUCKET_ENTRIES_MAX and RTE_HASH_KEY_LENGTH_MAX are
- deprecated and will be removed with version 2.2.
-
-* Significant ABI changes are planned for struct rte_mbuf, struct rte_kni_mbuf,
- and several ``PKT_RX_`` flags will be removed, to support unified packet type
- from release 2.1. Those changes may be enabled in the upcoming release 2.1
- with CONFIG_RTE_NEXT_ABI.
-
-* librte_malloc library has been integrated into librte_eal. The 2.1 release
- creates a dummy/empty malloc library to fulfill binaries with dynamic linking
- dependencies on librte_malloc.so. Such dummy library will not be created from
- release 2.2 so binaries will need to be rebuilt.
-
-* The following fields have been deprecated in rte_eth_stats:
- imissed, ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
- tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff
+* In 17.02 ABI changes are planned: the ``rte_eth_dev`` structure will be
+ extended with new function pointer ``tx_pkt_prepare`` 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`` providing information about number of
+ segments limit to be transmitted by device for TSO/non-TSO packets.
+
+* ABI changes are planned for 17.02 in the ``rte_mbuf`` structure: some fields
+ may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
+ ``nb_segs`` in one operation, because some platforms have an overhead if the
+ store address is not naturally aligned. Other mbuf fields, such as the
+ ``port`` field, may be moved or removed as part of this mbuf work. A
+ ``timestamp`` will also be added.
+
+* The mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT are deprecated and
+ are respectively replaced by PKT_RX_VLAN_STRIPPED and
+ PKT_RX_QINQ_STRIPPED, that are better described. The old flags and
+ their behavior will be kept until 16.11 and will be removed in 17.02.
+
+* mempool: The functions ``rte_mempool_count`` and ``rte_mempool_free_count``
+ will be removed in 17.02.
+ They are replaced by ``rte_mempool_avail_count`` and
+ ``rte_mempool_in_use_count`` respectively.
+
+* mempool: The functions for single/multi producer/consumer are deprecated
+ and will be removed in 17.02.
+ It is replaced by ``rte_mempool_generic_get/put`` functions.