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/config
hoặc /proc/net/vlan/bond0.1007
nế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
. /proc
hoặ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_GETLINK
thông báo và tìm IFLA_LINK
thuộc tính để trả lời.
ip link show
(có thể sử dụng api netlink)