[dpdk-dev] [PATCH v6 00/28] remove pci driver from vdevs
David Marchand
david.marchand at 6wind.com
Fri Oct 30 14:32:35 CET 2015
Hello Bernard,
On Thu, Oct 29, 2015 at 7:36 PM, Bernard Iremonger <
bernard.iremonger at intel.com> wrote:
> 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.
>
> [snip]
>
> Bernard Iremonger (28):
> librte_eal: add RTE_KDRV_NONE for vdevs
> librte_ether: add fields from rte_pci_driver to rte_eth_dev_data
> librte_ether: add function rte_eth_copy_dev_info
> ixgbe: copy pci device info to eth_dev data
> e1000: copy pci device info to eth_dev data
> i40e: copy pci device info to eth_dev data
> fm10k: copy pci device info to eth_dev data
> bnx2x: copy pci device info to eth_dev data
> cxgbe: copy pci device info to eth_dev data
> enic: copy pci device info to eth_dev data
> mlx4: copy pci device info to eth_dev data
> virtio: copy pci device info to eth_dev data
> vmxnet3: copy pci device info to eth_dev data
> null: copy device info to eth_dev data
> ring: copy device info to eth_dev data
> pcap: copy device info to eth_dev data
> af_packet: copy device info to eth_dev data
> xenvirt: copy device info to eth_dev data
> mpipe: copy device info to eth_dev data
> bonding: copy device info to eth_dev data
> librte_ether: remove branches on pci_dev
> null: remove pci device
> ring: remove pci device
> pcap: remove pci device
> af_packet: remove pci device
> xenvirt: remove pci device
> mpipe: remove pci device
> bonding: remove pci device
>
We end up with kdrv none, while for virtual devices, I can't see a case
where we would need it.
And these flags end up in ethdev :
+/** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */
+#define RTE_ETH_DEV_DRV_NEED_MAPPING RTE_PCI_DRV_NEED_MAPPING
+/** Device needs to be unbound even if no module is provided */
+#define RTE_ETH_DEV_DRV_FORCE_UNBIND RTE_PCI_DRV_FORCE_UNBIND
+/** Device supports link state interrupt */
+#define RTE_ETH_DEV_INTR_LSC RTE_PCI_DRV_INTR_LSC
+/** Device supports detaching capability */
+#define RTE_ETH_DEV_DETACHABLE RTE_PCI_DRV_DETACHABLE
I can't see the point of all this, you are just moving pci specific fields
to ethdev and I don't see how it would ease future cleanups or
introductions of other bus types.
A real cleanup would be something like what Neil already proposed before.
--
David Marchand
More information about the dev
mailing list