A maioria dessas informações é recuperável de /sys
:
1a. /sys/class/net/
: lista de dispositivos de rede, todos os tipos incluídos
1b. /sys/devices/virtual/net/
: lista de dispositivos de rede virtual: inclui lo
, túneis, veth, pontes ... portanto, se estiver no primeiro, mas não nesse, deve ser físico.
-
se um dispositivo for um dispositivo sem fio moderno (driver), ele terá a entrada
/sys/class/net/<device>/phy82011/name
, por exemplo:$ grep -s --with-filename '' /sys/class/net/*/phy80211/name /sys/class/net/wlan0/phy80211/name:phy0 /sys/class/net/wlan1/phy80211/name:phy1 /sys/class/net/wlan2/phy80211/name:phy2
Portanto, executando o script adequado em udev
environment e comparando com os diretórios e arquivos de /sys
, você deve ter todas as informações necessárias para fazê-lo.
Assim como uma nota secundária, se mais tarde, para trabalhar nesses dispositivos, você altera apenas o namespace rede ( por exemplo usando nsenter --net=/var/run/netns/physical
), /sys
ainda estará no namespace mount do host, e não refletirá a chegada desses dispositivos, mas mostrará a falta deles. Usando ip netns exec physical command
é bom, ele altera o namespace de montagem e remonta /sys
para você.