- 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.
Details
Details
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
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
Comment Actions
- 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.
Comment Actions
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.