JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... et = socket(AF_NETLINK, socket_type , netlink_family ); 説明 netlink はカーネルモジュールとユーザー空間のプロセス間で 情報をやりとりするために用い ... られる。 netlink は、ユーザープロセスに対しては 標準的なソケットベースのインターフェースを、 カーネルモジュールにはカーネルの内部 API を提供 ... する。 カーネル内部のインターフェースについてはこの man ページでは記述しない。 また、netlink キャラクターデバイスを用いた obsolete な netlink インターフェースもあるが、これもこの文書では解説しない。 これは過去互換性 ... ... t len ); int NLMSG_OK(struct nlmsghdr * nlh , int len ); int NLMSG_PAYLOAD(struct nlmsghdr * nlh , int len ); 説明 < linux/netlink.h > では、 netlink データグラムにアクセスしたり、これを作成するための 標準マクロがいくつか定義されている。 これらは cmsg ( ... 3) で定義されている補助データ (auxiliary data) 用のマクロと、 その精神において似ているものである。 netlink ソケットに対してやりとりされるバッファーには、 必ずこれらのマクロだけを使ってアクセスすべきである。 NLMSG_ALIGN netlink メ ... lmsghdr の nlmsg_len フィールドに代入できる 揃えられた長さ (aligned length) を返す。 NLMSG_SPACE ペイロードの長さが len の netlink メッセージのバイト数を返す。 NLMSG_DATA 与えた nlmsghdr に関連づけられた格納領域へのポインターを返す。 NLMSG_NEXT マルチパ ... ... < sys/socket.h > rtnetlink_socket = socket(AF_NETLINK, int socket_type , NETLINK_ROUTE); int RTA_OK(struct rtattr * rta , int rtabuflen ); void *RTA_ ... nt rtabuflen ); unsigned int RTA_LENGTH(unsigned int length ); unsigned int RTA_SPACE(unsigned int length ); 説明 全ての rtnetlink (7) メッセージは netlink (7) メッセージヘッダーと追加属性からなる。 属性の操作は、必ずここに挙げたマクロだけを使って行うべ ... 準拠 これらのマクロは非標準で、Linux での拡張である。 バグ このマニュアルは完全ではない。 例 デバイスの MTU をセットする rtnetlink メッセージを生成する #include < linux/rtnetlink.h > ... struct { struct nlmsghdr nh; struct ifinfomsg if; char attrbuf[512 ... ... s/socket.h > rtnetlink_socket = socket(AF_NETLINK, int socket_type , NETLINK_ROUTE); 説明 rtnetlink はカーネルのルーティングテーブルを読んだり変更 ... 近傍設定 (neighbor setup)・キューイングルール (queueing dicipline)・ トラフィッククラス・パケットのクラス分類などが、すべて NETLINK_ROUTE ソケットを通して制御できる。 rtnetlink は netlink メッセージをベースにしている。詳細は netlink (7) を見ること。 ルー ... ティング属性 rtnetlink メッセージには、初期ヘッダーの後に付加的な属性を 持つものがある。 struct rtattr { unsigned short rta_len; /* Length of opt ... ... g watcher はパケットをログするためにロードされた logging バックエン ドにパケットを渡す。 これは通常 logging バックエンド nfnetlink_log との組み合わせで使用され、 これが netlink ソケット経由でパケットを指定したマルチキャストグループにマルチキャストする。 ... を受け取ることができる。 --nflog デフォルトの logging オプションでログする。 --nflog-group nlgroup パケットが送出先である netlink グループ (1 から 2^32-1 の間) (nfnetlink_log でのみ有効)。デフォルト値は 1。 --nflog-prefix prefix ログメッセージに含まれる ... 列で、最大 30 文字まで。 ログの中でメッセージを区別するのに便利。 --nflog-range size ユーザスペースにコピーされるバイト数 (nfnetlink_log でのみ有効)。 nfnetlink_log インスタンスでも範囲指定可能で、 このオプションはそれを上書きする。 --nflog-threshold size ... ... ipv6 (7) を、 AF_UNIX は unix (7) を、 AF_APPLETALK は ddp (7) を、 AF_PACKET は packet (7) を、 AF_X25 は x25 (7) を、 AF_NETLINK は netlink (7) を参照。 addr 引数に実際にどのような構造体が渡されるかは、 アドレスファミリーに依存する。 sockaddr 構造体は ... ... コル ipv6 (7) AF_DECnet DECet protocol sockets AF_KEY Key management protocol, originally developed for usage with IPsec AF_NETLINK カーネルユーザーインターフェースデバイス netlink (7) AF_PACKET 低レベルのパケットインターフェース packet (7) AF_RDS Reliab ... ... (7) ソケットを用いれば ARP パケットを受信することができる。 ARP キャッシュをユーザー空間で管理することもできる。 これには netlink (7) を用いる。 ARP テーブルも制御可能で、これには任意の AF_INET ソケットに ioctl (2) を用いる。 ARP モジュールはハードウェ ... anycast のサポートはまだ実装されていない。 デフォルトは 1 秒。 app_solicit (Linux 2.2 以降) ユーザー空間の ARP デーモンに netlink を用いて探索させる最大回数。 これを越えるとマルチキャストによる探索に移行する ( mcast_solicit を見よ)。 base_reachable_tim ... ... 4 アドレスを持つインターフェースのみをサポートしていた。 IPv4 アドレスを持たないインターフェースがサポートされているのは、 netlink をサポートするカーネルにおいてのみである。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 インタ ... ... 4 アドレスを持つインターフェースのみをサポートしていた。 IPv4 アドレスを持たないインターフェースがサポートされているのは、 netlink をサポートするカーネルにおいてのみである。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 インタ ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。