だから私が探しているのはインターフェイスのインデックス(または名前)ですが、実際のものです。
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を使用して)ん