だから私が探しているのはインターフェイスのインデックス(または名前)ですが、実際のものです。
if_nametoindex(3)
そしてioctl(2)
、ここで私を助けていないように見えます。これを行う方法を見つけた唯一の方法は、を使用すること/sys
です。私が必要とするものを例で示しましょう:
# 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
関数呼び出しでそれを行う方法はありますか、それとも唯一の方法sysfs
ですか?
また、それがVLANインターフェースである
—
ステファンChazelas
/proc/net/vlan/config
か/proc/net/vlan/bond0.1007
どうかも参照してください。
@StéphaneChazelasありがとう。使い続けることにしました
—
UVV 2014
/sys
。/proc
または/sys
多かれ少なかれ同じような意味です。この種の情報を取得するためのシステムコールがあるかどうかを確認したいだけですが、ないことがわかりました。
syscallsは、netlinkソケットAPIを使用したsendmsg / recvmsgです。
—
ステファンChazelas
rtnetlinkドキュメント:man7.org/linux/man-pages/man7/rtnetlink.7.html-
—
ecatmur 2015年
RTM_GETLINK
メッセージを発行しIFLA_LINK
、返信で属性を探します。
ip link show
(おそらくネットリンクAPIを使用して)ん