* [dpdk-dev] [PATCH v8 01/11] librte_ether: add fields from rte_pci_driver to rte_eth_dev_data
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
@ 2015-11-03 13:01 ` Bernard Iremonger
2015-11-03 16:31 ` Thomas Monjalon
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 02/11] pdev: copy pci device info to eth_dev data Bernard Iremonger
` (10 subsequent siblings)
11 siblings, 1 reply; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:01 UTC (permalink / raw)
To: dev
The driver fields have been added the rte_eth_dev_data so that it is no
longer necessary access this data through the pci_dev pointer.
The following fields have been added to rte_eth_dev_data:
dev_flags, and macros for dev_flags.
kdrv
numa_node
drv_name
add function rte_eth_copy_pci_info
remove branches on pci_dev
librte_eal: add RTE_KDRV_NONE for vdevs
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
lib/librte_eal/common/include/rte_pci.h | 3 ++-
lib/librte_ether/rte_ethdev.c | 24 ++++++++++++++++++++++++
lib/librte_ether/rte_ethdev.h | 27 +++++++++++++++++++++++++++
lib/librte_ether/rte_ether_version.map | 1 +
4 files changed, 54 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h
index 83e3c28..334c12e 100644
--- a/lib/librte_eal/common/include/rte_pci.h
+++ b/lib/librte_eal/common/include/rte_pci.h
@@ -1,7 +1,7 @@
/*-
* BSD LICENSE
*
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -149,6 +149,7 @@ enum rte_kernel_driver {
RTE_KDRV_VFIO,
RTE_KDRV_UIO_GENERIC,
RTE_KDRV_NIC_UIO,
+ RTE_KDRV_NONE,
};
/**
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 39f65bf..04eff73 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -3229,3 +3229,27 @@ rte_eth_dev_get_dcb_info(uint8_t port_id,
FUNC_PTR_OR_ERR_RET(*dev->dev_ops->get_dcb_info, -ENOTSUP);
return (*dev->dev_ops->get_dcb_info)(dev, dcb_info);
}
+
+void
+rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev, struct rte_pci_device *pci_dev)
+{
+ if ((eth_dev == NULL) || (pci_dev == NULL)) {
+ PMD_DEBUG_TRACE("NULL pointer eth_dev=%p pci_dev=%p\n",
+ eth_dev, pci_dev);
+ }
+
+ eth_dev->data->dev_flags = 0;
+
+ if (pci_dev->driver->drv_flags & RTE_PCI_DRV_NEED_MAPPING)
+ eth_dev->data->dev_flags |= RTE_ETH_DEV_DRV_NEED_MAPPING;
+ if (pci_dev->driver->drv_flags & RTE_PCI_DRV_FORCE_UNBIND)
+ eth_dev->data->dev_flags |= RTE_ETH_DEV_DRV_FORCE_UNBIND;
+ if (pci_dev->driver->drv_flags & RTE_PCI_DRV_INTR_LSC)
+ eth_dev->data->dev_flags |= RTE_ETH_DEV_INTR_LSC;
+ if (pci_dev->driver->drv_flags & RTE_PCI_DRV_DETACHABLE)
+ eth_dev->data->dev_flags |= RTE_ETH_DEV_DETACHABLE;
+
+ eth_dev->data->kdrv = pci_dev->kdrv;
+ eth_dev->data->numa_node = pci_dev->numa_node;
+ eth_dev->data->drv_name = pci_dev->driver->name;
+}
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index c835a2f..2e5b9b8 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1551,8 +1551,21 @@ struct rte_eth_dev_data {
all_multicast : 1, /**< RX all multicast mode ON(1) / OFF(0). */
dev_started : 1, /**< Device state: STARTED(1) / STOPPED(0). */
lro : 1; /**< RX LRO is ON(1) / OFF(0) */
+ uint32_t dev_flags; /**< Flags controlling handling of device. */
+ enum rte_kernel_driver kdrv; /**< Kernel driver passthrough */
+ int numa_node; /**< NUMA node connection */
+ const char *drv_name; /**< Driver name */
};
+/** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */
+#define RTE_ETH_DEV_DRV_NEED_MAPPING 0x0001
+/** Device needs to be unbound even if no module is provided */
+#define RTE_ETH_DEV_DRV_FORCE_UNBIND 0x0002
+/** Device supports link state interrupt */
+#define RTE_ETH_DEV_INTR_LSC 0x0003
+/** Device supports detaching capability */
+#define RTE_ETH_DEV_DETACHABLE 0x0004
+
/**
* @internal
* The pool of *rte_eth_dev* structures. The size of the pool
@@ -3733,6 +3746,20 @@ extern int rte_eth_timesync_read_rx_timestamp(uint8_t port_id,
extern int rte_eth_timesync_read_tx_timestamp(uint8_t port_id,
struct timespec *timestamp);
+/**
+ * Copy pci device info to the Ethernet device data.
+ *
+ * @param eth_dev
+ * The *eth_dev* pointer is the address of the *rte_eth_dev* structure.
+ * @param pci_dev
+ * The *pci_dev* pointer is the address of the *rte_pci_device* structure.
+ *
+ * @return
+ * - 0 on success, negative on error
+ */
+extern void rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev, struct rte_pci_device *pci_dev);
+
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
index 7b04e95..08c97f4 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -134,5 +134,6 @@ DPDK_2.2 {
rte_eth_dev_get_dcb_info;
rte_eth_rx_queue_info_get;
rte_eth_tx_queue_info_get;
+ rte_eth_copy_pci_info;
} DPDK_2.1;
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 02/11] pdev: copy pci device info to eth_dev data
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 01/11] librte_ether: add fields from rte_pci_driver to rte_eth_dev_data Bernard Iremonger
@ 2015-11-03 13:01 ` Bernard Iremonger
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 03/11] vdev: copy " Bernard Iremonger
` (9 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:01 UTC (permalink / raw)
To: dev
use new function rte_eth_copy_pci_info.
copy device info for the following pdevs:
ixgbe
e1000
i40e
fm10k
bnx2x
cxgbe
enic
mlx4
vmxnet3
virtio
mlx5
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/bnx2x/bnx2x_ethdev.c | 3 +++
drivers/net/cxgbe/cxgbe_ethdev.c | 3 +++
drivers/net/e1000/em_ethdev.c | 3 +++
drivers/net/e1000/igb_ethdev.c | 5 +++++
drivers/net/enic/enic_ethdev.c | 1 +
drivers/net/fm10k/fm10k_ethdev.c | 2 ++
drivers/net/i40e/i40e_ethdev.c | 3 +++
drivers/net/i40e/i40e_ethdev_vf.c | 2 ++
drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++++
drivers/net/mlx4/mlx4.c | 3 +++
drivers/net/mlx5/mlx5.c | 3 +++
drivers/net/virtio/virtio_ethdev.c | 3 +++
drivers/net/vmxnet3/vmxnet3_ethdev.c | 2 ++
13 files changed, 37 insertions(+)
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 09b5920..36779ea 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -419,6 +419,9 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops : &bnx2x_eth_dev_ops;
pci_dev = eth_dev->pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
sc = eth_dev->data->dev_private;
sc->pcie_bus = pci_dev->addr.bus;
sc->pcie_device = pci_dev->addr.devid;
diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 920e071..7884642 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -801,6 +801,9 @@ static int eth_cxgbe_dev_init(struct rte_eth_dev *eth_dev)
return 0;
pci_dev = eth_dev->pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
snprintf(name, sizeof(name), "cxgbeadapter%d", eth_dev->data->port_id);
adapter = rte_zmalloc(name, sizeof(*adapter), 0);
if (!adapter)
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index a009bc2..500985d 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -243,6 +243,9 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
E1000_DEV_PRIVATE_TO_VFTA(eth_dev->data->dev_private);
pci_dev = eth_dev->pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
eth_dev->dev_ops = ð_em_ops;
eth_dev->rx_pkt_burst = (eth_rx_burst_t)ð_em_recv_pkts;
eth_dev->tx_pkt_burst = (eth_tx_burst_t)ð_em_xmit_pkts;
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index c2b92f8..42207e9 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -546,6 +546,9 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
uint32_t ctrl_ext;
pci_dev = eth_dev->pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
eth_dev->dev_ops = ð_igb_ops;
eth_dev->rx_pkt_burst = ð_igb_recv_pkts;
eth_dev->tx_pkt_burst = ð_igb_xmit_pkts;
@@ -754,6 +757,8 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
pci_dev = eth_dev->pci_dev;
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
hw->device_id = pci_dev->id.device_id;
hw->vendor_id = pci_dev->id.vendor_id;
hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index f8f7817..1e1a5da 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -603,6 +603,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
eth_dev->tx_pkt_burst = &enicpmd_xmit_pkts;
pdev = eth_dev->pci_dev;
+ rte_eth_copy_pci_info(eth_dev, pdev);
enic->pdev = pdev;
addr = &pdev->addr;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index f603c4e..a05cc05 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2423,6 +2423,8 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
return 0;
+ rte_eth_copy_pci_info(dev, dev->pci_dev);
+
macvlan = FM10K_DEV_PRIVATE_TO_MACVLAN(dev->data->dev_private);
memset(macvlan, 0, sizeof(*macvlan));
/* Vendor and Device ID need to be set before init of shared code */
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 8381c8e..c30607d 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -468,6 +468,9 @@ eth_i40e_dev_init(struct rte_eth_dev *dev)
return 0;
}
pci_dev = dev->pci_dev;
+
+ rte_eth_copy_pci_info(dev, pci_dev);
+
pf->adapter = I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
pf->adapter->eth_dev = dev;
pf->dev_data = dev->data;
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 8142ff4..c7dc7a6 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1202,6 +1202,8 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
return 0;
}
+ rte_eth_copy_pci_info(eth_dev, eth_dev->pci_dev);
+
hw->vendor_id = eth_dev->pci_dev->id.vendor_id;
hw->device_id = eth_dev->pci_dev->id.device_id;
hw->subsystem_vendor_id = eth_dev->pci_dev->id.subsystem_vendor_id;
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 38d44d4..06f819f 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -910,6 +910,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev)
}
pci_dev = eth_dev->pci_dev;
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
/* Vendor and Device ID need to be set before init of shared code */
hw->device_id = pci_dev->id.device_id;
hw->vendor_id = pci_dev->id.vendor_id;
@@ -1178,6 +1180,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
pci_dev = eth_dev->pci_dev;
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
hw->device_id = pci_dev->id.device_id;
hw->vendor_id = pci_dev->id.vendor_id;
hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 691e0e5..4198c04 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5138,6 +5138,9 @@ mlx4_pci_devinit(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
eth_dev->data->dev_private = priv;
eth_dev->pci_dev = pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
eth_dev->driver = &mlx4_driver;
eth_dev->data->rx_mbuf_alloc_failed = 0;
eth_dev->data->mtu = ETHER_MTU;
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 9636588..e9f059c 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -444,6 +444,9 @@ mlx5_pci_devinit(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
eth_dev->data->dev_private = priv;
eth_dev->pci_dev = pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
eth_dev->driver = &mlx5_driver;
eth_dev->data->rx_mbuf_alloc_failed = 0;
eth_dev->data->mtu = ETHER_MTU;
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 12fcc23..ef6330f 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1184,6 +1184,9 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
}
pci_dev = eth_dev->pci_dev;
+
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
if (virtio_resource_init(pci_dev) < 0)
return -1;
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 3745b7d..bcb4c9d 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -235,6 +235,8 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
return 0;
+ rte_eth_copy_pci_info(eth_dev, pci_dev);
+
/* Vendor and Device ID need to be set before init of shared code */
hw->device_id = pci_dev->id.device_id;
hw->vendor_id = pci_dev->id.vendor_id;
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 03/11] vdev: copy device info to eth_dev data
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 01/11] librte_ether: add fields from rte_pci_driver to rte_eth_dev_data Bernard Iremonger
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 02/11] pdev: copy pci device info to eth_dev data Bernard Iremonger
@ 2015-11-03 13:01 ` Bernard Iremonger
2015-11-03 17:17 ` Thomas Monjalon
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 04/11] librte_ether: remove branches on pci_dev Bernard Iremonger
` (8 subsequent siblings)
11 siblings, 1 reply; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:01 UTC (permalink / raw)
To: dev
initialise dev_flags, driver, kdrv, drv_name and numa_node fields in eth_dev data.
for the following vdevs:
null
ring
pcap
af_packet
xenvirt
mpipe
bonding
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 12 ++++++++----
drivers/net/bonding/rte_eth_bond_api.c | 11 +++++++++--
drivers/net/mpipe/mpipe_tilegx.c | 7 +++++++
drivers/net/null/rte_eth_null.c | 13 +++++++++----
drivers/net/pcap/rte_eth_pcap.c | 13 ++++++++-----
drivers/net/ring/rte_eth_ring.c | 13 ++++++++-----
drivers/net/xenvirt/rte_eth_xenvirt.c | 8 ++++++--
7 files changed, 55 insertions(+), 22 deletions(-)
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index bfde661..2f14482 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -5,7 +5,7 @@
*
* Originally based upon librte_pmd_pcap code:
*
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
* Copyright(c) 2014 6WIND S.A.
* All rights reserved.
*
@@ -656,8 +656,8 @@ rte_pmd_init_internals(const char *name,
/*
* now put it all together
* - store queue data in internals,
- * - store numa_node info in pci_driver
- * - point eth_dev_data to internals and pci_driver
+ * - store numa_node in eth_dev
+ * - point eth_dev_data to internals
* - and point eth_dev structure to new eth_dev_data structure
*/
@@ -674,7 +674,11 @@ rte_pmd_init_internals(const char *name,
(*eth_dev)->data = data;
(*eth_dev)->dev_ops = &ops;
- (*eth_dev)->pci_dev = pci_dev;
+ (*eth_dev)->driver = NULL;
+ (*eth_dev)->data->dev_flags = 0;
+ (*eth_dev)->data->drv_name = drivername;
+ (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
+ (*eth_dev)->data->numa_node = numa_node;
return 0;
diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 92073df..34adbde 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -44,6 +44,8 @@
#define DEFAULT_POLLING_INTERVAL_10_MS (10)
+const char pmd_bond_driver_name[] = "rte_bond_pmd";
+
int
valid_bonded_ethdev(const struct rte_eth_dev *eth_dev)
{
@@ -163,8 +165,6 @@ number_of_sockets(void)
return ++sockets;
}
-const char pmd_bond_driver_name[] = "rte_bond_pmd";
-
static struct rte_pci_id pci_id_table = {
.device_id = PCI_ANY_ID,
.subsystem_device_id = PCI_ANY_ID,
@@ -252,6 +252,13 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
eth_dev->dev_ops = &default_dev_ops;
eth_dev->pci_dev = pci_dev;
+ eth_dev->data->dev_flags = RTE_ETH_DEV_INTR_LSC |
+ RTE_ETH_DEV_DETACHABLE;
+ eth_dev->driver = NULL;
+ eth_dev->data->kdrv = RTE_KDRV_NONE;
+ eth_dev->data->drv_name = pmd_bond_driver_name;
+ eth_dev->data->numa_node = socket_id;
+
rte_spinlock_init(&internals->lock);
internals->port_id = eth_dev->data->port_id;
diff --git a/drivers/net/mpipe/mpipe_tilegx.c b/drivers/net/mpipe/mpipe_tilegx.c
index 6e3e304..4dc32f7 100644
--- a/drivers/net/mpipe/mpipe_tilegx.c
+++ b/drivers/net/mpipe/mpipe_tilegx.c
@@ -80,6 +80,7 @@ struct mpipe_context {
static struct mpipe_context mpipe_contexts[GXIO_MPIPE_INSTANCE_MAX];
static int mpipe_instances;
+static const char *drivername = "MPIPE PMD";
/* Per queue statistics. */
struct mpipe_queue_stats {
@@ -1595,6 +1596,12 @@ rte_pmd_mpipe_devinit(const char *ifname,
eth_dev->pci_dev = &priv->pci_dev;
eth_dev->data->mac_addrs = &priv->mac_addr;
+ eth_dev->data->dev_flags = 0;
+ eth_dev->data->kdrv = RTE_KDRV_NONE;
+ eth_dev->driver = NULL;
+ eth_dev->data->drv_name = drivername;
+ eth_dev->data->numa_node = instance;
+
eth_dev->dev_ops = &mpipe_dev_ops;
eth_dev->rx_pkt_burst = &mpipe_recv_pkts;
eth_dev->tx_pkt_burst = &mpipe_xmit_pkts;
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 64e9000..11d6037 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -540,8 +540,8 @@ eth_dev_null_create(const char *name,
/* now put it all together
* - store queue data in internals,
- * - store numa_node info in pci_driver
- * - point eth_dev_data to internals and pci_driver
+ * - store numa_node info in ethdev data
+ * - point eth_dev_data to internals
* - and point eth_dev structure to new eth_dev_data structure
*/
/* NOTE: we'll replace the data element, of originally allocated eth_dev
@@ -571,10 +571,15 @@ eth_dev_null_create(const char *name,
eth_dev->data = data;
eth_dev->dev_ops = &ops;
- eth_dev->pci_dev = pci_dev;
- eth_dev->driver = &rte_null_pmd;
+
TAILQ_INIT(ð_dev->link_intr_cbs);
+ eth_dev->driver = NULL;
+ eth_dev->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
+ eth_dev->data->kdrv = RTE_KDRV_NONE;
+ eth_dev->data->drv_name = drivername;
+ eth_dev->data->numa_node = numa_node;
+
/* finally assign rx and tx ops */
if (packet_copy) {
eth_dev->rx_pkt_burst = eth_null_copy_rx;
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index f2e4634..850274c 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -1,7 +1,7 @@
/*-
* BSD LICENSE
*
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
* Copyright(c) 2014 6WIND S.A.
* All rights reserved.
*
@@ -845,8 +845,8 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
/* now put it all together
* - store queue data in internals,
- * - store numa_node info in pci_driver
- * - point eth_dev_data to internals and pci_driver
+ * - store numa_node info in eth_dev
+ * - point eth_dev_data to internals
* - and point eth_dev structure to new eth_dev_data structure
*/
/* NOTE: we'll replace the data element, of originally allocated eth_dev
@@ -874,8 +874,11 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
(*eth_dev)->data = data;
(*eth_dev)->dev_ops = &ops;
- (*eth_dev)->pci_dev = pci_dev;
- (*eth_dev)->driver = &rte_pcap_pmd;
+ (*eth_dev)->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
+ (*eth_dev)->driver = NULL;
+ (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
+ (*eth_dev)->data->drv_name = drivername;
+ (*eth_dev)->data->numa_node = numa_node;
return 0;
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 0ba36d5..77ac23a 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -304,11 +304,10 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
if (eth_dev == NULL)
goto error;
-
/* now put it all together
* - store queue data in internals,
- * - store numa_node info in pci_driver
- * - point eth_dev_data to internals and pci_driver
+ * - store numa_node info in eth_dev_data
+ * - point eth_dev_data to internals
* - and point eth_dev structure to new eth_dev_data structure
*/
/* NOTE: we'll replace the data element, of originally allocated eth_dev
@@ -338,9 +337,13 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
data->mac_addrs = &internals->address;
eth_dev->data = data;
- eth_dev->driver = &rte_ring_pmd;
+ eth_dev->driver = NULL;
eth_dev->dev_ops = &ops;
- eth_dev->pci_dev = pci_dev;
+ eth_dev->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
+ eth_dev->data->kdrv = RTE_KDRV_NONE;
+ eth_dev->data->drv_name = drivername;
+ eth_dev->data->numa_node = numa_node;
+
TAILQ_INIT(&(eth_dev->link_intr_cbs));
/* finally assign rx and tx ops */
diff --git a/drivers/net/xenvirt/rte_eth_xenvirt.c b/drivers/net/xenvirt/rte_eth_xenvirt.c
index b527552..6f9d96f 100644
--- a/drivers/net/xenvirt/rte_eth_xenvirt.c
+++ b/drivers/net/xenvirt/rte_eth_xenvirt.c
@@ -67,7 +67,7 @@
/* virtio_idx is increased after new device is created.*/
static int virtio_idx = 0;
-static const char *drivername = "xen dummy virtio PMD";
+static const char *drivername = "xen virtio PMD";
static struct rte_eth_link pmd_link = {
.link_speed = 10000,
@@ -688,8 +688,12 @@ eth_dev_xenvirt_create(const char *name, const char *params,
eth_dev->data = data;
eth_dev->dev_ops = &ops;
+
eth_dev->data->dev_flags = RTE_PCI_DRV_DETACHABLE;
- eth_dev->pci_dev = pci_dev;
+ eth_dev->data->kdrv = RTE_KDRV_NONE;
+ eth_dev->data->drv_name = drivername;
+ eth_dev->driver = NULL;
+ eth_dev->data->numa_node = numa_node;
eth_dev->rx_pkt_burst = eth_xenvirt_rx;
eth_dev->tx_pkt_burst = eth_xenvirt_tx;
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v8 03/11] vdev: copy device info to eth_dev data
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 03/11] vdev: copy " Bernard Iremonger
@ 2015-11-03 17:17 ` Thomas Monjalon
0 siblings, 0 replies; 15+ messages in thread
From: Thomas Monjalon @ 2015-11-03 17:17 UTC (permalink / raw)
To: Bernard Iremonger; +Cc: dev
Below, a lot of pci values are removed and break the build.
Will move in later patches.
2015-11-03 13:01, Bernard Iremonger:
> @@ -674,7 +674,11 @@ rte_pmd_init_internals(const char *name,
>
> (*eth_dev)->data = data;
> (*eth_dev)->dev_ops = &ops;
> - (*eth_dev)->pci_dev = pci_dev;
> + (*eth_dev)->driver = NULL;
> + (*eth_dev)->data->dev_flags = 0;
> + (*eth_dev)->data->drv_name = drivername;
> + (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
> + (*eth_dev)->data->numa_node = numa_node;
> @@ -571,10 +571,15 @@ eth_dev_null_create(const char *name,
>
> eth_dev->data = data;
> eth_dev->dev_ops = &ops;
> - eth_dev->pci_dev = pci_dev;
> - eth_dev->driver = &rte_null_pmd;
> +
> TAILQ_INIT(ð_dev->link_intr_cbs);
> @@ -874,8 +874,11 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
>
> (*eth_dev)->data = data;
> (*eth_dev)->dev_ops = &ops;
> - (*eth_dev)->pci_dev = pci_dev;
> - (*eth_dev)->driver = &rte_pcap_pmd;
> + (*eth_dev)->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
> + (*eth_dev)->driver = NULL;
> + (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
> + (*eth_dev)->data->drv_name = drivername;
> + (*eth_dev)->data->numa_node = numa_node;
>
> return 0;
> @@ -338,9 +337,13 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
> data->mac_addrs = &internals->address;
>
> eth_dev->data = data;
> - eth_dev->driver = &rte_ring_pmd;
> + eth_dev->driver = NULL;
> eth_dev->dev_ops = &ops;
> - eth_dev->pci_dev = pci_dev;
> + eth_dev->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
> + eth_dev->data->kdrv = RTE_KDRV_NONE;
> + eth_dev->data->drv_name = drivername;
> + eth_dev->data->numa_node = numa_node;
> +
> TAILQ_INIT(&(eth_dev->link_intr_cbs));
>
> @@ -688,8 +688,12 @@ eth_dev_xenvirt_create(const char *name, const char *params,
>
> eth_dev->data = data;
> eth_dev->dev_ops = &ops;
> +
> eth_dev->data->dev_flags = RTE_PCI_DRV_DETACHABLE;
> - eth_dev->pci_dev = pci_dev;
> + eth_dev->data->kdrv = RTE_KDRV_NONE;
> + eth_dev->data->drv_name = drivername;
> + eth_dev->driver = NULL;
> + eth_dev->data->numa_node = numa_node;
>
> eth_dev->rx_pkt_burst = eth_xenvirt_rx;
> eth_dev->tx_pkt_burst = eth_xenvirt_tx;
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 04/11] librte_ether: remove branches on pci_dev
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (2 preceding siblings ...)
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 03/11] vdev: copy " Bernard Iremonger
@ 2015-11-03 13:01 ` Bernard Iremonger
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 05/11] null: remove pci device Bernard Iremonger
` (7 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:01 UTC (permalink / raw)
To: dev
use dev_type to distinguish between vdev's and pdev's.
remove pci_dev branches.
update release notes.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
doc/guides/rel_notes/release_2_2.rst | 3 +++
lib/librte_ether/rte_ethdev.c | 40 +++++++++++++++---------------------
2 files changed, 20 insertions(+), 23 deletions(-)
diff --git a/doc/guides/rel_notes/release_2_2.rst b/doc/guides/rel_notes/release_2_2.rst
index 8a20044..b7d0984 100644
--- a/doc/guides/rel_notes/release_2_2.rst
+++ b/doc/guides/rel_notes/release_2_2.rst
@@ -59,6 +59,9 @@ New Features
* **Added port hotplug support to xenvirt.**
+* **Removed the PCI device from vdev PMD's.**
+
+ * This change required modifications to librte_ether and all vdev and pdev PMD's.
Resolved Issues
---------------
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 04eff73..d8e791c 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -424,7 +424,7 @@ rte_eth_dev_socket_id(uint8_t port_id)
{
if (!rte_eth_dev_is_valid_port(port_id))
return -1;
- return rte_eth_devices[port_id].pci_dev->numa_node;
+ return rte_eth_devices[port_id].data->numa_node;
}
uint8_t
@@ -503,27 +503,25 @@ rte_eth_dev_get_name_by_port(uint8_t port_id, char *name)
static int
rte_eth_dev_is_detachable(uint8_t port_id)
{
- uint32_t drv_flags;
+ uint32_t dev_flags;
if (!rte_eth_dev_is_valid_port(port_id)) {
PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
return -EINVAL;
}
- if (rte_eth_devices[port_id].dev_type == RTE_ETH_DEV_PCI) {
- switch (rte_eth_devices[port_id].pci_dev->kdrv) {
- case RTE_KDRV_IGB_UIO:
- case RTE_KDRV_UIO_GENERIC:
- case RTE_KDRV_NIC_UIO:
- break;
- case RTE_KDRV_VFIO:
- default:
- return -ENOTSUP;
- }
+ switch (rte_eth_devices[port_id].data->kdrv) {
+ case RTE_KDRV_IGB_UIO:
+ case RTE_KDRV_UIO_GENERIC:
+ case RTE_KDRV_NIC_UIO:
+ case RTE_KDRV_NONE:
+ break;
+ case RTE_KDRV_VFIO:
+ default:
+ return -ENOTSUP;
}
-
- drv_flags = rte_eth_devices[port_id].driver->pci_drv.drv_flags;
- return !(drv_flags & RTE_PCI_DRV_DETACHABLE);
+ dev_flags = rte_eth_devices[port_id].data->dev_flags;
+ return !(dev_flags & RTE_ETH_DEV_DETACHABLE);
}
/* attach the new physical device, then store port_id of the device */
@@ -952,14 +950,11 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
* If link state interrupt is enabled, check that the
* device supports it.
*/
- if (dev_conf->intr_conf.lsc == 1) {
- const struct rte_pci_driver *pci_drv = &dev->driver->pci_drv;
-
- if (!(pci_drv->drv_flags & RTE_PCI_DRV_INTR_LSC)) {
+ if ((dev_conf->intr_conf.lsc == 1) &&
+ (!(dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC))) {
PMD_DEBUG_TRACE("driver %s does not support lsc\n",
- pci_drv->name);
+ dev->data->drv_name);
return -EINVAL;
- }
}
/*
@@ -1616,8 +1611,7 @@ rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info)
FUNC_PTR_OR_RET(*dev->dev_ops->dev_infos_get);
(*dev->dev_ops->dev_infos_get)(dev, dev_info);
dev_info->pci_dev = dev->pci_dev;
- if (dev->driver)
- dev_info->driver_name = dev->driver->pci_drv.name;
+ dev_info->driver_name = dev->data->drv_name;
}
void
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 05/11] null: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (3 preceding siblings ...)
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 04/11] librte_ether: remove branches on pci_dev Bernard Iremonger
@ 2015-11-03 13:01 ` Bernard Iremonger
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 06/11] ring: " Bernard Iremonger
` (6 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:01 UTC (permalink / raw)
To: dev
remove rte_null_pmd and pci_dev.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/null/rte_eth_null.c | 19 +------------------
1 file changed, 1 insertion(+), 18 deletions(-)
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 11d6037..77fc988 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -366,13 +366,6 @@ eth_stats_reset(struct rte_eth_dev *dev)
}
}
-static struct eth_driver rte_null_pmd = {
- .pci_drv = {
- .name = "rte_null_pmd",
- .drv_flags = RTE_PCI_DRV_DETACHABLE,
- },
-};
-
static void
eth_queue_release(void *q)
{
@@ -501,7 +494,6 @@ eth_dev_null_create(const char *name,
const unsigned nb_rx_queues = 1;
const unsigned nb_tx_queues = 1;
struct rte_eth_dev_data *data = NULL;
- struct rte_pci_device *pci_dev = NULL;
struct pmd_internals *internals = NULL;
struct rte_eth_dev *eth_dev = NULL;
@@ -525,10 +517,6 @@ eth_dev_null_create(const char *name,
if (data == NULL)
goto error;
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
- if (pci_dev == NULL)
- goto error;
-
internals = rte_zmalloc_socket(name, sizeof(*internals), 0, numa_node);
if (internals == NULL)
goto error;
@@ -558,9 +546,6 @@ eth_dev_null_create(const char *name,
rte_memcpy(internals->rss_key, default_rss_key, 40);
- pci_dev->numa_node = numa_node;
- pci_dev->driver = &rte_null_pmd.pci_drv;
-
data->dev_private = internals;
data->port_id = eth_dev->data->port_id;
data->nb_rx_queues = (uint16_t)nb_rx_queues;
@@ -593,7 +578,6 @@ eth_dev_null_create(const char *name,
error:
rte_free(data);
- rte_free(pci_dev);
rte_free(internals);
return -1;
@@ -696,14 +680,13 @@ rte_pmd_null_devuninit(const char *name)
RTE_LOG(INFO, PMD, "Closing null ethdev on numa socket %u\n",
rte_socket_id());
- /* reserve an ethdev entry */
+ /* find the ethdev entry */
eth_dev = rte_eth_dev_allocated(name);
if (eth_dev == NULL)
return -1;
rte_free(eth_dev->data->dev_private);
rte_free(eth_dev->data);
- rte_free(eth_dev->pci_dev);
rte_eth_dev_release_port(eth_dev);
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 06/11] ring: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (4 preceding siblings ...)
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 05/11] null: remove pci device Bernard Iremonger
@ 2015-11-03 13:02 ` Bernard Iremonger
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 07/11] pcap: " Bernard Iremonger
` (5 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:02 UTC (permalink / raw)
To: dev
remove rte_ring_pmd and pci_dev.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ring/rte_eth_ring.c | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 77ac23a..faa5759 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -44,8 +44,6 @@
#define ETH_RING_ACTION_CREATE "CREATE"
#define ETH_RING_ACTION_ATTACH "ATTACH"
-static const char *ring_ethdev_driver_name = "Ring PMD";
-
static const char *valid_arguments[] = {
ETH_RING_NUMA_NODE_ACTION_ARG,
NULL
@@ -252,15 +250,6 @@ static const struct eth_dev_ops ops = {
.mac_addr_add = eth_mac_addr_add,
};
-static struct eth_driver rte_ring_pmd = {
- .pci_drv = {
- .name = "rte_ring_pmd",
- .drv_flags = RTE_PCI_DRV_DETACHABLE,
- },
-};
-
-static struct rte_pci_id id_table;
-
int
rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
const unsigned nb_rx_queues,
@@ -269,7 +258,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
const unsigned numa_node)
{
struct rte_eth_dev_data *data = NULL;
- struct rte_pci_device *pci_dev = NULL;
struct pmd_internals *internals = NULL;
struct rte_eth_dev *eth_dev = NULL;
@@ -291,10 +279,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
if (data == NULL)
goto error;
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
- if (pci_dev == NULL)
- goto error;
-
internals = rte_zmalloc_socket(name, sizeof(*internals), 0, numa_node);
if (internals == NULL)
goto error;
@@ -322,12 +306,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
internals->tx_ring_queues[i].rng = tx_queues[i];
}
- rte_ring_pmd.pci_drv.name = ring_ethdev_driver_name;
- rte_ring_pmd.pci_drv.id_table = &id_table;
-
- pci_dev->numa_node = numa_node;
- pci_dev->driver = &rte_ring_pmd.pci_drv;
-
data->dev_private = internals;
data->port_id = eth_dev->data->port_id;
memmove(data->name, eth_dev->data->name, sizeof(data->name));
@@ -354,7 +332,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
error:
rte_free(data);
- rte_free(pci_dev);
rte_free(internals);
return -1;
@@ -564,7 +541,6 @@ rte_pmd_ring_devuninit(const char *name)
eth_dev_stop(eth_dev);
rte_free(eth_dev->data->dev_private);
rte_free(eth_dev->data);
- rte_free(eth_dev->pci_dev);
rte_eth_dev_release_port(eth_dev);
return 0;
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 07/11] pcap: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (5 preceding siblings ...)
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 06/11] ring: " Bernard Iremonger
@ 2015-11-03 13:02 ` Bernard Iremonger
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 08/11] af_packet: " Bernard Iremonger
` (4 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:02 UTC (permalink / raw)
To: dev
remove rte_pcap_pmd and pci_dev.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/pcap/rte_eth_pcap.c | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index 850274c..f9230eb 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -617,13 +617,6 @@ static const struct eth_dev_ops ops = {
.stats_reset = eth_stats_reset,
};
-static struct eth_driver rte_pcap_pmd = {
- .pci_drv = {
- .name = "rte_pcap_pmd",
- .drv_flags = RTE_PCI_DRV_DETACHABLE,
- },
-};
-
/*
* Function handler that opens the pcap file for reading a stores a
* reference of it for use it later on.
@@ -806,7 +799,6 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
struct rte_kvargs *kvlist)
{
struct rte_eth_dev_data *data = NULL;
- struct rte_pci_device *pci_dev = NULL;
unsigned k_idx;
struct rte_kvargs_pair *pair = NULL;
@@ -819,17 +811,13 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
RTE_LOG(INFO, PMD,
"Creating pcap-backed ethdev on numa socket %u\n", numa_node);
- /* now do all data allocation - for eth_dev structure, dummy pci driver
+ /* now do all data allocation - for eth_dev structure
* and internal (private) data
*/
data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
if (data == NULL)
goto error;
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
- if (pci_dev == NULL)
- goto error;
-
*internals = rte_zmalloc_socket(name, sizeof(**internals), 0, numa_node);
if (*internals == NULL)
goto error;
@@ -860,8 +848,6 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
else
(*internals)->if_index = if_nametoindex(pair->value);
- pci_dev->numa_node = numa_node;
-
data->dev_private = *internals;
data->port_id = (*eth_dev)->data->port_id;
snprintf(data->name, sizeof(data->name), "%s", (*eth_dev)->data->name);
@@ -884,7 +870,6 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
error:
rte_free(data);
- rte_free(pci_dev);
rte_free(*internals);
return -1;
@@ -1099,7 +1084,6 @@ rte_pmd_pcap_devuninit(const char *name)
rte_free(eth_dev->data->dev_private);
rte_free(eth_dev->data);
- rte_free(eth_dev->pci_dev);
rte_eth_dev_release_port(eth_dev);
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 08/11] af_packet: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (6 preceding siblings ...)
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 07/11] pcap: " Bernard Iremonger
@ 2015-11-03 13:02 ` Bernard Iremonger
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 09/11] xenvirt: " Bernard Iremonger
` (3 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:02 UTC (permalink / raw)
To: dev
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John W. Linville <linville@tuxdriver.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index 2f14482..3237e6e 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -432,7 +432,6 @@ rte_pmd_init_internals(const char *name,
struct rte_kvargs *kvlist)
{
struct rte_eth_dev_data *data = NULL;
- struct rte_pci_device *pci_dev = NULL;
struct rte_kvargs_pair *pair = NULL;
struct ifreq ifr;
size_t ifnamelen;
@@ -470,10 +469,6 @@ rte_pmd_init_internals(const char *name,
if (data == NULL)
goto error_early;
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
- if (pci_dev == NULL)
- goto error_early;
-
*internals = rte_zmalloc_socket(name, sizeof(**internals),
0, numa_node);
if (*internals == NULL)
@@ -670,8 +665,6 @@ rte_pmd_init_internals(const char *name,
data->dev_link = pmd_link;
data->mac_addrs = &(*internals)->eth_addr;
- pci_dev->numa_node = numa_node;
-
(*eth_dev)->data = data;
(*eth_dev)->dev_ops = &ops;
(*eth_dev)->driver = NULL;
@@ -697,7 +690,6 @@ error:
}
rte_free(*internals);
error_early:
- rte_free(pci_dev);
rte_free(data);
return -1;
}
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 09/11] xenvirt: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (7 preceding siblings ...)
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 08/11] af_packet: " Bernard Iremonger
@ 2015-11-03 13:02 ` Bernard Iremonger
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 10/11] mpipe: " Bernard Iremonger
` (2 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:02 UTC (permalink / raw)
To: dev
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/xenvirt/rte_eth_xenvirt.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/net/xenvirt/rte_eth_xenvirt.c b/drivers/net/xenvirt/rte_eth_xenvirt.c
index 6f9d96f..264aeda 100644
--- a/drivers/net/xenvirt/rte_eth_xenvirt.c
+++ b/drivers/net/xenvirt/rte_eth_xenvirt.c
@@ -1,7 +1,7 @@
/*-
* BSD LICENSE
*
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -637,7 +637,6 @@ eth_dev_xenvirt_create(const char *name, const char *params,
enum dev_action action)
{
struct rte_eth_dev_data *data = NULL;
- struct rte_pci_device *pci_dev = NULL;
struct pmd_internals *internals = NULL;
struct rte_eth_dev *eth_dev = NULL;
struct xenvirt_dict dict;
@@ -659,10 +658,6 @@ eth_dev_xenvirt_create(const char *name, const char *params,
if (data == NULL)
goto err;
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
- if (pci_dev == NULL)
- goto err;
-
internals = rte_zmalloc_socket(name, sizeof(*internals), 0, numa_node);
if (internals == NULL)
goto err;
@@ -672,8 +667,6 @@ eth_dev_xenvirt_create(const char *name, const char *params,
if (eth_dev == NULL)
goto err;
- pci_dev->numa_node = numa_node;
-
data->dev_private = internals;
data->port_id = eth_dev->data->port_id;
data->nb_rx_queues = (uint16_t)1;
@@ -705,7 +698,6 @@ eth_dev_xenvirt_create(const char *name, const char *params,
err:
rte_free(data);
- rte_free(pci_dev);
rte_free(internals);
return -1;
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 10/11] mpipe: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (8 preceding siblings ...)
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 09/11] xenvirt: " Bernard Iremonger
@ 2015-11-03 13:02 ` Bernard Iremonger
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 11/11] bonding: " Bernard Iremonger
2015-11-03 17:50 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Thomas Monjalon
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:02 UTC (permalink / raw)
To: dev
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/mpipe/mpipe_tilegx.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/mpipe/mpipe_tilegx.c b/drivers/net/mpipe/mpipe_tilegx.c
index 4dc32f7..35134ba 100644
--- a/drivers/net/mpipe/mpipe_tilegx.c
+++ b/drivers/net/mpipe/mpipe_tilegx.c
@@ -123,7 +123,6 @@ struct mpipe_dev_priv {
int channel; /* Device channel. */
int port_id; /* DPDK port index. */
struct rte_eth_dev *eth_dev; /* DPDK device. */
- struct rte_pci_device pci_dev; /* PCI device data. */
struct rte_mbuf **tx_comps; /* TX completion array. */
struct rte_mempool *rx_mpool; /* mpool used by the rx queues. */
unsigned rx_offset; /* Receive head room. */
@@ -1568,7 +1567,6 @@ rte_pmd_mpipe_devinit(const char *ifname,
priv->context = context;
priv->instance = instance;
priv->is_xaui = (strncmp(ifname, "xgbe", 4) == 0);
- priv->pci_dev.numa_node = instance;
priv->channel = -1;
mac = priv->mac_addr.addr_bytes;
@@ -1593,7 +1591,6 @@ rte_pmd_mpipe_devinit(const char *ifname,
priv->eth_dev = eth_dev;
priv->port_id = eth_dev->data->port_id;
eth_dev->data->dev_private = priv;
- eth_dev->pci_dev = &priv->pci_dev;
eth_dev->data->mac_addrs = &priv->mac_addr;
eth_dev->data->dev_flags = 0;
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v8 11/11] bonding: remove pci device
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (9 preceding siblings ...)
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 10/11] mpipe: " Bernard Iremonger
@ 2015-11-03 13:02 ` Bernard Iremonger
2015-11-03 17:50 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Thomas Monjalon
11 siblings, 0 replies; 15+ messages in thread
From: Bernard Iremonger @ 2015-11-03 13:02 UTC (permalink / raw)
To: dev
remove pci_dev, pci_drv, rte_bond_pmd and pci_id_table.
handle numa_node for vdevs
handle RTE_ETH_DEV_INTR_LSC for vdevs
rename the function valid_bonded_device to check_for_bonded_device
remove branches on pci_dev
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
---
drivers/net/bonding/rte_eth_bond_8023ad.c | 4 +--
drivers/net/bonding/rte_eth_bond_alb.c | 2 +-
drivers/net/bonding/rte_eth_bond_api.c | 46 ++++--------------------------
drivers/net/bonding/rte_eth_bond_pmd.c | 18 ++++++------
drivers/net/bonding/rte_eth_bond_private.h | 2 +-
5 files changed, 19 insertions(+), 53 deletions(-)
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index c0f0b99..ee2964a 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -1,7 +1,7 @@
/*-
* BSD LICENSE
*
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -879,7 +879,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, uint8_t slave_id)
RTE_VERIFY(port->rx_ring == NULL);
RTE_VERIFY(port->tx_ring == NULL);
- socket_id = rte_eth_devices[slave_id].pci_dev->numa_node;
+ socket_id = rte_eth_devices[slave_id].data->numa_node;
element_size = sizeof(struct slow_protocol_frame) + sizeof(struct rte_mbuf)
+ RTE_PKTMBUF_HEADROOM;
diff --git a/drivers/net/bonding/rte_eth_bond_alb.c b/drivers/net/bonding/rte_eth_bond_alb.c
index 6df318e..3157543 100644
--- a/drivers/net/bonding/rte_eth_bond_alb.c
+++ b/drivers/net/bonding/rte_eth_bond_alb.c
@@ -65,7 +65,7 @@ bond_mode_alb_enable(struct rte_eth_dev *bond_dev)
uint16_t data_size;
char mem_name[RTE_ETH_NAME_MAX_LEN];
- int socket_id = bond_dev->pci_dev->numa_node;
+ int socket_id = bond_dev->data->numa_node;
/* Fill hash table with initial values */
memset(hash_table, 0, sizeof(struct client_data) * ALB_HASH_TABLE_SIZE);
diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 34adbde..8a000c8 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -47,14 +47,14 @@
const char pmd_bond_driver_name[] = "rte_bond_pmd";
int
-valid_bonded_ethdev(const struct rte_eth_dev *eth_dev)
+check_for_bonded_ethdev(const struct rte_eth_dev *eth_dev)
{
/* Check valid pointer */
- if (eth_dev->driver->pci_drv.name == NULL)
+ if (eth_dev->data->drv_name == NULL)
return -1;
/* return 0 if driver name matches */
- return eth_dev->driver->pci_drv.name != pmd_bond_driver_name;
+ return eth_dev->data->drv_name != pmd_bond_driver_name;
}
int
@@ -63,7 +63,7 @@ valid_bonded_port_id(uint8_t port_id)
if (!rte_eth_dev_is_valid_port(port_id))
return -1;
- return valid_bonded_ethdev(&rte_eth_devices[port_id]);
+ return check_for_bonded_ethdev(&rte_eth_devices[port_id]);
}
int
@@ -74,7 +74,7 @@ valid_slave_port_id(uint8_t port_id)
return -1;
/* Verify that port_id refers to a non bonded port */
- if (!valid_bonded_ethdev(&rte_eth_devices[port_id]))
+ if (check_for_bonded_ethdev(&rte_eth_devices[port_id]) == 0)
return -1;
return 0;
@@ -165,28 +165,11 @@ number_of_sockets(void)
return ++sockets;
}
-static struct rte_pci_id pci_id_table = {
- .device_id = PCI_ANY_ID,
- .subsystem_device_id = PCI_ANY_ID,
- .vendor_id = PCI_ANY_ID,
- .subsystem_vendor_id = PCI_ANY_ID,
-};
-
-static struct eth_driver rte_bond_pmd = {
- .pci_drv = {
- .name = pmd_bond_driver_name,
- .drv_flags = RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE,
- .id_table = &pci_id_table,
- },
-};
-
int
rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
{
- struct rte_pci_device *pci_dev = NULL;
struct bond_dev_private *internals = NULL;
struct rte_eth_dev *eth_dev = NULL;
- struct rte_pci_driver *pci_drv = NULL;
/* now do all data allocation - for eth_dev structure, dummy pci driver
* and internal (private) data
@@ -203,14 +186,6 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
goto err;
}
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, socket_id);
- if (pci_dev == NULL) {
- RTE_BOND_LOG(ERR, "Unable to malloc pci dev on socket");
- goto err;
- }
-
- pci_drv = &rte_bond_pmd.pci_drv;
-
internals = rte_zmalloc_socket(name, sizeof(*internals), 0, socket_id);
if (internals == NULL) {
RTE_BOND_LOG(ERR, "Unable to malloc internals on socket");
@@ -224,11 +199,6 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
goto err;
}
- pci_dev->numa_node = socket_id;
- pci_drv->name = pmd_bond_driver_name;
- pci_dev->driver = pci_drv;
-
- eth_dev->driver = &rte_bond_pmd;
eth_dev->data->dev_private = internals;
eth_dev->data->nb_rx_queues = (uint16_t)1;
eth_dev->data->nb_tx_queues = (uint16_t)1;
@@ -250,8 +220,6 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
eth_dev->data->all_multicast = 0;
eth_dev->dev_ops = &default_dev_ops;
- eth_dev->pci_dev = pci_dev;
-
eth_dev->data->dev_flags = RTE_ETH_DEV_INTR_LSC |
RTE_ETH_DEV_DETACHABLE;
eth_dev->driver = NULL;
@@ -297,7 +265,6 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
return eth_dev->data->port_id;
err:
- rte_free(pci_dev);
rte_free(internals);
if (eth_dev != NULL) {
rte_free(eth_dev->data->mac_addrs);
@@ -329,7 +296,6 @@ rte_eth_bond_free(const char *name)
eth_dev->rx_pkt_burst = NULL;
eth_dev->tx_pkt_burst = NULL;
- rte_free(eth_dev->pci_dev);
rte_free(eth_dev->data->dev_private);
rte_free(eth_dev->data->mac_addrs);
@@ -358,7 +324,7 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)
/* Verify that new slave device is not already a slave of another
* bonded device */
for (i = rte_eth_dev_count()-1; i >= 0; i--) {
- if (valid_bonded_ethdev(&rte_eth_devices[i]) == 0) {
+ if (check_for_bonded_ethdev(&rte_eth_devices[i]) == 0) {
temp_internals = rte_eth_devices[i].data->dev_private;
for (j = 0; j < temp_internals->slave_count; j++) {
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index eecb381..500a1ee 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1307,7 +1307,7 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev,
rte_eth_dev_stop(slave_eth_dev->data->port_id);
/* Enable interrupts on slave device if supported */
- if (slave_eth_dev->driver->pci_drv.drv_flags & RTE_PCI_DRV_INTR_LSC)
+ if (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC)
slave_eth_dev->data->dev_conf.intr_conf.lsc = 1;
/* If RSS is enabled for bonding, try to enable it for slaves */
@@ -1403,9 +1403,9 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev,
}
/* If lsc interrupt is set, check initial slave's link status */
- if (slave_eth_dev->driver->pci_drv.drv_flags & RTE_PCI_DRV_INTR_LSC)
+ if (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC)
bond_ethdev_lsc_event_callback(slave_eth_dev->data->port_id,
- RTE_ETH_EVENT_INTR_LSC, &bonded_eth_dev->data->port_id);
+ RTE_ETH_EVENT_INTR_LSC, &bonded_eth_dev->data->port_id);
return 0;
}
@@ -1444,7 +1444,7 @@ slave_add(struct bond_dev_private *internals,
/* If slave device doesn't support interrupts then we need to enabled
* polling to monitor link status */
- if (!(slave_eth_dev->pci_dev->driver->drv_flags & RTE_PCI_DRV_INTR_LSC)) {
+ if (!(slave_eth_dev->data->dev_flags & RTE_PCI_DRV_INTR_LSC)) {
slave_details->link_status_poll_enabled = 1;
if (!internals->link_status_polling_enabled) {
@@ -1488,7 +1488,7 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
int i;
/* slave eth dev will be started by bonded device */
- if (valid_bonded_ethdev(eth_dev)) {
+ if (check_for_bonded_ethdev(eth_dev)) {
RTE_BOND_LOG(ERR, "User tried to explicitly start a slave eth_dev (%d)",
eth_dev->data->port_id);
return -1;
@@ -1633,7 +1633,7 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
dev_info->max_tx_queues = (uint16_t)512;
dev_info->min_rx_bufsize = 0;
- dev_info->pci_dev = dev->pci_dev;
+ dev_info->pci_dev = NULL;
dev_info->rx_offload_capa = internals->rx_offload_capa;
dev_info->tx_offload_capa = internals->tx_offload_capa;
@@ -1649,7 +1649,7 @@ bond_ethdev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
{
struct bond_rx_queue *bd_rx_q = (struct bond_rx_queue *)
rte_zmalloc_socket(NULL, sizeof(struct bond_rx_queue),
- 0, dev->pci_dev->numa_node);
+ 0, dev->data->numa_node);
if (bd_rx_q == NULL)
return -1;
@@ -1673,7 +1673,7 @@ bond_ethdev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
{
struct bond_tx_queue *bd_tx_q = (struct bond_tx_queue *)
rte_zmalloc_socket(NULL, sizeof(struct bond_tx_queue),
- 0, dev->pci_dev->numa_node);
+ 0, dev->data->numa_node);
if (bd_tx_q == NULL)
return -1;
@@ -1926,7 +1926,7 @@ bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type,
bonded_eth_dev = &rte_eth_devices[*(uint8_t *)param];
slave_eth_dev = &rte_eth_devices[port_id];
- if (valid_bonded_ethdev(bonded_eth_dev))
+ if (check_for_bonded_ethdev(bonded_eth_dev))
return;
internals = bonded_eth_dev->data->dev_private;
diff --git a/drivers/net/bonding/rte_eth_bond_private.h b/drivers/net/bonding/rte_eth_bond_private.h
index e7af809..6c47a29 100644
--- a/drivers/net/bonding/rte_eth_bond_private.h
+++ b/drivers/net/bonding/rte_eth_bond_private.h
@@ -174,7 +174,7 @@ struct bond_dev_private {
extern struct eth_dev_ops default_dev_ops;
int
-valid_bonded_ethdev(const struct rte_eth_dev *eth_dev);
+check_for_bonded_ethdev(const struct rte_eth_dev *eth_dev);
/* Search given slave array to find possition of given id.
* Return slave pos or slaves_count if not found. */
--
1.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs
2015-11-03 13:01 ` [dpdk-dev] [PATCH v8 00/11] remove pci driver from vdevs Bernard Iremonger
` (10 preceding siblings ...)
2015-11-03 13:02 ` [dpdk-dev] [PATCH v8 11/11] bonding: " Bernard Iremonger
@ 2015-11-03 17:50 ` Thomas Monjalon
11 siblings, 0 replies; 15+ messages in thread
From: Thomas Monjalon @ 2015-11-03 17:50 UTC (permalink / raw)
To: Bernard Iremonger; +Cc: dev
2015-11-03 13:01, Bernard Iremonger:
> There is a dummy pci driver in the vdev PMD's at present.
> This patch set removes the pci driver from the vdev PMD's.
> Changes have been made to librte_ether to handle vdevs and pdevs in the same way.
Applied with some fixes, thanks
^ permalink raw reply [flat|nested] 15+ messages in thread