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?
Vea también
—
Stéphane Chazelas
/proc/net/vlan/configo /proc/net/vlan/bond0.1007si es una interfaz vlan.
@ StéphaneChazelas Gracias. Decidí seguir usando
—
UVV
/sys. /proco /sysson 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.
las llamadas al sistema serían sendmsg / recvmsg utilizando la API de socket de enlace de red.
—
Stéphane Chazelas
Documentación de rtnetlink: man7.org/linux/man-pages/man7/rtnetlink.7.html : emita un
—
ecatmur
RTM_GETLINKmensaje y busque el IFLA_LINKatributo en la respuesta.
ip link showhace (probablemente usando la API de netlink)