On Thu, Jun 27, 2019 at 11:14:31AM -0600, David Ahern wrote: > > 4) There are two cases that can happen during rename: > > A) The name is shorter than IFNAMSIZ > > -> both IFLA_NAME and IFLA_NAME_EXT would contain the same string: > > original IFLA_NAME = eth0 > > original IFLA_NAME_EXT = eth0 > > renamed IFLA_NAME = enp5s0f1npf0vf1 > > renamed IFLA_NAME_EXT = enp5s0f1npf0vf1 > > B) The name is longer tha IFNAMSIZ > > -> IFLA_NAME would contain the original one, IFLA_NAME_EXT would > > contain the new one: > > original IFLA_NAME = eth0 > > original IFLA_NAME_EXT = eth0 > > renamed IFLA_NAME = eth0 > > renamed IFLA_NAME_EXT = enp131s0f1npf0vf22 > > so kernel side there will be 2 names for the same net_device?
It often feels as a deficiency that unlike block devices where we can keep one name and create multiple symlinks based on different naming schemes, network devices can have only one name. There are aliases but AFAIK they are only used (and can be only used) for SNMP. IMHO this limitation is part of the mess that left us with so-called "predictable names" which are in practice neither persistent nor predictable. So perhaps we could introduce actual aliases (or altnames or whatever we would call them) for network devices that could be used to identify a network device whenever both kernel and userspace tool supports them. Old (and ancient) tools would have to use the one canonical name limited to current IFNAMSIZ, new tools would allow using any alias which could be longer. Michal