0

名前がアプリオリにわからないInfinibandインターフェースのinetアドレスをプログラムで見つけようとしています。

私はLinuxを使用していますが、ifconfig (8)出力の解析は避けたいと思います。この回答の2番目のコメントを読みました。これgetifaddrs()は、インターフェイスの取得に使用することを提案していますが、Infinibandのものを選択できません。

どんな助けでも大歓迎です。

4

2 に答える 2

2

getifaddrs()この回答AF_PACKETで説明されているように、ハードウェアアドレスの詳細を含む、各インターフェイスのタイプのエントリを 1 つ返します。特に、 はを保持し、その構造体のメンバーはハードウェア アドレス タイプを保持します。したがって、どのインターフェースが IPoIB であるかを判断するには、どのインターフェースがハードウェア タイプを持っているかを確認するだけです。iface->ifa_addrstruct sockaddr_llsll_hatypeARPHRD_INFINIBAND

于 2011-11-25T17:08:30.527 に答える
0

/proc/net/like /proc/net/if_inet6&の下でいくつかのファイルを解析してみることができます/proc/net/dev。-ing することで、何をするのかを知ることができますifconfigstrace

于 2011-11-25T10:36:37.937 に答える