Using any network interface whatsoever (solution?)

Mike Meyer mwm-keyword-freebsdhackers.102a7e at
Sun Apr 9 03:18:02 UTC 2006

In <44385525.8000203 at>, Darren Pilgrim <darren.pilgrim at> typed:
> Mike Meyer wrote:
> > In <20060408224140.GA15366 at>, David Taylor <davidt at> typed:
> >> That doesn't quite work, though.  Unless you require everyone wanting
> >> to distinguish between LAN and WAN interfaces uses different types
> >> of hardware for each card, they'll still end up with xl0 and xl1
> >> (or whatever), which is in no way better than eth0 and eth1,
> > 
> > You're right - but at least you have the option of using different
> > types of cards to get different names. I agree that this sucks, but
> > it's better than nothing.
> This is a script to rename interfaces based on the MAC address:

Very nice.

> If you add something to /etc/rc.d so that a sh-ified version of this script 
> runs after all interfaces have attached but before any numbering or cloning 
> takes place you can have lines like this in /etc/rc.conf:
> ifconfig_PublicLAN="inet a.b.c.d/24"
> That's far better than trying to remember what's on em0.

That's certainly true. But is there an advantage to tieing the
PublicLAN name to a MAC address as opposed to em0?

> Comments please!

This is certainly a move in the right direction. However, MAC
addresses are of about the same order of obscurity as device probe
order numbers. It might be more usefull to do something like:

for ifn in $(ifconfig -l link)
    ifn_addr=$(pciconf -l | grep "^$ifn" | sed -e 's/^[^@]*@//' -e 's/:     .*//')
    ifn_name=$(grep $ifn_addr $ifn_list | cut -d ' ' -f 2$)
    ifconfig $ifn name $ifn_name

This way, the name would be tied to the slot on the backplane that the
device is plugged into. If you changed the card in that slot, it'd
still get the same name, even if it was a different card type. That
seems like desirable behavior to me, but I can also see cases where
the name should follow the card if it moves to a different slot, which
is what your version does.

The real problem with what I proposed is that you have to arrange to
search config information for things that may not be tied to a pci
bus. That could get real messy.

Mike Meyer <mwm at>
Independent Network/Unix/Perforce consultant, email for more information.

More information about the freebsd-hackers mailing list