doc: announce ethdev API fix for port id size
[dpdk.git] / doc / guides / rel_notes / deprecation.rst
index 7befd94..9b55761 100644 (file)
@@ -76,6 +76,24 @@ Deprecation Notices
     customize objects population and allocate contiguous
     block of objects if underlying driver supports it.
 
+* mbuf: The control mbuf API will be removed in v18.05. The impacted
+  functions and macros are:
+
+  - ``rte_ctrlmbuf_init()``
+  - ``rte_ctrlmbuf_alloc()``
+  - ``rte_ctrlmbuf_free()``
+  - ``rte_ctrlmbuf_data()``
+  - ``rte_ctrlmbuf_len()``
+  - ``rte_is_ctrlmbuf()``
+  - ``CTRL_MBUF_FLAG``
+
+  The packet mbuf API should be used as a replacement.
+
+* mbuf: The opaque ``mbuf->hash.sched`` field will be updated to support generic
+  definition in line with the ethdev TM and MTR APIs. Currently, this field
+  is defined in librte_sched in a non-generic way. The new generic format
+  will contain: queue ID, traffic class, color. Field size will not change.
+
 * ethdev: a new Tx and Rx offload API was introduced on 17.11.
   In the new API, offloads are divided into per-port and per-queue offloads.
   Offloads are disabled by default and enabled per application request.
@@ -93,6 +111,54 @@ Deprecation Notices
   Target release for removal of the legacy API will be defined once most
   PMDs have switched to rte_flow.
 
+* ethdev: A new rss level field planned in 18.05.
+  The new API add rss_level field to ``rte_eth_rss_conf`` to enable a choice
+  of RSS hash calculation on outer or inner header of tunneled packet.
+
+* ethdev:  Currently, if the  rte_eth_rx_burst() function returns a value less
+  than *nb_pkts*, the application will assume that no more packets are present.
+  Some of the hw queue based hardware can only support smaller burst for RX
+  and TX and thus break the expectation of the rx_burst API. Similar is the
+  case for TX burst as well as ring sizes. ``rte_eth_dev_info`` will be added
+  with following new parameters so as to support semantics for drivers to
+  define a preferred size for Rx/Tx burst and rings.
+
+  - Member ``struct preferred_size`` would be added to enclose all preferred
+    size to be fetched from driver/implementation.
+  - Members ``uint16_t rx_burst``,  ``uint16_t tx_burst``, ``uint16_t rx_ring``,
+    and ``uint16_t tx_ring`` would be added to ``struct preferred_size``.
+
+* ethdev: A work is being planned for 18.05 to expose VF port representors
+  as a mean to perform control and data path operation on the different VFs.
+  As VF representor is an ethdev port, new fields are needed in order to map
+  between the VF representor and the VF or the parent PF. Those new fields
+  are to be included in ``rte_eth_dev_info`` struct.
+
+* ethdev: The prototype and the behavior of
+  ``dev_ops->eth_mac_addr_set()`` will change in v18.05. A return code
+  will be added to notify the caller if an error occurred in the PMD. In
+  ``rte_eth_dev_default_mac_addr_set()``, the new default MAC address
+  will be copied in ``dev->data->mac_addrs[0]`` only if the operation is
+  successful. This modification will only impact the PMDs, not the
+  applications.
+
+* ethdev: functions add rx/tx callback will return named opaque type
+  ``rte_eth_add_rx_callback()``, ``rte_eth_add_first_rx_callback()`` and
+  ``rte_eth_add_tx_callback()`` functions currently return callback object as
+  ``void \*`` but APIs to delete callbacks get ``struct rte_eth_rxtx_callback \*``
+  as parameter. For consistency functions adding callback will return
+  ``struct rte_eth_rxtx_callback \*`` instead of ``void \*``.
+
+* ethdev: The size of variables ``flow_types_mask`` in
+  ``rte_eth_fdir_info structure``, ``sym_hash_enable_mask`` and
+  ``valid_bit_mask`` in ``rte_eth_hash_global_conf`` structure
+  will be increased from 32 to 64 bits to fulfill hardware requirements.
+  This change will break existing ABI as size of the structures will increase.
+
+* ethdev: ``rte_eth_dev_get_sec_ctx()`` fix port id storage
+  ``rte_eth_dev_get_sec_ctx()`` is using ``uint8_t`` for ``port_id``,
+  which should be ``uint16_t``.
+
 * i40e: The default flexible payload configuration which extracts the first 16
   bytes of the payload for RSS will be deprecated starting from 18.02. If
   required the previous behavior can be configured using existing flow