O problema é causado por udevd
executando não na raiz namespace de rede (onde os adaptadores de rede são adicionados por padrão).
Além disso, o namespace de rede de udevadm monitor
também afeta sua saída.
Por que uma interface de rede aparece sem que o udev saiba disso?
# rnn ip link show dev usb0
Device "usb0" does not exist.
# stdbuf -oL udevadm monitor -p | grep 'SUBSYSTEM\|ACTION\|e2:c9:f6:5c:37:7c' --line-buffered
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
^C
# rnn ip link show dev usb0
35: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether e2:c9:f6:5c:37:7c brd ff:ff:ff:ff:ff:ff
Espero SUBSYSTEM=net
eventos, pois a nova interface de rede usb0
apareceu. Como faço para o udev lidar com isso?
Enquanto isso, systemd-udevd --debug
mostra mensagens relacionadas à rede:
seq 9553 queued, 'add' 'usb'
seq 9554 queued, 'add' 'usb'
seq 9555 queued, 'add' 'net'
seq 9556 queued, 'add' 'queues'
seq 9557 queued, 'add' 'queues'
seq 9558 queued, 'add' 'usb'
...
PROGRAM '/bin/readlink /etc/udev/rules.d/80-net-setup-link.rules' /lib/udev/rules.d/73-usb-net-by-mac.rules:6
O problema é causado por udevd
executando não na raiz namespace de rede (onde os adaptadores de rede são adicionados por padrão).
Além disso, o namespace de rede de udevadm monitor
também afeta sua saída.
Tags usb udev linux network-interface