OSDN Git Service

(split) LDP: Restore and add Copyrights for draft pages
[linuxjm/LDP_man-pages.git] / draft / man7 / netlink.7
index 0fbff1d..01372d0 100644 (file)
@@ -1,6 +1,10 @@
 .\" t
-.\" Don't change the first line, it tells man that tbl is needed.
-.\" This man page is Copyright (c) 1998 by Andi Kleen. Subject to the GPL.
+.\" This man page is Copyright (c) 1998 by Andi Kleen.
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
+.\" Subject to the GPL.
+.\" %%%LICENSE_END
+.\"
 .\" Based on the original comments from Alexey Kuznetsov
 .\" Modified 2005-12-27 by Hasso Tepper <hasso@estpak.ee>
 .\" $Id: netlink.7,v 1.8 2000/06/22 13:23:00 ak Exp $
@@ -9,7 +13,13 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH NETLINK 7 2012\-04\-14 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
+.\" Translated 1999-12-06 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated 2001-04-04 by Yuichi SATO <ysato@h4.dion.ne.jp>, catch up to LDP v1.35
+.\" Updated 2006-06-23 by Yuichi SATO <ysato444@yahoo.co.jp>, catch up to LDP v2.29
+.\"
+.TH NETLINK 7 2013\-03\-15 Linux "Linux Programmer's Manual"
 .SH 名前
 netlink \- カーネルとユーザー空間の通信 (AF_NETLINK)
 .SH 書式
@@ -24,7 +34,7 @@ netlink \- カーネルとユーザー空間の通信 (AF_NETLINK)
 netlink はカーネルモジュールとユーザー空間のプロセス間で 情報をやりとりするために用いられる。 netlink は、ユーザープロセスに対しては
 標準的なソケットベースのインターフェースを、 カーネルモジュールにはカーネルの内部 API を提供する。 カーネル内部のインターフェースについてはこの
 man ページでは記述しない。 また、netlink キャラクタデバイスを用いた obsolete な netlink
-インターフェースもあるが、これもこの文書では解説しない。 これは単に過去互換性のために用意されているものにすぎない
+インターフェースもあるが、これもこの文書では解説しない。 これは過去互換性のためだけに用意されている
 
 netlink はデータグラム指向のサービスである。 \fIsocket_type\fP には \fBSOCK_RAW\fP と \fBSOCK_DGRAM\fP
 の両方とも指定可能である。 しかし netlink プロトコルはデータグラムと raw ソケットの区別をしない。
@@ -73,7 +83,7 @@ Open\-iSCSI.
 ユーザー空間から FIB ルックアップにアクセスする。
 .TP 
 \fBNETLINK_CONNECTOR\fP
-カーネルコネクタ。 より詳しい情報はカーネルソースの \fIDocumentation/connector/*\fP を参照すること。
+カーネルコネクタ。より詳しい情報は Linux カーネルソースの \fIDocumentation/connector/*\fP を参照すること。
 .TP 
 \fBNETLINK_NETFILTER\fP
 .\" FIXME More details on NETLINK_NETFILTER needed.
@@ -109,7 +119,7 @@ struct nlmsghdr {
     __u16 nlmsg_type;   /* メッセージの内容のタイプ */
     __u16 nlmsg_flags;  /* 追加フラグ */
     __u32 nlmsg_seq;    /* シーケンス番号 */
-    __u32 nlmsg_pid;    /* 送信プロセスの PID */
+    __u32 nlmsg_pid;    /* 送信者のポート ID */
 };
 .fi
 .in
@@ -129,13 +139,12 @@ struct nlmsgerr {
 
 ある netlink ファミリーで指定できるメッセージタイプは、 通常もっと多い。これらに関しては適切な man ページを見てほしい。 たとえば
 \fBNETLINK_ROUTE\fP に関しては \fBrtnetlink\fP(7)  に書いてある。
-
-\fInlmsg_flags\fP の標準フラグビット
-.br
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 .TS
 tab(:);
+l s
 lB l.
+\fInlmsg_flags\fP の標準フラグビット
+_
 NLM_F_REQUEST:要求メッセージ全てでセットされなければならない。
 NLM_F_MULTI:T{
 このメッセージはマルチパートメッセージの一部である。
@@ -144,13 +153,16 @@ T}
 NLM_F_ACK:成功した場合の応答を要求する。
 NLM_F_ECHO:この要求をエコーする。
 .TE
-
-GET 要求における追加フラグビット
-.br
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+.ad
+.sp 1
+.\" No right adjustment for text blocks in tables
+.na
 .TS
 tab(:);
+l s
 lB l.
+GET 要求における追加フラグビット
+_
 NLM_F_ROOT:単一のエントリではなくテーブル全体を返す。
 NLM_F_MATCH:T{
 メッセージの内容で渡された基準 (criteria) にマッチする全てのエントリを返す。
@@ -158,24 +170,28 @@ NLM_F_MATCH:T{
 T}
 .\" FIXME NLM_F_ATOMIC is not used any more?
 NLM_F_ATOMIC:テーブルのアトミックなスナップショットを返す。
-NLM_F_DUMP:便利なマクロ。(NLM_F_ROOT|NLM_F_MATCH) と同じ。
+NLM_F_DUMP:T{
+便利なマクロ。(NLM_F_ROOT|NLM_F_MATCH) と同じ。
+T}
 .TE
-
+.ad
+.sp 1
 \fBNLM_F_ATOMIC\fP を使う場合は、 \fBCAP_NET_ADMIN\fP 権限を持つか実効ユーザー ID が 0
 でなければならない点に注意すること。
-
-NEW 要求における追加フラグビット
-.br
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+.na
 .TS
 tab(:);
+l s
 lB l.
+NEW 要求における追加フラグビット
+_
 NLM_F_REPLACE:現存のオブジェクトを置換する。
 NLM_F_EXCL:すでにオブジェクトがあったら置換しない。
 NLM_F_CREATE:まだオブジェクトがなければ作成する。
 NLM_F_APPEND:オブジェクトリストの最後に追加する。
 .TE
-
+.ad
+.sp 1
 \fInlmsg_seq\fP と \fInlmsg_pid\fP はメッセージの追跡に使用される。 \fInlmsg_pid\fP はメッセージの送信元を表す。
 メッセージが netlink ソケットで送信されている場合、 \fInlmsg_pid\fP とプロセスの PID は 1:1
 の関係ではない点に注意すること。 より詳しい情報は、 「\fBアドレスのフォーマット\fP」 のセクションを参照すること。
@@ -203,7 +219,7 @@ netlink は信頼性の高いプロトコルではない。 netlink はメッセ
 struct sockaddr_nl {
     sa_family_t     nl_family;  /* AF_NETLINK */
     unsigned short  nl_pad;     /* 0 である */
-    pid_t           nl_pid;     /* ã\83\97ã\83­ã\82»ã\82¹ ID */
+    pid_t           nl_pid;     /* ã\83\9dã\83¼ã\83\88 ID */
     __u32           nl_groups;  /* マルチキャストグループマスク */
 };
 .fi
@@ -218,6 +234,7 @@ struct sockaddr_nl {
 に設定した場合、カーネルがこの値を割り当てる。 カーネルはプロセスが最初にオープンした netlink ソケットに対してプロセス ID を割り当て、
 それ以降にプロセスが作成した全ての netlink ソケットにも一意な \fInl_pid\fP を割り当てる。
 
+.\" commit d629b836d151d43332492651dd841d32e57ebe3b
 \fInl_groups\fP はビットマスクで、すべてのビットが netlink グループ番号を表す。
 それぞれの netlink ファミリーは 32 のマルチキャストグループのセットを持つ。
 それぞれの netlink ファミリーは 32 のマルチキャストグループの セットを持つ。
@@ -227,8 +244,9 @@ struct sockaddr_nl {
 \fBsendmsg\fP(2) や \fBconnect\fP(2) によって、あるソケットからメッセージを
 マルチキャストしたいときは、 \fInl_groups\fP に送信したいグループのビットマスク
 をセットすればよい。
-実効ユーザー ID が 0 か、 \fBCAP_NET_ADMIN\fP 権限を持つユーザーのみが netlink
-マルチキャストグループに 送信したり、これを listen したりすることができる。
+netlink マルチキャストグループに送信したり、これを listen したりできるのは、
+実効ユーザー ID が 0 のプロセスか、 \fBCAP_NET_ADMIN\fP 権限を持つプロセスのみである。
+Linux 2.6.13 以降では、メッセージを複数のグループへのブロードキャストすることはできない。
 マルチキャストグループ向けメッセージを受信した場合、これ対する応答は
 送り主の PID とマルチキャストグループとに送り返すべきである。
 さらに、Linux のカーネルサブシステムによっては、
@@ -285,10 +303,10 @@ bind(fd, (struct sockaddr *) &sa, sizeof(sa));
 .nf
 struct nlmsghdr *nh;    /* 送信する nlmsghdr とペイロード */
 struct sockaddr_nl sa;
-struct iovec iov = { (void *) nh, nh\->nlmsg_len };
+struct iovec iov = { nh, nh\->nlmsg_len };
 struct msghdr msg;
 
-msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
+msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
 memset(&sa, 0, sizeof(sa));
 sa.nl_family = AF_NETLINK;
 nh\->nlmsg_pid = 0;
@@ -311,7 +329,7 @@ struct sockaddr_nl sa;
 struct msghdr msg;
 struct nlmsghdr *nh;
 
-msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
+msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
 len = recvmsg(fd, &msg, 0);
 
 for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);
@@ -331,13 +349,17 @@ for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);
 .in
 .SH 関連項目
 \fBcmsg\fP(3), \fBnetlink\fP(3), \fBcapabilities\fP(7), \fBrtnetlink\fP(7)
-.PP
-libnetlink に関する情報は ftp://ftp.inr.ac.ru/ip\-routing/iproute2*
 
-libnl に関する情報は http://people.suug.ch/~tgr/libnl/
+.UR ftp://ftp.inr.ac.ru\:/ip\-routing\:/iproute2*
+libnetlink に関する情報
+.UE
+
+.UR http://people.suug.ch\:/~tgr\:/libnl/
+libnl に関する情報
+.UE
 
 RFC 3549 "Linux Netlink as an IP Services Protocol"
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。