Hey there, Thanks for your help. I checked the eth_ixgbevf_dev_init() function against DPDK 2.0 but did think about changes in the eth_ixgbe_dev_init() function. Anyway, I have just been using 2.0 for now but it's nice to know I wasn't doing anything wrong :-)
Regards, Jesper Wramberg 2015-09-16 13:27 GMT+02:00 Van Haaren, Harry <harry.van.haaren at intel.com>: > > -----Original Message----- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jesper Wramberg > > Hi all, > > Hi Jesper, > > > I got a Dell PowerEdge R630 with an X520 NIC. I want to set up two VFs > that > > use the first port on the NIC. I've done the following: > > Your process is correct - nothing wrong here. > > > EAL: PCI device 0000:03:10.0 on NUMA socket 0 > > EAL: probe driver: 8086:10ed rte_ixgbevf_pmd > > EAL: PCI memory mapped at 0x7f08c0108000 > > EAL: PCI memory mapped at 0x7f08c010c000 > > PMD: eth_ixgbevf_dev_init(): >> > > PMD: ixgbevf_intr_disable(): >> > > PMD: eth_ixgbevf_dev_init(): VF Initialization Failure: -100 > > PMD: rte_eth_dev_init: driver rte_ixgbevf_pmd: > > eth_dev_init(vendor_id=0x32902 device_id=0x10ed) failed > > EAL: Error - exiting with code: 1 > > Cause: Requested device 0000:03:10.0 cannot be used > > This is a recently-discovered regression from commit > 0eb609239efdb52a1cea5abca5e3316052071d81 in the ixgbe driver - a fix is in > progress. > > The code in the diff below[1] of the above commit is the offender, > And adding the code back in solves the immediate problem here. > > If this temporary fix doesn't work, please let me know. > Cheers, -Harry > > [1] Snipped of diff that breaks DPDK PF / VF mailbox handling: > @@ -1000,12 +1038,6 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev) > eth_dev->data->port_id, pci_dev->id.vendor_id, > pci_dev->id.device_id); > > - rte_intr_callback_register(&(pci_dev->intr_handle), > - ixgbe_dev_interrupt_handler, (void *)eth_dev); > - > - /* enable uio intr after callback register */ > - rte_intr_enable(&(pci_dev->intr_handle)); > - > /* enable support intr */ > ixgbe_enable_intr(eth_dev); >