mirror of https://github.com/F-Stack/f-stack.git
72 lines
3.5 KiB
ReStructuredText
72 lines
3.5 KiB
ReStructuredText
ABI and API Deprecation
|
|
=======================
|
|
|
|
See the :doc:`guidelines document for details of the ABI policy </contributing/versioning>`.
|
|
API and ABI deprecation notices are to be posted here.
|
|
|
|
|
|
Deprecation Notices
|
|
-------------------
|
|
|
|
* The log history is deprecated.
|
|
It is voided in 16.07 and will be removed in release 16.11.
|
|
|
|
* The ethdev library file will be renamed from libethdev.* to librte_ethdev.*
|
|
in release 16.11 in order to have a more consistent namespace.
|
|
|
|
* In 16.11 ABI changes are planned: the ``rte_eth_dev`` structure will be
|
|
extended with new function pointer ``tx_pkt_prep`` allowing verification
|
|
and processing of packet burst to meet HW specific requirements before
|
|
transmit. Also new fields will be added to the ``rte_eth_desc_lim`` structure:
|
|
``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
|
|
segments limit to be transmitted by device for TSO/non-TSO packets.
|
|
|
|
* The ethdev hotplug API is going to be moved to EAL with a notification
|
|
mechanism added to crypto and ethdev libraries so that hotplug is now
|
|
available to both of them. This API will be stripped of the device arguments
|
|
so that it only cares about hotplugging.
|
|
|
|
* Structures embodying pci and vdev devices are going to be reworked to
|
|
integrate new common rte_device / rte_driver objects (see
|
|
http://dpdk.org/ml/archives/dev/2016-January/031390.html).
|
|
ethdev and crypto libraries will then only handle those objects so that they
|
|
do not need to care about the kind of devices that are being used, making it
|
|
easier to add new buses later.
|
|
|
|
* ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
|
|
may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
|
|
``nb_segs`` in one operation, because some platforms have an overhead if the
|
|
store address is not naturally aligned. Other mbuf fields, such as the
|
|
``port`` field, may be moved or removed as part of this mbuf work.
|
|
|
|
* The mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT are deprecated and
|
|
are respectively replaced by PKT_RX_VLAN_STRIPPED and
|
|
PKT_RX_QINQ_STRIPPED, that are better described. The old flags and
|
|
their behavior will be kept in 16.07 and will be removed in 16.11.
|
|
|
|
* The APIs rte_mempool_count and rte_mempool_free_count are being deprecated
|
|
on the basis that they are confusing to use - free_count actually returns
|
|
the number of allocated entries, not the number of free entries as expected.
|
|
They are being replaced by rte_mempool_avail_count and
|
|
rte_mempool_in_use_count respectively.
|
|
|
|
* The mempool functions for single/multi producer/consumer are deprecated and
|
|
will be removed in 16.11.
|
|
It is replaced by rte_mempool_generic_get/put functions.
|
|
|
|
* The ``rte_ivshmem`` feature (including library and EAL code) will be removed
|
|
in 16.11 because it has some design issues which are not planned to be fixed.
|
|
|
|
* The vhost-cuse will be removed in 16.11. Since v2.1, a large majority of
|
|
development effort has gone to vhost-user, such as multiple-queue, live
|
|
migration, reconnect etc. Therefore, vhost-user should be used instead.
|
|
|
|
* Driver names are quite inconsistent among each others and they will be
|
|
renamed to something more consistent (net and crypto prefixes) in 16.11.
|
|
Some of these driver names are used publicly, to create virtual devices,
|
|
so a deprecation notice is necessary.
|
|
|
|
* API will change for ``rte_port_source_params`` and ``rte_port_sink_params``
|
|
structures. The member ``file_name`` data type will be changed from
|
|
``char *`` to ``const char *``. This change targets release 16.11.
|