I recently temporarily added an additional network card to my system for
testing, thus moving all my interface names about; em0 becomes em1, etc,
necessitating annoying configuration changes and/or cable juggling.
Many Linux distributions solve this problem with /etc/iftab or /etc/mactab,
wiring an interface name to a MAC address so they're no longer dependent on
This patch adds similar functionality to network.subr's ifnet_rename function,
so things like the following can be added to rc.conf:
Also included is a small patch against the rc.conf(5) manpage.
Both patches are against RELENG_7, but should apply relatively cleanly against
It would be nice to have this patch merged as I think it's quite useful :-)
Created attachment 195121 [details]
Patch against CURRENT
Since this hasn't had much love lately, I've done a bit of work to update the network.subr patch against CURRENT so at least there's something new to look at.
This patch changes how it works a little - the original example now looks like this:
Not quite as pretty, but the patch is a fair bit simpler now.
Renaming is still pretty rudimentary - it can't reliably pin, say, "em0", because another interface may already have that name, but one step at a time.
Care also needs to be taken if a system is sharing "ether" across multiple interfaces, e.g. with lagg. hwaddr might be more appropriate in these cases, and this naming scheme helpfully leaves room for that in future.
Can't be in progress without an assignee