[dpdk-dev] X520 virtual functions worked in 2.0 but fails in 2.1

Jesper Wramberg jesper.wramberg at gmail.com
Thu Sep 17 11:35:51 CEST 2015


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);
>


More information about the dev mailing list