doc: announce parameter change of a service API function
[dpdk.git] / doc / guides / rel_notes / deprecation.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2018 The DPDK contributors
3
4 ABI and API Deprecation
5 =======================
6
7 See the :doc:`guidelines document for details of the ABI policy </contributing/versioning>`.
8 API and ABI deprecation notices are to be posted here.
9
10
11 Deprecation Notices
12 -------------------
13
14 * meson: The minimum supported version of meson for configuring and building
15   DPDK will be increased to v0.47.1 (from 0.41) from DPDK 19.05 onwards. For
16   those users with a version earlier than 0.47.1, an updated copy of meson
17   can be got using the ``pip``, or ``pip3``, tool for downloading python
18   packages.
19
20 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
21   for returning key match count. It will ease handling of no-match case.
22
23 * eal: The ``attr_value`` parameter of ``rte_service_attr_get()``
24   will be changed from ``uint32_t *`` to ``uint64_t *``
25   as the attributes are of type ``uint64_t``.
26
27 * eal: both declaring and identifying devices will be streamlined in v18.11.
28   New functions will appear to query a specific port from buses, classes of
29   device and device drivers. Device declaration will be made coherent with the
30   new scheme of device identification.
31   As such, ``rte_devargs`` device representation will change.
32
33   - The enum ``rte_devtype`` was used to identify a bus and will disappear.
34   - Functions previously deprecated will change or disappear:
35
36     + ``rte_eal_devargs_type_count``
37
38 * pci: Several exposed functions are misnamed.
39   The following functions are deprecated starting from v17.11 and are replaced:
40
41   - ``eal_parse_pci_BDF`` replaced by ``rte_pci_addr_parse``
42   - ``eal_parse_pci_DomBDF`` replaced by ``rte_pci_addr_parse``
43   - ``rte_eal_compare_pci_addr`` replaced by ``rte_pci_addr_cmp``
44
45 * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced
46   by a pa-va search library. This structure was earlier being used for holding
47   memory segments used by dpaa2 driver for faster pa->va translation. This
48   structure would be made internal (or removed if all dependencies are cleared)
49   in future releases.
50
51 * ethdev: the legacy filter API, including
52   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
53   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
54   HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
55   PMDs that implement the latter.
56   Target release for removal of the legacy API will be defined once most
57   PMDs have switched to rte_flow.
58
59 * ethdev: Maximum and minimum MTU values vary between hardware devices. In
60   hardware agnostic DPDK applications access to such information would allow
61   a more accurate way of validating and setting supported MTU values on a per
62   device basis rather than using a defined default for all devices. To
63   resolve this, the following members will be added to ``rte_eth_dev_info``.
64   Note: these can be added to fit a hole in the existing structure for amd64
65   but not for 32-bit, as such ABI change will occur as size of the structure
66   will increase.
67
68   - Member ``uint16_t min_mtu`` the minimum MTU allowed.
69   - Member ``uint16_t max_mtu`` the maximum MTU allowed.
70
71 * crypto/aesni_mb: the minimum supported intel-ipsec-mb library version will be
72   changed from 0.49.0 to 0.52.0.