Page MenuHomeFreeBSD

ixl(4): Add FW recovery mode support
ClosedPublic

Authored by krzysztof.galazka_intel.com on Apr 24 2020, 9:03 PM.

Details

Summary

Update of the iflib version of ixl driver based on OOT version ixl-1.11.29.
Major changes:

  • Extract iflib specific functions from ixl_pf_main.c to ixl_pf_iflib.c to simplify code sharing between legacy and iflib version of driver
  • Add support for most recent FW API version (1.10), which extends FW LLDP Agent control by user to X722 devices
  • Improve handling of a device global reset
  • Add support for the FW recovery mode
  • Use virtchnl function to validate virtual channel messages instead of own implementation
  • Fix MAC/VLAN filters accounting

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 31600
Build 29189: arc lint + arc unit

Event Timeline

  • Fix receiving broadcast frames after reset
  • Don't process admin queue if its not configured

If reconfiguration of admin queue failed while handling reset e.g. after NVM update then don't try to process it to avoid panic.

  • Remove redundant PF reset after EMP reset

ixl_handle_empr takes care of PF reset. Triggering it again while rebuilding configuration is not necessary and may cause problems.

  • Fix sysctl ctx handling in IAVF

IAVF shares some of sysctl management functions with IXL, which started using dynamic sysctl context to manage VSI statistics. IAVF was not adapted to that and could crash because of using uninitialized context. Change the function adding statistics to accept ctx pointer and pass the dynamic context in IXL and default device context in IAVF.

This revision is now accepted and ready to land.Jun 4 2020, 2:03 PM
erj requested changes to this revision.Jun 4 2020, 8:31 PM
erj added a subscriber: erj.

Before I commit this, I'd like to have a better description of the changes that are going into this patch; I see there are changes around Recovery Mode support, but I'd like things like significant bugs or feature additions to be called out since this is pretty large.

As well, could you try to say what the equivalent OOT driver version is, too?

sys/dev/ixl/ixl_pf.h
136

This conditional should be removed?

This revision now requires changes to proceed.Jun 4 2020, 8:31 PM
krzysztof.galazka_intel.com edited the summary of this revision. (Show Details)
  • Replace 'if 1' with 'ifdef IXL_DEBUG' in ixl_pf.h to match with if_ixl.c
krzysztof.galazka_intel.com marked an inline comment as done.Jun 9 2020, 10:02 PM
erj accepted this revision as: erj.Jun 9 2020, 10:37 PM

This description looks better; thanks.

erj accepted this revision.Jun 9 2020, 10:38 PM
This revision is now accepted and ready to land.Jun 9 2020, 10:38 PM
erj closed this revision.Jun 10 2020, 4:10 PM

I committed this in rS361992.