É possível obter o índice da interface de rede não via / sys?

8

Então, o que eu estou procurando é um índice de interface (ou nome), mas o real. if_nametoindex(3) e ioctl(2) não parecem me ajudar aqui. Agora, a única maneira que encontrei para fazer isso é via /sys . Deixe-me demonstrar no exemplo o que eu preciso:

# 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

Existe uma maneira de fazer isso com uma chamada de função ou a única maneira é sysfs ?

    
por UVV 14.08.2014 / 12:35

1 resposta

0

O comando ip link show é provavelmente o que você deseja. Ele exibirá o índice na frente das informações da interface. Exemplo abaixo de um sistema com NICs ligados.

# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9214 qdisc mq master bond0 portid 000f53000000 state UP mode DEFAULT qlen 1000
    link/ether 00:0f:53:00:00:00 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9214 qdisc mq master bond0 portid 000f53000001 state UP mode DEFAULT qlen 1000
    link/ether 00:0f:53:00:00:00 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9214 qdisc noqueue state UP mode DEFAULT qlen 1000
    link/ether 00:0f:53:00:00:00 brd ff:ff:ff:ff:ff:ff
    
por 07.09.2018 / 21:53