mbuf: add new Rx flags for stripped VLAN
[dpdk.git] / doc / guides / rel_notes / deprecation.rst
index 9979982..702dfce 100644 (file)
@@ -8,39 +8,54 @@ API and ABI deprecation notices are to be posted here.
 Deprecation Notices
 -------------------
 
-* The EAL function pci_config_space_set is deprecated in release 16.04
-  and will be removed from 16.07.
-  Macros CONFIG_RTE_PCI_CONFIG, CONFIG_RTE_PCI_EXTENDED_TAG and
-  CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE will be removed.
-
-* The following fields have been deprecated in rte_eth_stats:
-  ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
-  tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff
-
-* The ethdev structures rte_eth_link, rte_eth_dev_info and rte_eth_conf
-  must be updated to support 100G link and to have a cleaner link speed API.
-
-* ABI changes are planned for struct rte_eth_fdir_flow in order to support
-  extend flow director's input set. The release 2.2 does not contain these ABI
-  changes, but release 2.3 will, and no backwards compatibility is planned.
-
-* ABI changes are planned for rte_eth_ipv4_flow and rte_eth_ipv6_flow to
-  include more fields to be matched against. The release 2.2 does not
-  contain these ABI changes, but release 2.3 will.
+* The log history is deprecated.
+  It is voided in 16.07 and will be removed in release 16.11.
+
+* 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
+  available to both of them. This API will be stripped of the device arguments
+  so that it only cares about hotplugging.
+
+* Structures embodying pci and vdev devices are going to be reworked to
+  integrate new common rte_device / rte_driver objects (see
+  http://dpdk.org/ml/archives/dev/2016-January/031390.html).
+  ethdev and crypto libraries will then only handle those objects so that they
+  do not need to care about the kind of devices that are being used, making it
+  easier to add new buses later.
+
+* 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.
-
-* ABI changes are planned for rte_eth_tunnel_filter_conf. Change the fields
-  of outer_mac and inner_mac from pointer to struct in order to keep the
-  code's readability. The release 2.2 does not contain these ABI changes, but
-  release 2.3 will, and no backwards compatibility is planned.
-
-* The scheduler statistics structure will change to allow keeping track of
-  RED actions.
-
-* librte_pipeline: The prototype for the pipeline input port, output port
-  and table action handlers will be updated:
-  the pipeline parameter will be added, the packets mask parameter will be
-  either removed (for input port action handler) or made input-only.
+  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.
+
+* 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.