[dpdk-dev] [PATCH v4 6/6] DPDK changes for accommodating ENIC PMD

2014-11-25 Thread Sujith Sankar
Signed-off-by: Sujith Sankar 
---
 config/common_linuxapp | 5 +
 lib/Makefile   | 1 +
 lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 1 +
 mk/rte.app.mk  | 4 
 4 files changed, 11 insertions(+)

diff --git a/config/common_linuxapp b/config/common_linuxapp
index 86a0d15..542fff2 100644
--- a/config/common_linuxapp
+++ b/config/common_linuxapp
@@ -210,6 +210,11 @@ CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
 CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=-1

 #
+# Compile burst-oriented Cisco ENIC PMD driver
+#
+CONFIG_RTE_LIBRTE_ENIC_PMD=y
+
+#
 # Compile burst-oriented VIRTIO PMD driver
 #
 CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
diff --git a/lib/Makefile b/lib/Makefile
index 204ef11..df17d78 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -43,6 +43,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += librte_cmdline
 DIRS-$(CONFIG_RTE_LIBRTE_ETHER) += librte_ether
 DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += librte_pmd_e1000
 DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += librte_pmd_ixgbe
+DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += librte_pmd_enic
 DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += librte_pmd_i40e
 DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += librte_pmd_bond
 DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += librte_pmd_ring
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c 
b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
index c776ddc..87e7862 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
+++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
@@ -736,6 +736,7 @@ pci_vfio_map_resource(struct rte_pci_device *dev)
maps[i].offset = reg.offset;
maps[i].size = reg.size;
dev->mem_resource[i].addr = bar_addr;
+   dev->mem_resource[i].len = reg.size;
}

/* if secondary process, do not set up interrupts */
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 59468b0..bef823b 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -186,6 +186,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_VMXNET3_PMD),y)
 LDLIBS += -lrte_pmd_vmxnet3_uio
 endif

+ifeq ($(CONFIG_RTE_LIBRTE_ENIC_PMD),y)
+LDLIBS += -lrte_pmd_enic
+endif
+
 ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_PMD),y)
 LDLIBS += -lrte_pmd_virtio_uio
 endif
-- 
1.9.1



[dpdk-dev] [PATCH v4 6/6] DPDK changes for accommodating ENIC PMD

2014-11-25 Thread David Marchand
Hello Sujith,

On Tue, Nov 25, 2014 at 5:30 PM, Sujith Sankar  wrote:

> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
> b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
> index c776ddc..87e7862 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
> +++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
> @@ -736,6 +736,7 @@ pci_vfio_map_resource(struct rte_pci_device *dev)
> maps[i].offset = reg.offset;
> maps[i].size = reg.size;
> dev->mem_resource[i].addr = bar_addr;
> +   dev->mem_resource[i].len = reg.size;
> }
>
> /* if secondary process, do not set up interrupts */
>

I still think this part is wrong.
The length should have been populated by pci_parse_sysfs_resource().
Are you sure this length is 0 ?

Can you do give me the result of cat
/sys/bus/pci/devices/$your_device_pci_address/resource ?

Thanks.

-- 
David Marchand