[dpdk-dev] enic: add support for enic in nic_uio driver for FreeBSD
Commit Message
This patch adds support for enic in the nic_uio driver so that enic could be used on FreeBSD.
Signed-off-by: Sujith Sankar <ssujith@cisco.com>
---
lib/librte_eal/bsdapp/nic_uio/nic_uio.c | 1 +
lib/librte_eal/common/include/rte_pci_dev_ids.h | 17 +++++++++++++++++
2 files changed, 18 insertions(+)
Comments
On Thu, May 07, 2015 at 09:19:09AM +0530, Sujith Sankar wrote:
> This patch adds support for enic in the nic_uio driver so that enic could be used on FreeBSD.
>
> Signed-off-by: Sujith Sankar <ssujith@cisco.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> lib/librte_eal/bsdapp/nic_uio/nic_uio.c | 1 +
> lib/librte_eal/common/include/rte_pci_dev_ids.h | 17 +++++++++++++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c b/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
> index 5ae8560..e649e32 100644
> --- a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
> +++ b/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
> @@ -113,6 +113,7 @@ struct pci_bdf {
> #define RTE_PCI_DEV_ID_DECL_I40EVF(vend, dev) {vend, dev},
> #define RTE_PCI_DEV_ID_DECL_VIRTIO(vend, dev) {vend, dev},
> #define RTE_PCI_DEV_ID_DECL_VMXNET3(vend, dev) {vend, dev},
> +#define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev) {vend, dev},
>
> const struct device devices[] = {
> #include <rte_pci_dev_ids.h>
> diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h
> index 21d2eed..5d1b285 100644
> --- a/lib/librte_eal/common/include/rte_pci_dev_ids.h
> +++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h
> @@ -140,6 +140,10 @@
> #define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev)
> #endif
>
> +#ifndef RTE_PCI_DEV_ID_DECL_ENIC
> +#define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev)
> +#endif
> +
> #ifndef PCI_VENDOR_ID_INTEL
> /** Vendor ID used by Intel devices */
> #define PCI_VENDOR_ID_INTEL 0x8086
> @@ -155,6 +159,11 @@
> #define PCI_VENDOR_ID_VMWARE 0x15AD
> #endif
>
> +#ifndef PCI_VENDOR_ID_CISCO
> +/** Vendor ID used by Cisco VIC devices */
> +#define PCI_VENDOR_ID_CISCO 0x1137
> +#endif
> +
> /******************** Physical EM devices from e1000_hw.h ********************/
>
> #define E1000_DEV_ID_82542 0x1000
> @@ -548,6 +557,14 @@ RTE_PCI_DEV_ID_DECL_VMXNET3(PCI_VENDOR_ID_VMWARE, VMWARE_DEV_ID_VMXNET3)
>
> RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_VF)
>
> +/****************** Cisco VIC devices ******************/
> +
> +#define PCI_DEVICE_ID_CISCO_VIC_ENET 0x0043 /* ethernet vnic */
> +#define PCI_DEVICE_ID_CISCO_VIC_ENET_VF 0x0071 /* enet SRIOV VF */
> +
> +RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET)
> +RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET_VF)
> +
> /*
> * Undef all RTE_PCI_DEV_ID_DECL_* here.
> */
> --
> 1.9.1
>
On Thu, May 7, 2015 at 11:23 AM, Bruce Richardson <
bruce.richardson@intel.com> wrote:
> On Thu, May 07, 2015 at 09:19:09AM +0530, Sujith Sankar wrote:
> > This patch adds support for enic in the nic_uio driver so that enic
> could be used on FreeBSD.
> >
> > Signed-off-by: Sujith Sankar <ssujith@cisco.com>
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
>
Well this is not really bsd specific, as people who rely on
rte_pci_dev_ids.h header to find devices that must be bound to igb_uio and
consort, will also benefit from this fix.
By the way, I am working on removing these device ids from the eal, since
the pmds should be the only one that maintain their devices ids list.
Will send some patches soon.
Acked-by: David Marchand <david.marchand@6wind.com>
2015-05-07 12:57, David Marchand:
> On Thu, May 7, 2015 at 11:23 AM, Bruce Richardson wrote:
> > On Thu, May 07, 2015 at 09:19:09AM +0530, Sujith Sankar wrote:
> > > This patch adds support for enic in the nic_uio driver so that enic
> > could be used on FreeBSD.
> > >
> > > Signed-off-by: Sujith Sankar <ssujith@cisco.com>
> >
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
> Well this is not really bsd specific, as people who rely on
> rte_pci_dev_ids.h header to find devices that must be bound to igb_uio and
> consort, will also benefit from this fix.
> By the way, I am working on removing these device ids from the eal, since
> the pmds should be the only one that maintain their devices ids list.
Agree
> Will send some patches soon.
>
> Acked-by: David Marchand <david.marchand@6wind.com>
Applied, thanks
@@ -113,6 +113,7 @@ struct pci_bdf {
#define RTE_PCI_DEV_ID_DECL_I40EVF(vend, dev) {vend, dev},
#define RTE_PCI_DEV_ID_DECL_VIRTIO(vend, dev) {vend, dev},
#define RTE_PCI_DEV_ID_DECL_VMXNET3(vend, dev) {vend, dev},
+#define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev) {vend, dev},
const struct device devices[] = {
#include <rte_pci_dev_ids.h>
@@ -140,6 +140,10 @@
#define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev)
#endif
+#ifndef RTE_PCI_DEV_ID_DECL_ENIC
+#define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev)
+#endif
+
#ifndef PCI_VENDOR_ID_INTEL
/** Vendor ID used by Intel devices */
#define PCI_VENDOR_ID_INTEL 0x8086
@@ -155,6 +159,11 @@
#define PCI_VENDOR_ID_VMWARE 0x15AD
#endif
+#ifndef PCI_VENDOR_ID_CISCO
+/** Vendor ID used by Cisco VIC devices */
+#define PCI_VENDOR_ID_CISCO 0x1137
+#endif
+
/******************** Physical EM devices from e1000_hw.h ********************/
#define E1000_DEV_ID_82542 0x1000
@@ -548,6 +557,14 @@ RTE_PCI_DEV_ID_DECL_VMXNET3(PCI_VENDOR_ID_VMWARE, VMWARE_DEV_ID_VMXNET3)
RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_VF)
+/****************** Cisco VIC devices ******************/
+
+#define PCI_DEVICE_ID_CISCO_VIC_ENET 0x0043 /* ethernet vnic */
+#define PCI_DEVICE_ID_CISCO_VIC_ENET_VF 0x0071 /* enet SRIOV VF */
+
+RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET)
+RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET_VF)
+
/*
* Undef all RTE_PCI_DEV_ID_DECL_* here.
*/