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ê.