Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Oct 2018 21:05:16 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        freebsd-arch@freebsd.org
Cc:        freebsd-net@freebsd.org, freebsd-stable@freebsd.org, freebsd-fcp@freebsd.org
Subject:   FCP-0101: Deprecating most 10/100 Ethernet drivers
Message-ID:  <20181003210516.GA71565@spindle.one-eyed-alien.net>

next in thread | raw e-mail | index | archive | help

--9jxsPFA5p3P2qPhR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

>>> Please direct replies to freebsd-arch <<<

FCP-01010 (https://github.com/freebsd/fcp/blob/master/fcp-0101.md)
outlines a plan to deprecate most 10/100 Ethernet drivers in FreeBSD 12
and remove them in FreeBSD 13 to reduce the burden of maintaining and
improving the network stack.  We have discussed this within the
core team and intend to move forward as proposed.  We are solictiting
feedback on the list of drivers to be excepted from removal.

The current list of drivers slated for REMOVAL is:

ae, bfe, bm, cs, dme, ed, ep, ex, fe, pcn, rl, sf, smc, sn,
ste, tl, tx, txp, vx, wb, xe

The current list of drivers that will STAY in the tree is:

dc, ffec, fxpl, hme, le, sis, vr, xl

The criteria for exception are:
 - Popular in applications where it is likely to be deployed beyond the
   support lifetime of FreeBSD 12 (late 2023).
   - 5 reports of uses in the wild on machines running FreeBSD 12 will be
     deemed satisfy the "popular"
     requirement.
 - Required to make a well supported embedded or emulation platform usable.
 - Ported to use iflib (reducing future maintenance cost.)

Please reply to this message with nominations to the exception list.

The full FCP-0101 is included below.

-- Brooks

---
authors: Brooks Davis <brooks@freebsd.org>
state: feedback
---

# FCP 101: Deprecation and removal of 10/100 Ethernet drivers

Deprecate most 10 and 10/100Mbps Ethernet drivers and remove them before
FreeBSD 13.

## Problem Statement

Each network driver creates drag for the project as we attempt to
improve the network stack or provide new features such as expanded
32-bit compatibility.  For example, the author has edited every single
NIC driver more than once in the past year to update management (`ioctl`)
interfaces.  We could improve this situation by converting drivers to
iflib, but each additional driver takes work.

10 and 100 megabit Ethernet drivers are largely irrelevant today
and we have a significant number of them in the tree.  The ones that
are no longer used and/or are not known to be working need to be
removed due to the significant ongoing 'tax' on new development.

For at least a decade, most systems (including small embedded
systems) have shipped with gigabit Ethernet devices and virtual
machines commonly emulate popular gigabit devices.  We wish to
retain support for popular physical and virtual devices while
removing support for uncommon ones.  With a few exceptions these
drivers are unlikely to be used by our user base by the time FreeBSD
12 is obsolete (approximately 2024).

## Proposed Solution

We propose to deprecate devices which are not sufficiently popular.  This
will entail:
 - (October 2018) Send this list to freebsd-net and freebsd-stable.
 - (Before FreeBSD 12.0-RELEASE - October 2018) Update the manpages and
   attach routines for each device to be removed and merge those changes
   to FreeBSD 12.
 - (One month after FreeBSD 12.0-RELEASE - January 2018) Remind
   freebsd-net and freebsd-stable users of pending deletion.
 - (Two months after FreeBSD 12.0-RELEASE - February 2019) Delete deprecated
   devices.

Through out this process, solicit feedback on additions to the exception
list and update this document as required.  For a device to be placed on
the exception list the device must meet one of the following criteria:
 - Popular in applications where it is likely to be deployed beyond the
   support lifetime of FreeBSD 12 (late 2023).
   - 5 reports of uses in the wild on machines running FreeBSD 12 will be
     deemed satisfy the "popular"
     requirement.
 - Required to make a well supported embedded or emulation platform usable.
 - Ported to use iflib (reducing future maintenance cost.)

### Exceptions to removal

Device | Reason
-------|-------------------------------------------------
ffec   | Onboard Ethernet for Vybrid arm7 boards
fxp    | Popular device long recommended by the project.
dc     | Popular device for CardBus card.
hme    | Built in interface on many supported sparc64 platforms.
le     | Emulated by QEMU, alternatives don't yet work for mips64.
sis    | Soekris Engineering net45xx, net48xx, lan1621, and lan1641.
vr     | Soekris Engineering net5501, some Asus motherboards.
xl     | Popular device for CardBus card.

Note: USB devices have been excluded from consideration in this round.

### Device to be removed

ae, bfe, bm, cs, dme, ed, ep, ex, fe, pcn, rl, sf, smc, sn,
ste, tl, tx, txp, vx, wb, xe

## Final Disposition

TBD

--9jxsPFA5p3P2qPhR
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJbtS8LAAoJEKzQXbSebgfAgGIIAIf/HrZS1GimKs2lATax83yk
8LzR3qFz0t5ZJAzYjh6u+BjXxBM2cca8MhLHojG+qMzMVpKsSZ0x97YJyxg8Eu+o
urJ5gDZ1wb6hcfRcrbg87/9Ek68gcAjY8MsSNjTJbyAigQmFrRVkhdELn4QF3wU7
hU+1LOmbtL/yp3qk2Ub/wd1zeOu6MKd5mcFbAOjWHxV9Yz5Mb/uisVtuOeEPmStT
zm8UcjAwlBJXR2j2O1/u0JXh1oEh4gXA6ARD3G2Gtr+peKiLcpiEPzttvidAtrdQ
PevJk/Xp+Tugrl963b0Yg9LLecww+z+Ta8X2NKxULlz0vSzkYQDUl82X2do3jms=
=A/uC
-----END PGP SIGNATURE-----

--9jxsPFA5p3P2qPhR--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181003210516.GA71565>