vdev: new registration API
authorOlivier Matz <olivier.matz@6wind.com>
Fri, 11 Apr 2014 07:36:52 +0000 (09:36 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 11 Apr 2014 14:17:42 +0000 (16:17 +0200)
commit4c39baf297d10c217e7d3e7370f26a1fede58308
tree88d0f3bb35ce592dc5ebd91845f63b04a66d2ee1
parent9fa5e2b026d18319be6fde18e08b6842937802a1
vdev: new registration API

Instead of having a list of virtual device drivers in EAL code, add an
API to register drivers. Thanks to this new registration method, we can
remove the references to pmd_ring, pmd_pcap and pmd_xenvirt in EAL code.
This also enables the ability to register a virtual device driver as
a shared library.

The registration is done in an init function flaged with
__attribute__((constructor)). The new convention is to name this
function rte_pmd_xyz_init(). The per-device init function is renamed
rte_pmd_xyz_devinit().

By the way the internal PMDs are now also .so/standalone ready. Let's do
it later on. It will be required to ease maintenance.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
app/test/test_pmd_ring.c
lib/librte_eal/common/Makefile
lib/librte_eal/common/eal_common_vdev.c
lib/librte_eal/common/include/rte_vdev.h [new file with mode: 0644]
lib/librte_pmd_pcap/Makefile
lib/librte_pmd_pcap/rte_eth_pcap.c
lib/librte_pmd_pcap/rte_eth_pcap.h [deleted file]
lib/librte_pmd_ring/rte_eth_ring.c
lib/librte_pmd_ring/rte_eth_ring.h
lib/librte_pmd_xenvirt/rte_eth_xenvirt.c
lib/librte_pmd_xenvirt/rte_eth_xenvirt.h