Deprecation Notices
-------------------
-* The log history is deprecated.
- It is voided in 16.07 and will be removed in release 16.11.
+* The ethdev library file will be renamed from libethdev.* to librte_ethdev.*
+ in release 16.11 in order to have a more consistent namespace.
+
+* In 16.11 ABI changes are planned: 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`` providing information about number of
+ segments limit to be transmitted by device for TSO/non-TSO packets.
* The ethdev hotplug API is going to be moved to EAL with a notification
mechanism added to crypto and ethdev libraries so that hotplug is now
do not need to care about the kind of devices that are being used, making it
easier to add new buses later.
-* ABI changes are planned for struct rte_pci_id, i.e., add new field ``class``.
- This new added ``class`` field can be used to probe pci device by class
- related info. This change should impact size of struct rte_pci_id and struct
- rte_pci_device. The release 16.04 does not contain these ABI changes, but
- release 16.07 will.
-
-* The xstats API and rte_eth_xstats struct will be changed to allow retrieval
- of values without any string copies or parsing.
- No backwards compatibility is planned, as it would require code duplication
- in every PMD that supports xstats.
-
-* ABI changes are planned for adding four new flow types. This impacts
- RTE_ETH_FLOW_MAX. The release 2.2 does not contain these ABI changes,
- but release 2.3 will. [postponed]
-
-* ABI will change for rte_mempool struct to move the cache-related fields
- to the more appropriate rte_mempool_cache struct. The mempool API is
- also changed to enable external cache management that is not tied to EAL
- threads. Some mempool get and put calls are removed in favor of a more
- compact API. The ones that remain are backwards compatible and use the
- per-lcore default cache if available. This change targets release 16.07.
-
-* The rte_mempool struct will be changed in 16.07 to facilitate the new
- external mempool manager functionality.
- The ring element will be replaced with a more generic 'pool' opaque pointer
- to allow new mempool handlers to use their own user-defined mempool
- layout. Also newly added to rte_mempool is a handler index.
- The existing API will be backward compatible, but there will be new API
- functions added to facilitate the creation of mempools using an external
- handler. The 16.07 release will contain these changes.
-
-* A librte_vhost public structures refactor is planned for DPDK 16.07
- that requires both ABI and API change.
- The proposed refactor would expose DPDK vhost dev to applications as
- a handle, like the way kernel exposes an fd to user for locating a
- specific file, and to keep all major structures internally, so that
- we are likely to be free from ABI violations in future.
+* ABI changes are planned for 16.11 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.
+
+* 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 in 16.07 and will be removed in 16.11.
+
+* 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.
+
+* The vhost-cuse will be removed in 16.11. Since v2.1, a large majority of
+ development effort has gone to vhost-user, such as multiple-queue, live
+ migration, reconnect etc. Therefore, vhost-user should be used instead.
+
+* API will change for ``rte_port_source_params`` and ``rte_port_sink_params``
+ structures. The member ``file_name`` data type will be changed from
+ ``char *`` to ``const char *``. This change targets release 16.11.