Vì vậy, những gì tôi đang tìm kiếm là một chỉ số giao diện (hoặc tên) nhưng là chỉ số thực.
if_nametoindex(3)và ioctl(2)dường như không giúp tôi ở đây. Bây giờ cách duy nhất tôi tìm thấy làm thế nào để làm điều này là thông qua /sys. Hãy để tôi chứng minh trên ví dụ những gì tôi cần:
# 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ó cách nào để làm điều đó với một cuộc gọi chức năng hay cách duy nhất là sysfs?
Xem thêm
—
Stéphane Chazelas
/proc/net/vlan/confighoặc /proc/net/vlan/bond0.1007nếu đó là một giao diện vlan.
@ StéphaneChazelas Cảm ơn. Tôi quyết định tiếp tục sử dụng
—
UVV
/sys. /prochoặc /sysít nhiều giống nhau theo nghĩa đó. Tôi chỉ muốn kiểm tra nếu có một tòa nhà cao tầng để có được loại thông tin này, hóa ra là không có.
các tòa nhà sẽ là sendmsg / recvmsg bằng cách sử dụng API socket netlink.
—
Stéphane Chazelas
tài liệu rtnetlink: man7.org/linux/man-pages/man7/rtnetlink.7.html - phát hành
—
ecatmur
RTM_GETLINKthông báo và tìm IFLA_LINKthuộc tính để trả lời.
ip link show(có thể sử dụng api netlink)