ethdev: export secondary attach function

Today eth_dev_attach_secondary is defined as static and can only be
called by pci drivers. However, the functionality is also required for
non-pci drivers - so the patch export the function.

Signed-off-by: Ami Sabo <amis@radware.com>
This commit is contained in:
Ami Sabo 2017-03-02 11:00:41 +02:00 committed by Thomas Monjalon
parent fc0ddc6848
commit 942661004c
3 changed files with 17 additions and 3 deletions

View File

@ -247,8 +247,8 @@ rte_eth_dev_allocate(const char *name)
* makes sure that the same device would have the same port id both
* in the primary and secondary process.
*/
static struct rte_eth_dev *
eth_dev_attach_secondary(const char *name)
struct rte_eth_dev *
rte_eth_dev_attach_secondary(const char *name)
{
uint8_t i;
struct rte_eth_dev *eth_dev;
@ -310,7 +310,7 @@ rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv,
if (eth_dev->data->dev_private == NULL)
rte_panic("Cannot allocate memzone for private port data\n");
} else {
eth_dev = eth_dev_attach_secondary(ethdev_name);
eth_dev = rte_eth_dev_attach_secondary(ethdev_name);
if (eth_dev == NULL) {
/*
* if we failed to attach a device, it means the

View File

@ -1802,6 +1802,19 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
*/
struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
/**
* @internal
* Attach to the ethdev already initialized by the primary
* process.
*
* @param name Ethernet device's name.
* @return
* - Success: Slot in the rte_dev_devices array for attached
* device.
* - Error: Null pointer.
*/
struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
/**
* @internal
* Release the specified ethdev port.

View File

@ -158,6 +158,7 @@ DPDK_17.02 {
DPDK_17.05 {
global:
rte_eth_dev_attach_secondary;
rte_eth_find_next;
} DPDK_17.02;