vmxnet3 no longer functional on DPDK 21.11

Lewis Donzis lew at perftech.com
Wed Jan 10 14:36:02 CET 2024



----- On Jan 9, 2024, at 5:55 PM, Stephen Hemminger stephen at networkplumber.org wrote:
> Probably need to go further with this.
> - what about unreigster in vmxnet3_dev_stop
> - vmxnet3_interrupt_handler is then dead code, should it be #ifdef guarded?
> - and vmxnet3_dev_rx_queue_intr_enable/disable
> - and vmxnet3_enable_intr
> - and vmxnet3_configure_msix
>  - and checks for rte_eth_intr_conf bits? in configure

I wondered the same thing, but checking other drivers, there appears to be little provision for this.  Just as an example, ixgbe has a FREEBSD ifdef, but it doesn't bother with trying to avoid all interrupt code.  And hardly any other network drivers have FREEBSD ifdefs at all and just ignore errors from registering interrupt callbacks.

In addition, the FreeBSD EAL interrupt code appears to have stubs that return "false" for calls that question whether interrupts are enabled, e.g., rte_intr_dp_is_en(), or an error for calls that attempt to use interrupts.

It's interesting that it works as well as it does because most drivers appear to be enabling interrupts in the NIC hardware.  But if the interrupt remains masked in the APIC due to lack of support in freebsd/eal_interrupts.c, then perhaps it doesn't matter?

So while your suggestions seem quite well-founded, I don't see any equivalent provision in any other driver.  Apparently there is no harm in attempting to use interrupts on FreeBSD since they will never trigger anyway?


More information about the dev mailing list