mbuf: remove packet type from offload flags
[dpdk.git] / doc / guides / rel_notes / deprecation.rst
1 ABI and API Deprecation
2 =======================
3
4 See the :doc:`guidelines document for details of the ABI policy </contributing/versioning>`.
5 API and ABI deprecation notices are to be posted here.
6
7
8 Deprecation Notices
9 -------------------
10
11 * Significant ABI changes are planned for struct rte_eth_dev to support up to
12   1024 queues per port. This change will be in release 2.2.
13   There is no backward compatibility planned from release 2.2.
14   All binaries will need to be rebuilt from release 2.2.
15
16 * The EAL function rte_eal_pci_close_one is deprecated because renamed to
17   rte_eal_pci_detach.
18
19 * The Macros RTE_HASH_BUCKET_ENTRIES_MAX and RTE_HASH_KEY_LENGTH_MAX are
20   deprecated and will be removed with version 2.2.
21
22 * The function rte_jhash2 is deprecated and should be removed.
23
24 * The field mem_location of the rte_lpm structure is deprecated and should be
25   removed as well as the macros RTE_LPM_HEAP and RTE_LPM_MEMZONE.
26
27 * librte_malloc library has been integrated into librte_eal. The 2.1 release
28   creates a dummy/empty malloc library to fulfill binaries with dynamic linking
29   dependencies on librte_malloc.so. Such dummy library will not be created from
30   release 2.2 so binaries will need to be rebuilt.
31
32 * The following fields have been deprecated in rte_eth_stats:
33   imissed, ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
34   tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff
35
36 * API for flow director filters has been replaced by rte_eth_dev_filter_ctrl.
37   Following old API is deprecated and will be removed with version 2.2 without
38   backward compatibility.
39   Functions: rte_eth_dev_fdir_*.
40   Structures: rte_fdir_*, rte_eth_fdir.
41   Enums: rte_l4type, rte_iptype.
42
43 * ABI changes are planned for struct rte_eth_fdir_flow_ext in order to support
44   flow director filtering in VF. The release 2.1 does not contain these ABI
45   changes, but release 2.2 will, and no backwards compatibility is planned.
46
47 * ABI change is planned to extend the SCTP flow's key input from release 2.1.
48   The change may be enabled in the release 2.1 with CONFIG_RTE_NEXT_ABI.
49
50 * ABI changes are planned for struct rte_eth_fdir_filter and
51   rte_eth_fdir_masks in order to support new flow director modes,
52   MAC VLAN and Cloud, on x550. The MAC VLAN mode means the MAC and
53   VLAN are monitored. The Cloud mode is for VxLAN and NVGRE, and
54   the tunnel type, TNI/VNI, inner MAC and inner VLAN are monitored.
55   The release 2.2 will contain these changes without backwards compatibility.
56
57 * librte_kni: Functions based on port id are deprecated for a long time and
58   should be removed (rte_kni_create, rte_kni_get_port_id and rte_kni_info_get).
59
60 * librte_pmd_ring: The deprecated functions rte_eth_ring_pair_create and
61   rte_eth_ring_pair_attach should be removed.
62
63 * ABI changes are planned for struct virtio_net in order to support vhost-user
64   multiple queues feature.
65   It should be integrated in release 2.2 without backward compatibility.
66
67 * The scheduler hierarchy structure (rte_sched_port_hierarchy) will change to
68   allow for a larger number of subport entries.
69   The number of available traffic_classes and queues may also change.
70   The mbuf structure element for sched hierarchy will also change from a single
71   32 bit to a 64 bit structure.
72
73 * The scheduler statistics structure will change to allow keeping track of
74   RED actions.
75
76 * librte_acl: The structure rte_acl_ipv4vlan_rule is deprecated and should
77   be removed as well as the associated functions rte_acl_ipv4vlan_add_rules
78   and rte_acl_ipv4vlan_build.
79
80 * librte_cfgfile: In order to allow for longer names and values,
81   the value of macros CFG_NAME_LEN and CFG_NAME_VAL will be increased.
82   Most likely, the new values will be 64 and 256, respectively.
83
84 * librte_port: Macros to access the packet meta-data stored within the
85   packet buffer will be adjusted to cover the packet mbuf structure as well,
86   as currently they are able to access any packet buffer location except the
87   packet mbuf structure.
88
89 * librte_table LPM: A new parameter to hold the table name will be added to
90   the LPM table parameter structure.
91
92 * librte_table: New functions for table entry bulk add/delete will be added
93   to the table operations structure.
94
95 * librte_table hash: Key mask parameter will be added to the hash table
96   parameter structure for 8-byte key and 16-byte key extendible bucket and
97   LRU tables.
98
99 * librte_pipeline: The prototype for the pipeline input port, output port
100   and table action handlers will be updated:
101   the pipeline parameter will be added, the packets mask parameter will be
102   either removed (for input port action handler) or made input-only.