Page MenuHomeFreeBSD

axgbe: Assorted stability improvements
Needs ReviewPublic

Authored by stephan.dewt_yahoo.co.uk on Jun 23 2023, 1:29 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 5, 4:07 PM
Unknown Object (File)
Mar 17 2024, 9:01 AM
Unknown Object (File)
Mar 13 2024, 10:10 PM
Unknown Object (File)
Mar 7 2024, 2:00 AM
Unknown Object (File)
Mar 7 2024, 2:00 AM
Unknown Object (File)
Mar 7 2024, 12:52 AM
Unknown Object (File)
Mar 7 2024, 12:00 AM
Unknown Object (File)
Feb 19 2024, 4:27 PM

Details

Reviewers
manu
vmaffione
Summary
  • hook in RSS glue
  • change the split header default to "off" to ensure netmap compatibility
  • change the PCS indirection register values based on hardware type
  • move tunable settings to sysctl_init and set the defaults there. Ensure it's called at the right time by moving it back
  • move phy_stop() to if_detach() to avoid unnecessary DEVD events
  • assorted fixes ported from linux
  • make sure to check if VLAN HW tagging is enabled before assuming a VLAN tag is present in a descriptor, which is almost certainly missing
  • Disable the hardware filter since multicast traffic is dropped in promiscuous mode
  • remove unnecessary return statement
  • hook miibus to SFP (up to 1Gb) PHYs if a PHY is present and responding.
  • put unused phy_started check to use
  • print module information
  • missing multiplexer grab, causing a race between ports to read out SFP(+) sideband signals
  • validate and fix incorrectly initialized polarity/configuration registers
  • remove unnecessary SFP reset
  • correctly expose 100/1000 link speed to ifmediareq
  • axgbe_isc_rxd_pkt_get has no error state, remove unnecessary big packet check
  • assorted link stability and SFP(+) module compatibility improvements.
Test Plan

All changes have been tested on old and recent AMD SoCs implementing
axgbe. All of the changes run stable on production, most of them
for well over a year.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 53572
Build 50463: arc lint + arc unit

Event Timeline

  • axgbe: Enable RSF to prevent zero-length packets while in Netmap mode

Initially, RSF (Receive Queue Store and Forward) was disabled for
unknown reasons, but the cut-through mode that's enabled as a result
seems to send 0 length packets up to the DMA when the RX queue is
full.

The link parts of this landed in 445bed5c4d85 so a rebase would be about 1/2 the size and more likely to be more reviewable.