Quindi quello che sto cercando è un indice di interfaccia (o nome) ma quello reale.
if_nametoindex(3)
e ioctl(2)
non mi sembra di aiutarmi qui. Ora l'unico modo in cui ho scoperto come farlo è tramite /sys
. Vorrei dimostrare sull'esempio di cosa ho bisogno:
# cat /sys/class/net/bond0.1007/ifindex
26
# cat /sys/class/net/bond0.1007/iflink
23 <-- I need either this or a reference to bond0
# cat /sys/class/net/bond0/ifindex
23
C'è un modo per farlo con una chiamata di funzione o l'unico modo è sysfs
?
/proc/net/vlan/config
o /proc/net/vlan/bond0.1007
se si tratta di un'interfaccia vlan.
/sys
. /proc
o /sys
sono più o meno gli stessi in questo senso. Volevo solo verificare se esiste un syscall per ottenere questo tipo di informazioni, si scopre che non lo è.
RTM_GETLINK
messaggio e cerca l' IFLA_LINK
attributo in risposta.
ip link show
fa (probabilmente usando il netlink api)