Thomas,
> -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Saturday, April 02, 2016 5:40 AM > To: Chen, Jing D > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2] doc: update nic overview > > 2016-04-01 16:55, Chen Jing D: > > Add feature support list for fm10k, fm10k-vec, fm10kvf and > > fm10kvf-vec. > > Please help me to understand what is fm10kvf. > I see only one fm10k driver: > % git grep 'struct eth_driver' drivers/net/fm10k/ > drivers/net/fm10k/fm10k_ethdev.c:static struct eth_driver rte_pmd_fm10k > = { You can refer to below definition: static const struct rte_pci_id pci_id_fm10k_map[] = { #define RTE_PCI_DEV_ID_DECL_FM10K(vend, dev) { RTE_PCI_DEVICE(vend, dev) }, #define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev) { RTE_PCI_DEVICE(vend, dev) }, #include "rte_pci_dev_ids.h" { .vendor_id = 0, /* sentinel */ }, }; As you can see that fm10k driver will manage 2 different types of devices, PF and VF. We can say that there are 2 drivers under fm10k directory. The aspects that not applicable to PF/VF will use condition check to control execution path. This makes driver can work with PF and VF devices and reduce redundant code.