Hi David, During the testing, I saw that the length field was 0. ENIC PMD validates the length of the BAR against a max value. In order to get the length in the resource structure, I added this statement.
Thanks, -Sujith From: David Marchand <david.marchand at 6wind.com<mailto:david.march...@6wind.com>> Date: Monday, 24 November 2014 4:33 pm To: "Sujith Sankar (ssujith)" <ssujith at cisco.com<mailto:ssujith at cisco.com>> Cc: "dev at dpdk.org<mailto:dev at dpdk.org>" <dev at dpdk.org<mailto:dev at dpdk.org>>, "Prasad Rao (prrao)" <prrao at cisco.com<mailto:prrao at cisco.com>> Subject: Re: [dpdk-dev] [PATCH v3 6/6] DPDK changes for accommodating ENIC PMD Hello Sujith, On Sun, Nov 23, 2014 at 5:08 PM, Sujith Sankar <ssujith at cisco.com<mailto:ssujith at cisco.com>> 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..6bf8f2e 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 */ Not sure I understand why you need to overwrite the length value. This is supposed to be initialised before by "generic" code. This looks like a hack or a workaround. Can you elaborate on this change ? Thanks. -- David Marchand