On Wed, Mar 30, 2022 at 04:00:42PM -0500, Nicholas Geovanis wrote: > Does anyone here know how the BSD-derived "free" unices handle this > situation?
I haven't used OpenBSD in several years, but the last time I used it, it went something like this: The OpenBSD kernel has drivers for lots of different kinds of network interfaces. Each driver has a separate concise name. Some examples: ath — Atheros IEEE 802.11a/b/g wireless network device with GPIO fxp — Intel EtherExpress PRO/100 10/100 Ethernet device ie — Intel i82596 Ethernet device rl — Realtek 8129/8139 10/100 Ethernet device When the kernel boots and does its hardware detection, any devices that are detected are "claimed" by the appropriate drivers, and given a name according to the driver which claims it. E.g. if the system has one Realtek 8129 interface, that interface will be named "rl0", regardless of whether it's detected before or after an Intel PRO/100, which is claimed by the fxp driver and named "fxp0". As long as there's only one interface claimed by each driver, there will never be any unpredictability in the names. I'm not sure how it handles the naming when there are two or more interfaces claimed by the same driver. They'll be called "rl0" and "rl1" for example, but I don't know how it determines which one gets which name.