On Mon, Nov 07, 2022 at 09:42:42AM -0800, Andy Ren wrote: > Allow a network interface to be renamed when the interface > is up. > > As described in the netconsole documentation [1], when netconsole is > used as a built-in, it will bring up the specified interface as soon as > possible. As a result, user space will not be able to rename the > interface since the kernel disallows renaming of interfaces that are > administratively up unless the 'IFF_LIVE_RENAME_OK' private flag was set > by the kernel. > > The original solution [2] to this problem was to add a new parameter to > the netconsole configuration parameters that allows renaming of > the interface used by netconsole while it is administratively up. > However, during the discussion that followed, it became apparent that we > have no reason to keep the current restriction and instead we should > allow user space to rename interfaces regardless of their administrative > state: > > 1. The restriction was put in place over 20 years ago when renaming was > only possible via IOCTL and before rtnetlink started notifying user > space about such changes like it does today. > > 2. The 'IFF_LIVE_RENAME_OK' flag was added over 3 years ago in version > 5.2 and no regressions were reported. > > 3. In-kernel listeners to 'NETDEV_CHANGENAME' do not seem to care about > the administrative state of interface. > > Therefore, allow user space to rename running interfaces by removing the > restriction and the associated 'IFF_LIVE_RENAME_OK' flag. Help in > possible triage by emitting a message to the kernel log that an > interface was renamed while UP. > > [1] https://www.kernel.org/doc/Documentation/networking/netconsole.rst > [2] https://lore.kernel.org/netdev/20221102002420.2613004-1-andy.ren@xxxxxxxxxxxxx/ > > Signed-off-by: Andy Ren <andy.ren@xxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxx>