18. ABI and API Deprecation
See the guidelines document for details of the ABI policy. API and ABI deprecation notices are to be posted here.
18.1. Deprecation Notices
- 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
can be got using the
pip3, tool for downloading python packages.
- kvargs: The function
rte_kvargs_processwill get a new parameter for returning key match count. It will ease handling of no-match case.
- eal: The
rte_service_attr_get()will be changed from
uint64_t *as the attributes are of type
- eal: both declaring and identifying devices will be streamlined in v18.11.
New functions will appear to query a specific port from buses, classes of
device and device drivers. Device declaration will be made coherent with the
new scheme of device identification.
rte_devargsdevice representation will change.
- The enum
rte_devtypewas used to identify a bus and will disappear.
- Functions previously deprecated will change or disappear:
- The enum
- pci: Several exposed functions are misnamed.
The following functions are deprecated starting from v17.11 and are replaced:
- dpaa2: removal of
rte_dpaa2_memsegsstructure which has been replaced by a pa-va search library. This structure was earlier being used for holding memory segments used by dpaa2 driver for faster pa->va translation. This structure would be made internal (or removed if all dependencies are cleared) in future releases.
- ethdev: the legacy filter API, including
rte_eth_dev_filter_ctrl()as well as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR, HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in PMDs that implement the latter. Target release for removal of the legacy API will be defined once most PMDs have switched to rte_flow.
- ethdev: Maximum and minimum MTU values vary between hardware devices. In
hardware agnostic DPDK applications access to such information would allow
a more accurate way of validating and setting supported MTU values on a per
device basis rather than using a defined default for all devices. To
resolve this, the following members will be added to
rte_eth_dev_info. Note: these can be added to fit a hole in the existing structure for amd64 but not for 32-bit, as such ABI change will occur as size of the structure will increase.
uint16_t min_mtuthe minimum MTU allowed.
uint16_t max_mtuthe maximum MTU allowed.
- meter: New
rte_colordefinition will be added in 19.02 and that will replace
enum rte_meter_colorin meter library in 19.05. This will help to consolidate color definition, which is currently replicated in many places, such as: rte_meter.h, rte_mtr.h, rte_tm.h.
- crypto/aesni_mb: the minimum supported intel-ipsec-mb library version will be changed from 0.49.0 to 0.52.0.