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 
pip, orpip3, 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 
attr_valueparameter ofrte_service_attr_get()will be changed fromuint32_t *touint64_t *as the attributes are of typeuint64_t. - 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.
As such, 
rte_devargsdevice representation will change.- The enum 
rte_devtypewas used to identify a bus and will disappear. - Functions previously deprecated will change or disappear:
rte_eal_devargs_type_count
 
 - The enum 
 - pci: Several exposed functions are misnamed.
The following functions are deprecated starting from v17.11 and are replaced:
eal_parse_pci_BDFreplaced byrte_pci_addr_parseeal_parse_pci_DomBDFreplaced byrte_pci_addr_parserte_eal_compare_pci_addrreplaced byrte_pci_addr_cmp
 - 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_supported(),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.- Member 
uint16_t min_mtuthe minimum MTU allowed. - Member 
uint16_t max_mtuthe maximum MTU allowed. 
 - Member 
 - meter: New 
rte_colordefinition will be added in 19.02 and that will replaceenum 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.