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>