Re: How to tell if a network interface was renamed (and from what)

From: Franco Fichtner <franco_at_opnsense.org>
Date: Mon, 20 Nov 2023 21:23:31 UTC
FWIW, here is the relevant ifinfo output of a sample machine:

# ifinfo | grep ^Interface
Interface igb0 (igb0):
Interface igb1 (igb1):
Interface igb2 (igb2):
Interface igb3 (igb3):
Interface enc0 (enc0):
Interface lo0 (lo0):
Interface pflog0 (pflog0):
Interface pfsync0 (pfsync0):
Interface lagg0 (lagg0):
Interface igb2_vlan42 (vlan0):
Interface vlan0.1.23 (vlan1):
Interface vlan0.3 (vlan2):
Interface vlan0.5.6.7 (vlan3):
Interface vlan01. (vlan4):
Interface vlan06 (vlan5):
Interface vlan08 (vlan6):
Interface qinq0.123 (vlan7):
Interface gre2 (gre2):
Interface gre0 (gre0):
Interface gif4 (gif4):
Interface gif1 (gif1):
Interface gif0 (gif0):
Interface l2tp0 (ng0):
Interface bridge0 (bridge0):
Interface lo1 (lo1):
Interface lo2 (lo2):
Interface ovpns2 (tap2):
Interface ovpnc1 (tun1):
Interface ovpnc3 (tun3):
Interface ovpns4 (tun4):
Interface wg0 (wg0):
Interface wg1 (wg1):

> On 20. Nov 2023, at 22:16, Franco Fichtner <franco@opnsense.org> wrote:
> 
> 
>> On 20. Nov 2023, at 21:56, Kristof Provost <kp@FreeBSD.org> wrote:
>> 
>> I’d look in the direction of just adding a field to struct ifnet with the original interface name (likely easily done in if_attach()), along with a new ioctl to retrieve that field.
> 
> ifconfig_get_orig_name() already exists, but apart from wlandebug
> nothing is using it.
> 
> The internally used IFDATA_DRIVERNAME also appears in ifinfo
> (not installed in base) and bsnmpd but that's it.
> 
> if_dname is the target and it exists in ifnet struct along with
> a man page entry in inet(9).
> 
> All that is really missing is a way to print it via ifconfig command.
> 
> 
> Cheers,
> Franco