iflib: report output drops and handle ENOBUFS properly- Fix an mbuf leak with iflib.simple_tx=1 when we run out of tx descsin iflib_encap(). It seems odd to free the mbuf in iflib_encap(),but th
iflib: report output drops and handle ENOBUFS properly- Fix an mbuf leak with iflib.simple_tx=1 when we run out of tx descsin iflib_encap(). It seems odd to free the mbuf in iflib_encap(),but that routine consumes mbufs for other reasons, and it seemedsafest to free there rather than have the simple tx routine parsereturn values to determine what needed to be freed.- Increment counters for output drops when ENOBUFS is encounteredand output errors when other transmit errors are encountered for boththe simple and normal tx routines.- Performed driver changes so that iflib drivers now add the genericoutput drop and output error counters to their private counters in theirifdi_get_counter routines.Reviewed by: kbowling, markjDifferential Revision: https://reviews.freebsd.org/D52369Sponsored by: Netflix
show more ...
axgbe: Fix setting promisc modeEthernet drivers should respect IFF_PROMISC rather than IFF_PPROMISC.The latter is for user-requested promisc mode, it implies the formerbut not vice versa. Some in
axgbe: Fix setting promisc modeEthernet drivers should respect IFF_PROMISC rather than IFF_PPROMISC.The latter is for user-requested promisc mode, it implies the formerbut not vice versa. Some in-kernel components such as if_bridge(4) andbpf(4) will set promisc mode for interfaces on-demand.While here, update the debugging message to be not confusing.This was spotted while reviewing markj@ 's work D46524.Test from Franco shows that the interface seems to be unconditionallyinitialized to promisc mode regardless of this fix. That needs furtherinvestigation.Reviewed by: markj, Franco Fichtner <franco@opnsense.org>Tested by: Franco Fichtner <franco@opnsense.org>MFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D46794
axgbe: Stop checking for failures from taskqueue_create(M_WAITOK)MFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D45853
axgbe: Stop checking for failures from malloc(M_WAITOK)MFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D45852
axgbe: use bit_foreachbitstring.h includes a definition of bit_foreach, for iterating overthe set bits of a bitstring. axgbe implements its own version of thisfor bitstrings. Drop it, and use the
axgbe: use bit_foreachbitstring.h includes a definition of bit_foreach, for iterating overthe set bits of a bitstring. axgbe implements its own version of thisfor bitstrings. Drop it, and use the bitstring method.Reviewed by: desDifferential Revision: https://reviews.freebsd.org/D46037
axgbe: Fix two typos in source code comments- s/specfied/specified/MFC after: 3 days
axgbe: drop unused functionA recent change dropped the only use of fls64() in axgbe, so drop itsdefinition.Reviewed by: markjDifferential Revision: https://reviews.freebsd.org/D46030
axgbe: use standard rounddown_pow_of_twoDrop an implementation of __rounddown_pow_of_two, which triggersCoverity warnings, and use the libkern implementation ofrounddown_pow_of_two instead.Revi
axgbe: use standard rounddown_pow_of_twoDrop an implementation of __rounddown_pow_of_two, which triggersCoverity warnings, and use the libkern implementation ofrounddown_pow_of_two instead.Reviewed by: markjDifferential Revision: https://reviews.freebsd.org/D46022
axgbe: Remove a nonsensical use of kernel_sysctlbyname()No functional change intended.MFC after: 1 week
net: Remove unneeded NULL check for the allocated ifnetChange 4787572d0580 made if_alloc_domain() never fail, then also do thewrappers if_alloc(), if_alloc_dev(), and if_gethandle().No functiona
net: Remove unneeded NULL check for the allocated ifnetChange 4787572d0580 made if_alloc_domain() never fail, then also do thewrappers if_alloc(), if_alloc_dev(), and if_gethandle().No functional change intended.Reviewed by: kp, imp, glebius, stevekMFC after: 2 weeksDifferential Revision: https://reviews.freebsd.org/D45740
axgbe: Various stability improvementsHook in RSS glue.Default to "off" for the split header feature to ensure netmapcompatibility.Change the PCS indirection register values based on hardware t
axgbe: Various stability improvementsHook in RSS glue.Default to "off" for the split header feature to ensure netmapcompatibility.Change the PCS indirection register values based on hardware type(ported from Linux).Move tunable settings to sysctl_init() and set the defaults there.Ensure it's called at the right time by moving it back.Reset PHY RX data path when mailbox command times out (Ported fromLinux).Check if VLAN HW tagging is enabled before assuming a VLAN tagis present in a descriptor.Disable the hardware filter since multicast traffic is droppedin promisc mode.Remove unnecessary return statement.Missing sfp_get_mux, causing a race between ports to readSFP(+) sideband signals.Validate and fix incorrectly initialized polarity/configurationregisters.Remove unnecessary SFP reset.axgbe_isc_rxd_pkt_get has no error state, remove unnecessarybig packet check.Enable RSF to prevent zero-length packets while in Netmap mode.DMA cache coherency update (ported from Linux).Reviewed by: impPull Request: https://github.com/freebsd/freebsd-src/pull/1103
axgbe: Various link stability and module compatibilty improvementsMove the phy_stop() routine to if_detach() to prevent link interruptionswhen configuring the interface. Accompanying this is a san
axgbe: Various link stability and module compatibilty improvementsMove the phy_stop() routine to if_detach() to prevent link interruptionswhen configuring the interface. Accompanying this is a sanity checkusing phy_started, which was already there but remained unused. We donot move phy_start(), as the logic there is needed for any init routine,be it attach or start.Also bring in the linux PMA_PLL change which addresses the flapping ofback-to-back fiber connections.Use miibus for SFP PHYs up to 1G copper. We retry in cases where the PHYis not directly reachable. Set the correct IFM_100_SGMII flag when thephy speed has been set to 100. We remove xgbe_phy_start_aneg() sinceit's handled by miibus.Add support for 100 and 1000 BASE-BX fiber modulesAdd support for 25G multirate DACs which are capable of 10G.While here, also fixup the LINK_ERR state. It was impossible to recoverfrom this previously.[[ Note: light style fixes by imp, slight commit message adjustment, and a warning that I don't have the hardware to validate, but the changes do track the commit message and seem otherwise OK ]]Reviewed by: impPull Request: https://github.com/freebsd/freebsd-src/pull/768
sys: Automated cleanup of cdefs and other formattingApply the following automated changes to try to eliminateno-longer-needed sys/cdefs.h includes as well as now-emptyblank lines in a row.Remov
sys: Automated cleanup of cdefs and other formattingApply the following automated changes to try to eliminateno-longer-needed sys/cdefs.h includes as well as now-emptyblank lines in a row.Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/Remove /\n+#if.*\n#endif.*\n+/Remove /^#if.*\n#endif.*\n/Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/Sponsored by: Netflix
iflib drivers: Constify PCI ID LUTsSince d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, iflib(9) is readyfor this change.While at it, make isc_driver_version strings (static) const wherenot apparentl
iflib drivers: Constify PCI ID LUTsSince d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, iflib(9) is readyfor this change.While at it, make isc_driver_version strings (static) const wherenot apparently un-const on purpose, too.This reduces the size of the amd64 GENERIC by about 10 KiB.
sys: Remove $FreeBSD$: one-line .c patternRemove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
sys: Remove $FreeBSD$: two-line .h patternRemove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of BSD-2-Clause.Discussed with: pfgMFC After: 3 daysSponsored by: Netflix
Finish mechanical conversion of axgbe(4) to IfAPI.Sponsored by: Juniper Networks, Inc.
Convert iflib(4) and iflib-based drivers to the DrvAPISummary:Convert iflib(4) and the following drivers:* axgbe* em* ice* ixl* vmxnetSponsored by: Juniper Networks, Inc.Reviewed by: kbowl
Convert iflib(4) and iflib-based drivers to the DrvAPISummary:Convert iflib(4) and the following drivers:* axgbe* em* ice* ixl* vmxnetSponsored by: Juniper Networks, Inc.Reviewed by: kbowling, #iflibDifferential Revision: https://reviews.freebsd.org/D37768
sys: Nuke double-semicolonsA distinct number of double-semicolons have ended up in FreeBSD. Take apass at getting rid of many of these harmless typos.Reviewed by: emaste, rrsPull Request: http
sys: Nuke double-semicolonsA distinct number of double-semicolons have ended up in FreeBSD. Take apass at getting rid of many of these harmless typos.Reviewed by: emaste, rrsPull Request: https://github.com/freebsd/freebsd-src/pull/609Differential Revision: https://reviews.freebsd.org/D31716
axgbe: Remove unused devclass arguments to DRIVER_MODULE.
Remove unused miibus_devclass and miibus_fdt_devclass.
if_axgbe: properly release resource in error casePR: 262899Reviewed by: markjMFC after: 2 weeksDifferential Revision: https://reviews.freebsd.org/D34628
axgbe: Remove unused variable in axgbe_msix_que.Keep the register read just in case though it seems possible it is notneeded as the function later clears specific interrupts via a write tothe sam
axgbe: Remove unused variable in axgbe_msix_que.Keep the register read just in case though it seems possible it is notneeded as the function later clears specific interrupts via a write tothe same register.
axgbe_setup_sysctl is a nop, remove it and the call to it.Should we need something like this in the future, we can add it back.Sponsored by: Netflix
12