lib: fix ABI version after device model rework

rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER variable. This patches bumps the macro of affected libs:

- libcryptodev and libetherdev have been bumped
- librte_eal version changed in
  d7e61ad3ae ("log: remove deprecated history dump")

Details of ABI/API changes:
- EAL [version already bumped in: d7e61ad3ae]
  |- type field was removed from rte_driver
  |- rte_pci_device now embeds rte_device
  |- rte_pci_resource renamed to rte_mem_resource
  |- numa_node and devargs of rte_pci_driver is moved to rte_driver
  |- APIs for device hotplug (attach/detach) moved into EAL
  |- API rte_eal_pci_device_name added for PCI device naming
  |- vdev registration API introduced (rte_eal_vdrv_register,
  |  rte_eal_vdrv_unregister

- librte_crypto (v 1=>2)
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

- librte_ethdev (v 4=>5)
  |- rte_eth_dev_type is removed
  |- removed dev_type from rte_eth_dev_allocate API
  |- removed API rte_eth_dev_get_device_type
  |- removed API rte_eth_dev_get_addr_by_port
  |- removed API rte_eth_dev_get_port_by_addr
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

[1] http://dpdk.org/ml/archives/dev/2016-September/047087.html

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
This commit is contained in:
Shreyansh Jain 2016-10-27 16:59:12 +05:30 committed by Thomas Monjalon
parent f0e64da62c
commit 6ba1affa54
4 changed files with 30 additions and 16 deletions

View File

@ -18,18 +18,6 @@ Deprecation Notices
``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

View File

@ -201,6 +201,32 @@ API Changes
* The ``file_name`` data type of ``struct rte_port_source_params`` and
``struct rte_port_sink_params`` is changed from `char *`` to ``const char *``.
* **Improved device/driver hierarchy and generalized hotplugging**
Device and driver relationship has been restructured by introducing generic
classes. This paves way for having PCI, VDEV and other device types as
just instantiated objects rather than classes in themselves. Hotplugging too
has been generalized into EAL so that ethernet or crypto devices can use the
common infrastructure.
* removed ``pmd_type`` as way of segregation of devices
* moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
``rte_pci_driver``. These can now be used by any instantiated object of
``rte_driver``.
* added ``rte_device`` class and all PCI and VDEV devices inherit from it
* renamed devinit/devuninit handlers to probe/remove to make it more
semantically correct with respect to device<=>driver relationship
* moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
* helpers and support macros have been renamed to make them more synonymous
with their device types
(e.g. ``PMD_REGISTER_DRIVER`` => ``RTE_PMD_REGISTER_PCI``)
* Device naming functions have been generalized from ethdev and cryptodev
to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
unique device name from PCI Domain-BDF description.
* Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
and ``rte_eal_vdrv_unregister``.
ABI Changes
-----------
@ -232,11 +258,11 @@ The libraries prepended with a plus sign were incremented in this version.
.. code-block:: diff
libethdev.so.4
+ libethdev.so.5
librte_acl.so.2
librte_cfgfile.so.2
librte_cmdline.so.2
librte_cryptodev.so.1
+ librte_cryptodev.so.2
librte_distributor.so.1
+ librte_eal.so.3
librte_hash.so.2

View File

@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_cryptodev.a
# library version
LIBABIVER := 1
LIBABIVER := 2
# build flags
CFLAGS += -O3

View File

@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
EXPORT_MAP := rte_ether_version.map
LIBABIVER := 4
LIBABIVER := 5
SRCS-y += rte_ethdev.c