[dpdk-dev] [PATCH v3] eal: fix libabi macro for device generalization patches

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Oct 27 12:15:27 CEST 2016


2016-10-27 12:38, Shreyansh Jain:
> rte_device/driver generalization patches [1] were merged without a change
> in the LIBABIVER macro. This patches bumps the macro of affected libs.

It is not a macro but a Makefile variable.

> (librte_eal was already bumped; libcryptodev and libetherdev have been
> bumped).

Please provide the commit id where EAL was bumped.

> Details of ABI/API changes:
> - EAL (version not bumped)

not bumped -> already bumped

>   |- 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 at nxp.com>
[...]
> --- a/doc/guides/rel_notes/release_16_11.rst
> +++ b/doc/guides/rel_notes/release_16_11.rst
> @@ -149,6 +149,32 @@ Resolved Issues

It is the "Resolved Issues" section.
Please move in the "API Changes" section.

>  EAL
>  ~~~
>  
> +* **Improved device/driver heirarchy and generalized hotplugging**

typo: hierarchy

> +  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 segragation 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`` => ``DRIVER_REGISTER_PCI``)

It is 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``.

Thanks


More information about the dev mailing list