On Mon, Apr 20, 2020 at 04:20:41PM +0200, Michal Privoznik wrote:
When a device is "move"-d (this basically means it was renamed),
we add the new device onto our list but keep the old there too.
Fortunately, udev sets this DEVPATH_OLD property which points to
the old device path. We can use it to remove the old instance.

To test this try renaming an interface, for instance:

 # ip link set tunl0 name tunl1
 # ip link set tunl1 name tunl0

One problem with udev is that it sends old ifname in INTERFACE
property, which creates a problem for us, the property is where
we get the ifname from and use it then to query all kind of info
about the interface. Well, if it is non-existent then we can't
query anything. This happens if ifname rename is suppressed
(net.ifnames=0 on kernel cmd line for instance). Fortunately, we
can use "kernel" source for udev events which has always the
fresh info.

Signed-off-by: Michal Privoznik <mpriv...@redhat.com>

Reviewed-by: Martin Kletzander <mklet...@redhat.com>

Attachment: signature.asc
Description: PGP signature

Reply via email to