Entonces, lo que estoy buscando es un índice de interfaz (o nombre) pero real.
if_nametoindex(3)
y ioctl(2)
no parecen ayudarme aquí. Ahora la única forma en que encontré cómo hacer esto es a través de /sys
. Permítanme demostrar, por ejemplo, lo que necesito:
# 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
¿Hay alguna manera de hacerlo con una llamada a función o la única es sysfs
?
ip link show
hace (probablemente usando la API de netlink)/proc/net/vlan/config
o/proc/net/vlan/bond0.1007
si es una interfaz vlan./sys
./proc
o/sys
son más o menos lo mismo en ese sentido. Solo quería comprobar si hay una llamada al sistema para obtener este tipo de información, resulta que no la hay.RTM_GETLINK
mensaje y busque elIFLA_LINK
atributo en la respuesta.Respuestas:
El comando
ip link show
es probablemente lo que quieres. Mostrará el índice frente a la información de la interfaz. Ejemplo a continuación de un sistema con NIC enlazadas.fuente