4

netlink ソケットを介してシステム ネットワーク デバイスに関する情報を取得しています。構造体で定義された3 つのメッセージ タイプRTM_NEWLINK、を解析しています。RTM_DELLINKRTM_GETLINKifinfomsg

struct ifinfomsg {
    unsigned char  ifi_family; /* AF_UNSPEC */
    unsigned short ifi_type;   /* Device type */
    int            ifi_index;  /* Interface index */
    unsigned int   ifi_flags;  /* Device flags  */
    unsigned int   ifi_change; /* change mask */
};

定義はここからですhttp://www.kernel.org/doc/man-pages/online/pages/man7/rtnetlink.7.html

しかし、デバイス タイプ フィールドの説明はありませんifi_type。可能な値を説明する定数はどこにありますか?

ここでも説明はありません http://www.foxprofr.com/rfc/RFC3549-LINUX-NETLINK-AS-AN-IP-SERVICES-PROTOCOL/3549.aspx

これ1でイーサネットで772ループバックであることがわかりましたが、可能なすべての値を知りたいです。答えは非常に明白かもしれませんが、グーグルは私に有益なことを教えたくないのです。

4

1 に答える 1

5

を見てください。/usr/include/net/if_arp.h定数は のように見つかりますARPHRD_*。生活を少し楽にしたい場合は、libnlをまだ使用していない場合はチェックしてください。

于 2013-02-05T09:16:01.107 に答える