Deprecation Notices
-------------------
+* make: Support for building DPDK with "make" has been deprecated and
+ support will be removed in the 20.11 release. From 20.11 onwards, DPDK
+ should be built using meson and ninja. For basic instructions see the
+ `Quick-start Guide <https://core.dpdk.org/doc/quick-start/>`_ on the
+ website or the `Getting Started Guide
+ <https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html>`_ document.
+
* meson: The minimum supported version of meson for configuring and building
DPDK will be increased to v0.47.1 (from 0.41) from DPDK 19.05 onwards. For
those users with a version earlier than 0.47.1, an updated copy of meson
These wrappers must be used for patches that need to be merged in 20.08
onwards. This change will not introduce any performance degradation.
+* rte_cio_*mb: Since the IO barriers for ARMv8 platforms are relaxed from DSB
+ to DMB, rte_cio_*mb APIs provide the same functionality as rte_io_*mb
+ APIs (taking all platforms into consideration). rte_io_*mb APIs should be
+ used in the place of rte_cio_*mb APIs. The rte_cio_*mb APIs will be
+ deprecated in 20.11 release.
+
* igb_uio: In the view of reducing the kernel dependency from the main tree,
as a first step, the Technical Board decided to move ``igb_uio``
kernel module to the dpdk-kmods repository in the /linux/igb_uio/ directory
us extending existing enum/define.
One solution can be using a fixed size array instead of ``.*MAX.*`` value.
+* pci: The PCI resources map API (``pci_map_resource`` and
+ ``pci_unmap_resource``) was not abstracting the Unix mmap flags (see the
+ workaround for Windows support implemented in the commit
+ 9d2b24593724 ("pci: keep API compatibility with mmap values")).
+ This API will be removed from the public API in 20.11 and moved to the PCI
+ bus driver along with the PCI resources lists and associated structures
+ (``pci_map``, ``pci_msix_table``, ``mapped_pci_resource`` and
+ ``mapped_pci_res_list``).
+ With this removal, there won't be a need for the mentioned workaround which
+ will be reverted.
+
+* pci: The ``rte_kernel_driver`` enum defined in rte_dev.h will be made private
+ to the PCI subsystem as it is used only by the PCI bus driver and PCI
+ drivers.
+ The associated field ``kdrv`` in the ethdev ``rte_eth_dev_data`` structure
+ will be removed as it gave no useful abstracted information to the
+ applications and had no user (neither internal nor external).
+
* ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
will be done in 20.11.
Currently the ``struct eth_dev_ops`` struct is accessible by the application
Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
APIs can be used as replacement.
+* ethdev: Some internal APIs for driver usage are exported in the .map file.
+ Now DPDK has ``__rte_internal`` marker so we can mark internal APIs and move
+ them to the INTERNAL block in .map. Although these APIs are internal it will
+ break the ABI checks, that is why change is planned for 20.11.
+ The list of internal APIs are mainly ones listed in ``rte_ethdev_driver.h``.
+
* traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made
ABI stable in the v19.11 release. The TM maintainer and other contributors have
agreed to keep the TM APIs as experimental in expectation of additional spec
experimental in v20.11 DPDK release. For more details, please see `the thread
<https://mails.dpdk.org/archives/dev/2020-April/164970.html>`_.
+* pmd_dpaa: The API ``rte_pmd_dpaa_set_tx_loopback`` will have extended
+ ``port_id`` definition from ``uint8_t`` to ``uint16_t``.
+
* cryptodev: support for using IV with all sizes is added, J0 still can
be used but only when IV length in following structs ``rte_crypto_auth_xform``,
``rte_crypto_aead_xform`` is set to zero. When IV length is greater or equal
to one it means it represents IV, when is set to zero it means J0 is used
directly, in this case 16 bytes of J0 need to be passed.
+* eventdev: Following structures will be modified to support DLB PMD
+ and future extensions:
+
+ - ``rte_event_dev_info``
+ - ``rte_event_dev_config``
+ - ``rte_event_port_conf``
+
+ Patches containing justification, documentation, and proposed modifications
+ can be found at:
+
+ - https://patches.dpdk.org/patch/71457/
+ - https://patches.dpdk.org/patch/71456/
+
+* rawdev: The rawdev APIs which take a device-specific structure as
+ parameter directly, or indirectly via a "private" pointer inside another
+ structure, will be modified to take an additional parameter of the
+ structure size. The affected APIs will include ``rte_rawdev_info_get``,
+ ``rte_rawdev_configure``, ``rte_rawdev_queue_conf_get`` and
+ ``rte_rawdev_queue_setup``.
+
* sched: To allow more traffic classes, flexible mapping of pipe queues to
traffic classes, and subport level configuration of pipes and queues
changes will be made to macros, data structures and API functions defined
in "rte_sched.h". These changes are aligned to improvements suggested in the
RFC https://mails.dpdk.org/archives/dev/2018-November/120035.html.
+* mbuf: ``refcnt_atomic`` member in structures ``rte_mbuf`` and
+ ``rte_mbuf_ext_shared_info`` is of type ``rte_atomic16_t``. Due to adoption
+ of C11 atomic builtins it will be of type ``uint16_t``. ``refcnt_atomic``
+ will be removed in 20.11. It will be replaced with ``refcnt`` of type
+ ``uint16_t``.
+
* metrics: The function ``rte_metrics_init`` will have a non-void return
in order to notify errors instead of calling ``rte_exit``.
Python 2 support will be completely removed in 20.11.
In 20.08, explicit deprecation warnings will be displayed when running
scripts with Python 2.
-
-* pci: Remove ``RTE_KDRV_NONE`` based device driver probing.
- In order to optimize the DPDK PCI enumeration management, ``RTE_KDRV_NONE``
- based device driver probing will be removed in v20.08.
- The legacy virtio is the only consumer of ``RTE_KDRV_NONE`` based device
- driver probe scheme. The legacy virtio support will be available through
- the existing VFIO/UIO based kernel driver scheme.
- More details at https://patches.dpdk.org/patch/69351/