vmxnet3 no longer functional on DPDK 21.11

Ferruh Yigit ferruh.yigit at intel.com
Tue Nov 30 09:53:16 CET 2021


On 11/29/2021 8:45 PM, Lewis Donzis wrote:
> Hello.
> 
> We just upgraded from 21.08 to 21.11 and it's rather astounding the number of incompatible changes in three months.  Not a big deal, just kind of a surprise, that's all.
> 
> Anyway, the problem is that the vmxnet3 driver is no longer functional on FreeBSD.
> 
> In drivers/net/vmxnet3/vmxnet3_ethdev.c, vmxnet3_dev_start() gets an error calling rte_intr_enable().  So it logs "interrupt enable failed" and returns an error.
> 
> In lib/eal/freebsd/eal_interrupts.c, rte_intr_enable() is returning an error because rte_intr_dev_fd_get(intr_handle) is returning -1.
> 
> I don't see how that could ever return anything other than -1 since it appears that there is no code that ever calls rte_intr_dev_fd_set() with a value other than -1 on FreeBSD.  Also weird to me is that even if it didn't get an error, the switch statement that follows looks like it will return an error in every case.
> 
> Nonetheless, it worked in 21.08, and I can't quite see why the difference, so I must be missing something.
> 
> For the moment, I just commented the "return -EIO" in vmxnet3_ethdev.c, and it's now working again, but that's obviously not the correct solution.
> 
> Can someone who's knowledgable about this mechanism perhaps explain a little bit about what's going on?  I'll be happy to help troubleshoot.  It seems like it must be something simple, but I just don't see it yet.
> 
> Thanks,
> lew


+Yong


More information about the dev mailing list