Catching up to 3.4-RELEASE.

Reviewed by:	Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG>
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
This commit is contained in:
Jun Kuriyama 2000-01-09 00:36:56 +00:00
parent bc7a4b64a5
commit a86f4358f6
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=6336
32 changed files with 3793 additions and 132 deletions

View file

@ -1,5 +1,5 @@
BINDIR= /usr/share
SUBDIR= man1 man3 man5 man6 man7 man8
SUBDIR= man1 man5 man6 man7 man8
makedb:
LANG=ja_JP.EUC jmakewhatis ${DESTDIR}${BINDIR}/man/ja/

View file

@ -64,6 +64,7 @@ MAN1 = a2p.1\
diff3.1\
dig.1\
dnsquery.1\
dnskeygen.1\
domainname.1\
doscmd.1\
dtmfdecode.1\
@ -192,6 +193,7 @@ MAN1 = a2p.1\
merge.1\
mesg.1\
minigzip.1\
mk_cmds.1\
mkdep.1\
mkdir.1\
mkfifo.1\

View file

@ -0,0 +1,141 @@
.\" Copyright (c) 1996,1999 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
.\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
.\" CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\"
.\" %Id: dnskeygen.1,v 8.5 1999/02/23 05:20:18 vixie Exp %
.\" jpman %Id: dnskeygen.1,v 1.2 1999/12/29 10:29:04 horikawa Stab %
.\"
.Dd December 2, 1998
.Dt DNSKEYGEN 1
.Os BSD 4
.Sh 名称
.Nm dnskeygen
.Nd DNS セキュリティ用に、公開鍵・秘密鍵・共有秘密鍵を生成する
.Sh 書式
.Nm dnskeygen
.Oo Fl
.Op Cm DHR
.Ar size
.Oc
.Op Fl F
.Fl Op Cm zhu
.Op Cm Fl a
.Op Cm Fl c
.Op Cm Fl p Ar num
.Op Cm Fl s Ar num
.Fl n Ar name
.Sh 解説
.Ic dnskeygen
(DNS Key Generator; DNS 鍵生成器)
は、DNS (Domain Name System) の枠組における DNS セキュリティ用に、
鍵の生成と維持を行うツールです。
.Nm dnskeygen
は、ゾーンデータを認証するための公開鍵と秘密鍵を生成可能であり、
リクエストとトランザクションの署名に使われる共有秘密鍵を生成可能です。
.Bl -tag -width Fl
.It Fl D
dnskeygen は、単一の
.Ic DSA/DSS
鍵を生成します。
.Dq size
は、[512, 576, 640, 704, 768, 832, 896, 960, 1024] のいずれか
ひとつである必要があります。
.It Fl H
dnskeygen は、単一の
.Ic HMAC-MD5
鍵を生成します。
.Dq size
は 128 と 504 の間である必要があります。
.It Fl R
dnskeygen は、単一の
.Ic RSA
鍵を生成します。
.Dq size
は 512 と 4096 の間である必要があります。
.It Fl F
.Ic (RSA のみ)
鍵生成に大きな指数を使用します。
.It Fl z Fl h Fl u
これらのフラグは、生成される鍵のタイプを定義します。
それぞれ、ゾーン (DNS 正当性確認) 鍵、ホスト (ホストまたはサービス) 鍵、
ユーザ (例えば電子メール) 鍵です。
各鍵は、対応する事柄に対してのみ使用可能です。
.It Fl a
鍵が認証に使用
.Ic 不可
であることを示します。
.It Fl c
鍵が暗号化に使用
.Ic 不可
であることを示します。
.It Fl p Ar num
鍵のプロトコルフィールドを
.Ar num
に設定します。デフォルトは、
.Dq Fl z
または
.Dq Fl h
が指定された場合は
.Ic 3
(DNSSEC) であり、その他の場合は
.Ic 2
(EMAIL) です。
他に受理される値は
.Ic 1
(TLS),
.Ic 4
(IPSEC),
.Ic 255
(ANY) です。
.It Fl s Ar num
鍵の強さのフィールドを
.Ar num
に設定します。デフォルトは、
.Sy 0
です。
.It Fl n Ar name
鍵の名前を
.Ar name
に設定します。
.El
.Ss 詳細
.Ic dnskeygen
は、各鍵を 2 個のファイル
.Pa K<name>+<alg>+<footprint>.private
.Pa K<name>+<alg>+<footprint>.key
に格納します。
ファイル
.Pa K<name>+<alg>+<footprint>.private
は、可搬書式で秘密鍵を格納します。
ファイル
.Pa K<name>+<alg>+<footprint>.key
は、下記の DNS ゾーンファイル書式で、公開鍵を格納します:
.Pp
.D1 Ar <name> IN KEY <flags> <algorithm> <protocol> <exponent|modulus>
.Pp
.Sh 環境変数
使用される環境変数はありません。
.Sh 関連項目
.Em RFC 2065
のセキュア DNS 部分と
.Em TSIG
Internet Draft
.Sh 作者
Olafur Gudmundsson (ogud@tis.com)
.Sh 謝辞
拠所とする暗号数学は、DNSSAFE や Foundation Toolkit ライブラリに
よるものです。
.Sh バグ
現在既知のものはありません。

View file

@ -104,7 +104,7 @@ Berkeley
最後に行われます。言語テストルーチンは (
.Xr tar 1
アーカイブのような) その他のファイルもチェックし、未知のファイルを
`ASCII text' とすべきか、 `data' とすべきかを決定します。
`ASCII text' とすべきか、`data' とすべきかを決定します。
.Sh オプション
.Bl -tag -width indent
.It Fl v
@ -157,9 +157,9 @@ compress
.Xr strings 1 ,
.Xr magic 5
.Sh 標準適合性
このプログラムは、その中に含まれる曖昧な言語をできるだけ特定できる
ようになっており
System V の FILE(CMD) で定義されるインタフェースを越えているはずです。
FILE(CMD) の System V Interface Definition の曖昧な記述から
判断する限りにおいては
このプログラムはこの仕様を越えていると思われます。
同名の System V のプログラムと、ほとんど動作は同じです。
しかし、このバージョンはより多くのマジックを知っているので、多くの場合に
異なった (より正確な) 出力を出します。
@ -387,7 +387,7 @@ System V
.Pp
プログラムは、推定が「どれぐらいよい」のかを知る方法を
提供すべきです。ファイルの最初の 5 文字が ``From ''
であるときに推測をしても、 ``Newsgroups:'' や "Return-Path:"
であるときに推測をしても、``Newsgroups:'' や "Return-Path:"
といった文字による推測ほどよくはないので、推測結果を
捨てることになります。しかし、もしそういった文字が
現れなければ最初の推定を使わなければなりません。

View file

@ -0,0 +1,100 @@
.\" Copyright (c) 1999 Jeroen Ruigrok van der Werven
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/usr.bin/mk_cmds/mk_cmds.1,v 1.1.2.1 1999/12/12 03:04:11 chris Exp %
.\" jpman %Id: mk_cmds.1,v 1.3 1999/12/24 07:39:55 mitchy Stab %
.Dd November 14, 1999
.Dt MK_CMDS 1
.Os FreeBSD
.Sh 名称
.Nm mk_cmds
.Nd テーブルファイルからコマンドを生成する
.Sh 書式
.Nm mk_cmds
.Ar cmdtbl.ct
.Sh 解説
.Nm
ユーティリティはコマンドテーブルファイルを入力とし、
サブシステムライブラリ libss と組み合わせて使用することを意図した
C ソースファイルを出力します。
このソースファイルは自動的に
.Aq Pa ss/ss.h
をインクルードします。
.Pp
指定するテーブルファイルは次の書式です:
.Pp
command_table name_of_table
.Pp
keyword ss_command_name,
.Qq description_of_command ,
command_binding
.Op ,command_binding ;
.Pp
keyword ss_command_name,
.Qq description_of_command ,
command_name,
(dont_option
.Op ", dont_option"
);
.Pp
end;
.Pp
keyword は次のいずれか 1 つです:
.Pp
.Bl -tag -width "unimplemented" -compact
.It request
リクエスト可能なコマンド
.It unimplemented
実装されていないコマンド
.El
.Pp
dont_option は次のいずれか 1 つです:
.Pp
.Bl -tag -width "dont_summarize" -compact
.It dont_list
コマンドを列挙しません
.It dont_summarize
コマンドをコマンドサマリに列挙しません
.Sh 使用例
request ss_testfunction,
.Qq This is the explanation for testfunction ,
testfunction, tf;
.Pp
request ss_anothertest,
.Qq This is the explanation for anothertest ,
anothertest, (dont_list, dont_summarize);
.Pp
unimplemented ss_lasttest,
.Qq This is the explanation for lasttest ,
lasttest, lt;
.Sh 歴史
.Nm mk_cmds
ユーティリティは MIT Student Information Processing Board が記述し、
.Fx 2.0.5
以前に登場しました。
.Sh 作者
本マニュアルページは
.An Jeroen Ruigrok van der Werven
.Aq asmodai@wxs.nl
が書きました。

View file

@ -85,7 +85,7 @@ $ nice -5 date
.Pp
シェルの優先度が 0 であり、スーパユーザの場合、コマンド
.Sq date
を優先度 -10 にて実行します。
を優先度 -19 にて実行します。
.Sh 関連項目
.Xr csh 1 ,
.Xr idprio 1 ,

View file

@ -22,10 +22,10 @@
.\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\"SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man5/elf.5,v 1.1.2.3 1999/12/07 22:45:18 chris Exp %
.\" %FreeBSD: src/share/man/man5/elf.5,v 1.1.2.2 1999/10/31 04:02:25 green Exp %
.\"
.Dd July 31, 1999
.\" jpman %Id: elf.5,v 1.2 1999/12/02 15:13:16 junkun Chk %
.\" jpman %Id: elf.5,v 1.3 1999/12/29 10:29:14 horikawa Stab %
.Dt ELF 5
.Os FreeBSD 3.3
.Sh 名称
@ -44,27 +44,27 @@ ELF
実行可能ファイルは ELF ヘッダを持ちます。
そして、プログラムヘッダテーブルか、
セクションヘッダテーブル、あるいはその両方が続きます。
ELF ヘッダは、常にファイルのオフセット・ゼロにあります。
ファイルでのプログラムヘッダテーブルと
セクションヘッダテーブルのオフセットは、
ELF ヘッダは、常にファイルのオフセット 0 にあります。
プログラムヘッダテーブルと
セクションヘッダテーブルのファイル中のオフセットは、
ELF ヘッダで定義されています。
2 つのテーブルは、ファイルの特徴の残りの部分を記述します。
.Pp
ネイティブアーキテクチャの ELF バイナリーファイルを処理する応用プログラムは、
ネイティブアーキテクチャの ELF バイナリファイルを処理するアプリケーションは、
そのソースコードに
.Pa sys/elf.h
をインクルードするだけですみます。
これらの応用プログラムは、総称名
これらのアプリケーションは、総称名
.Dq Elf_xxx
による全タイプと構造体への参照を含む必要があり、
.Dq ELF_xxx
によるマクロへの参照を含む必要があるでしょう。
このようにして記述された応用プログラムは、
このようにして記述されたアプリケーションは、
どのようなアーキテクチャであっても、
ホストが 32 ビットなのか、あるいは 64 ビットなのか
ということを気にしないで、コンパイルすることができます。
ということを気にしないで、コンパイル可能です。
.Pp
未知のアーキテクチャの ELF ファイルを処理する必要がある応用プログラムは、
未知のアーキテクチャの ELF ファイルを処理する必要があるアプリケーションは、
.Pa sys/elf.h
ではなく、
.Pa sys/elf32.h
@ -90,7 +90,7 @@ ELF
.Pp
これらのヘッダファイルでは、
上で言及したヘッダを C 構造体として記述し、
これに加えてダイナミックセクション、
これに加えて動的セクションと
再配置セクションとシンボルテーブルのための構造体を含んでいます。
.Pp
以下のタイプが、32 ビットアーキテクチャのために使われています:
@ -119,7 +119,7 @@ ELF
.Dq 自然な
サイズと境界調整のガイドラインに従っています。
必要ならば、データ構造は、4 バイトオブジェクトが
4 バイトのアライメントとなることを保証するために、
4 バイト境界となることを保証するために、
構造体のサイズを強制的に 4 の倍数にするとかいった手段で、
明示的なパディングを含めます。
.Pp
@ -168,12 +168,11 @@ typedef struct {
.It Dv e_ident
このバイト配列はファイルをどのように解釈すべきかを指定します。
これは、プロセッサまたはファイルの残りの内容から独立しています。
この配列では、すべてはマクロによって先頭に
この配列中の全要素は、
.Sy EI_
のついた名前を持ち、
また先頭に
で開始するマクロにより名付けられ、また先頭に
.Sy ELF
がついた値を持つでしょう
がついた値を持ち得ます
以下のマクロが定義されています:
.Pp
.Bl -tag -width "EI_VERSION" -compact
@ -194,7 +193,7 @@ typedef struct {
.Sy ELFMAG3
であることが必要です。
.It Dv EI_CLASS
第 5 のバイトは、当該のバイナリファイルによってアーキテクチャを識別します:
第 5 のバイトは、当該のバイナリファイルアーキテクチャを識別します:
.Pp
.Bl -tag -width "ELFCLASSNONE" -compact
.It Dv ELFCLASSNONE
@ -217,7 +216,7 @@ typedef struct {
.It Dv ELFDATA2LSB
2 の補数、リトルエンディアン。
.It Dv ELFDATA2MSB
+2 の補数、ビッグエンディアン。
2 の補数、ビッグエンディアン。
.El
.It Dv EI_VERSION
ELF 仕様書のバージョンナンバ:
@ -241,7 +240,7 @@ e_ident
.El
.Pp
.It Dv e_type
構造体のこのメンバは、オブジェクトファイルタイプを同定します:
構造体のこのメンバは、オブジェクトファイルタイプを識別します:
.Pp
.Bl -tag -width "ET_NONE" -compact
.It Dv ET_NONE
@ -263,31 +262,31 @@ e_ident
.It Dv EM_NONE
未知のマシン。
.It Dv EM_M32
AT&T WE 32100.
AT&T WE 32100
.It Dv EM_SPARC
Sun Microsystems SPARC.
.It Dv EM_386
Intel 80386.
.It Dv EM_68K
Motorola 68000.
Motorola 68000
.It Dv EM_88K
Motorola 88000.
Motorola 88000
.It Dv EM_486
Intel 80486.
Intel 80486
.It Dv EM_860
Intel 80860.
Intel 80860
.It Dv EM_MIPS
MIPS RS3000 (ビッグエンディアンのみ)
.It Dv EM_MIPS_RS4_BE
MIPS RS4000 (ビッグエンディアンのみ)
.It Dv EM_SPARC64
SPARC v9 64-bit 非公式
SPARC v9 64-bit 非公式
.It Dv EM_PARISC
HPPA.
HPPA
.It Dv EM_PPC
PowerPC.
PowerPC
.It Dv EM_ALPHA
Compaq [DEC] Alpha.
Compaq [DEC] Alpha
.El
.Pp
.It Dv e_version
@ -302,24 +301,23 @@ Compaq [DEC] Alpha.
.It Dv e_entry
このメンバは、システムが最初に制御を移す、
つまりプロセスを開始する仮想アドレスを示します。
ファイルがエントリーポイントを与えられていない時には、
このメンバは 0 になります。
ファイルにエントリポイントがないならば、このメンバは 0 になります。
.It Dv e_phoff
このメンバは、
プログラムヘッダテーブルのバイト単位のファイルオフセットを持ちます。
.It Dv e_shoff
このメンバは、
セクションヘッダテーブルのバイト単位のファイルオフセットを持ちます。
ファイルにセクションヘッダテーブルがないならば、このメンバは 0 を持ちます。
ファイルにセクションヘッダテーブルがないならば、このメンバは 0 になります。
.It Dv e_flags
このメンバは、ファイルに関連する、プロセッサに固有なフラグを持ちます。
フラグ名は、EF_`machine_flag' という形式になります。
現在、フラグは定義されていません。
現在、定義されたフラグはありません。
.It Dv e_ehsize
このメンバは、ELF ヘッダのバイト単位の大きさを持ちます。
.It Dv e_phentsize
このメンバは、
ファイルのプログラムヘッダテーブルにあるエントリ 1 個分のサイズを持ちます;
ファイルのプログラムヘッダテーブルにあるエントリ 1 個分のサイズを持ちます
全てのエントリは、同じ大きさです。
.It Dv e_phnum
このメンバは、プログラムヘッダテーブル中のエントリの個数を持ちます。
@ -328,9 +326,9 @@ Compaq [DEC] Alpha.
.Sy e_phnum
の積は、テーブルのバイト単位の大きさを与えます。
ファイルにはプログラムヘッダがない場合
ファイルにプログラムヘッダがないならば
.Sy e_phnum
値は 0 になります。
値は 0 になります。
.It Dv e_shentsize
このメンバは、セクションヘッダのバイト単位の大きさを持ちます。
セクションヘッダは、
@ -343,7 +341,7 @@ Compaq [DEC] Alpha.
.Sy e_shnum
の積は、セクションヘッダテーブルのバイト単位の大きさを与えます。
ファイルにセクションヘッダテーブルがないならば、
ファイルにセクションヘッダテーブルがないならば、
.Sy e_shnum
の値は 0 になります。
.It Dv e_shstrndx
@ -351,7 +349,7 @@ Compaq [DEC] Alpha.
セクションヘッダテーブルの、
セクション名文字列テーブルに結びつけられたエントリへの
インデックスを持ちます。
ファイルにセクション名文字列テーブルがないならば、
ファイルにセクション名文字列テーブルがないならば、
このメンバは値
.Sy SHN_UNDEF
を持ちます。
@ -362,15 +360,19 @@ Compaq [DEC] Alpha.
意味がないセクション参照を示します。
例えば、セクション番号
.Sy SHN_UNDEF
に対応したシンボル
.Dq defined
は、未定義シンボルです。
からの相対で
.Dq 定義
されるシンボルは、未定義シンボルです。
.\" For example, symbols defined relative to section number SHN_ABS
.\" have absolute values and are not affected by relocation.
.\" と同じ形式の文章。
.It Dv SHN_LORESERVE
この値は、予約のインデックスの範囲の下限を指定します。
.It Dv SHN_HIPROC
.It Dv SHN_LOPROC
この値から
.Sy SHN_HIPROC
以下は、プロセッサ固有のセマンティクスのために予約されています。
.It Dv SHN_HIPROC
この値から
.Sy SHN_LOPROC
以上は、プロセッサ固有のセマンティクスのために予約されています。
@ -378,11 +380,11 @@ Compaq [DEC] Alpha.
この値は、対応する参照のために絶対的な値を指定します。
例えば、
.Sy SHN_ABS
に関連するシンボルは。絶対的な値を持ち、再配置による影響を受けません。
からの相対で定義されるシンボルは、絶対的な値を持ち、
再配置による影響を受けません。
.It Dv SHN_COMMON
このセクションに対応して定義されたシンボルは、
Fortran の COMMON や、領域が確保されていない C の 外部変数のような、
共用シンボルです。
このセクションからの相対で定義されるシンボルは、共通シンボルであり、
Fortran の COMMON や領域が確保されていない C の 外部変数が該当します。
.It Dv SHN_HIRESERVE
この値は、予約インデックス範囲の上限を指定します。
この範囲は、
@ -397,9 +399,9 @@ Fortran
.El
.Pp
実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、
構造体の配列で、それぞれがセグメントや、
その他プログラムの実行のためにシステムが用意する必要がある情報を
記述します。
構造体の配列です。
各構造体は、
プログラム実行にシステムが必要とする、セグメント等の情報を記述します。
オブジェクトファイルの
.Em セグメント
は、1 つ以上の
@ -444,19 +446,19 @@ typedef struct {
32 ビットと 64 ビットのプログラムヘッダの間の主な差は、
構造体中の
.Sy p_flags
メンバだけです。
メンバの位置だけです。
.Pp
.Bl -tag -width "p_offset" -compact -offset indent
.It Dv p_type
構造体 Phdr のこのメンバは、この配列要素が記述しているセグメントを示し、
構造体 Phdr のこのメンバは、この配列要素が記述しているセグメントの種類を示し、
どのように配列要素を解釈すべきかを示します。
.Bl -tag -width "PT_DYNAMIC" -compact
.Pp
.It Dv PT_NULL
配列要素は使っていません。また、他のメンバの値は未定義です。
この配列要素は使っていません。また、他のメンバの値は未定義です。
これにより、プログラムヘッダ中に無視されるエントリを持てます。
.It Dv PT_LOAD
配列要素はロード可能なセグメントを指定します。
この配列要素はロード可能なセグメントを指定します。
これは
.Sy p_filesz
@ -469,33 +471,32 @@ typedef struct {
.Sy p_filesz
) より大きいならば、
.Dq 余分な
バイトは値 0 を持って、
セグメントの初期化された領域に続くために定義されます。
ファイルサイズは、メモリサイズより大きくないかもしれません。
バイトは値 0 を持って、
セグメントの初期化された領域に続くものと定義されます。
ファイルサイズは、メモリサイズを越えてはなりません。
プログラムヘッダテーブルの中のロード可能な
セグメントエントリは昇順で現れます。
セグメントエントリは昇順で現れます。
そして、
.Sy p_vaddr
メンバでソートされます。
.It Dv PT_DYNAMIC
配列要素は、動的リンク情報を指定します。
この配列要素は、動的リンク情報を指定します。
.It Dv PT_INTERP
配列要素は、
この配列要素は、
インタープリタとして起動するナル文字で終わるパス名の場所と大きさを指定します。
このセグメントタイプは、実行可能ファイルのみで意味があります
(本セグメントタイプは、共有オブジェクト中にあるかもしれません) 。
本セグメントは、ファイル中で複数個存在してはなりまねん。
それが存在するならば、
それはどんなロード可能なセグメントエントリにでも
先行する必要があります。
(本セグメントタイプは、共有オブジェクト中にあるかもしれません)。
本セグメントは、ファイル中で複数個存在してはなりません。
存在する場合、
全ロード可能セグメントエントリに先行する必要があります。
.It Dv PT_NOTE
配列要素は、補助情報のために場所と大きさを指定します。
この配列要素は、補助情報のために場所と大きさを指定します。
.It Dv PT_SHLIB
このセグメントタイプは、
予約されており、明記されていないセマンティクスを持ちます。
このタイプの配列要素を含むプログラムは、ABI に従いません。
.It Dv PT_PHDR
配列要素が存在する場合、
この配列要素が存在する場合、
ファイル中とメモリイメージ中における、
プログラムヘッダテーブル自身の位置と大きさを指定します。
本セグメントタイプは、ファイル中で複数個存在してはなりません。
@ -505,7 +506,6 @@ typedef struct {
存在する場合、
全ロード可能セグメントエントリに先行する必要があります。
.It Dv PT_LOPROC
.Sy PT_HIPROC
この値から
.Sy PT_HIPROC
以下は、プロセッサ固有のセマンティクスのために予約されています。
@ -516,7 +516,7 @@ typedef struct {
.El
.Pp
.It Dv p_offset
このメンバは、セグメントの最初のバイトが存在するバイトへの、
このメンバは、セグメントの最初のバイトへの、
ファイル先頭からのオフセットを持ちます。
.It Dv p_vaddr
このメンバは、
@ -536,11 +536,11 @@ BSD
.Pp
.Bl -tag -width "PF_X" -compact
.It Dv PF_X
実行形式セグメント。
実行可能セグメント。
.It Dv PF_W
書きみ可能なセグメント。
書きみ可能なセグメント。
.It Dv PF_R
読み込み可能なセグメント。
読み取り可能なセグメント。
.El
.Pp
テキストセグメントは、一般にフラグ
@ -555,19 +555,19 @@ BSD
.Sy PF_R
を持ちます。
.It Dv p_align
メンバは、メモリ中およびファイル中でセグメントが整列すべき値を持ちます。
このメンバは、メモリ中およびファイル中でセグメントが整列すべき値を持ちます。
ロード可能なプロセスは、
.Sy p_vaddr
.Sy p_offset
をページサイズで割った余りに適合する値を持つ必要があります。
0 と 1 の値は、アライメントが必要でないことを意味します。
一方
0 と 1 の値は、境界調整が不要であることを意味します。
そうでない場合
.Sy p_align
は、正 (2 の整数乗) である必要があります。そして、
.Sy p_vaddr
.Sy p_offset ,
.Sy p_offset
.Sy p_align
で割った余りと等しい必要があります。
@ -602,15 +602,15 @@ ELF
.It Dv SHN_HIPROC
この値から
.Sy SHN_LOPROC
は、プロセッサ固有のセマンティクスのために予約されています。
は、プロセッサ固有のセマンティクスのために予約されています。
.It Dv SHN_ABS
この値は、対応する参照が絶対値であることを指定します。
例えば、セクション番号
.Sy SHN_ABS
に関連して定義されているシンボルは絶対的な数値を持ち、
からの相対で定義されてるシンボルは、絶対的な数値を持ち、
再配置によって影響を受けません。
.It Dv SHN_COMMON
このセクションからの相対で定されるシンボルは、共通シンボルであり、
このセクションからの相対で定されるシンボルは、共通シンボルであり、
Fortran の COMMON や領域が確保されていない C の外部変数が該当します。
.It Dv SHN_HIRESERVE
この値は、予約インデックス範囲の上限を指定します。
@ -656,30 +656,30 @@ typedef struct {
.Bl -tag -width "sh_addralign" -compact
.It Dv sh_name
このメンバは、セクションの名前を指定します。
その値はセクションヘッダ文字列テーブルセクションへの
インデックスです。そして、ナル文字で終わる文字列の場所を与えます。
その値はセクションヘッダ文字列テーブルセクションへの
インデックスであり、ナル文字で終わる文字列の場所を与えます。
.It Dv sh_type
このメンバは、セクションの内容とセマンティクスを分類します。
.Pp
.Bl -tag -width "SHT_PROGBITS" -compact
.It Dv SHT_NULL
この値は、セクションヘッダが不活性であることを示します。
それは、関連づけられたセクションがないということです
関連づけられたセクションを持ちません
セクションヘッダの他のメンバは、未定義値を持ちます。
.It Dv SHT_PROGBITS
セクションはプログラムによって定義される情報を持ちます。
このセクションはプログラムによって定義される情報を持ちます。
フォーマットと意味は、プログラムだけによってのみ決定されます。
.It Dv SHT_SYMTAB
このセクションは、シンボルテーブルを持ちます。
一般的に、
.Sy SHT_SYMTAB
はリンクエディットのためのシンボルを提供します。
これはまた、動的リンクに使われるかもしれません
完全なシンボルテーブルとして
それは動的リンクのために不必要な多くのシンボルを含む場合があります。
オブジェクトファイルは、また、
これはまた、動的リンクにも使用可能です
これは完全なシンボルテーブルであるため
動的リンクのために不必要な多くのシンボルを含む場合があります。
オブジェクトファイルは、
.Sy SHN_DYNSYM
セクション含むことができます。
セクション含むことができます。
.It Dv SHT_STRTAB
このセクションは、文字列テーブルを持ちます。
オブジェクトファイルは、複数の文字列テーブルセクションを持ち得ます。
@ -700,7 +700,7 @@ typedef struct {
.It Dv SHT_NOTE
このセクションは、いくばくかの方法でファイルに印をする情報を持ちます。
.It Dv SHT_NOBITS
このタイプのセクションは、ファイル中の空間を占ませんが、
このタイプのセクションは、ファイル中の空間を占有しませんが、
.Sy SHN_PROGBITS
に似ています。
このセクションはバイトを含みませんが、
@ -716,9 +716,9 @@ typedef struct {
このセクションは、予約されており、明記されていないセマンティクスを持ちます。
.It Dv SHT_DYNSYM
このセクションは、動的リンクシンボルの最小のセットを持ちます。
オブジェクトファイルは、また、
オブジェクトファイルは、
.Sy SHN_SYMTAB
セクション含むことができます。
セクション含むことができます。
.It Dv SHT_LOPROC
この値から
.Sy SHT_HIPROC
@ -728,16 +728,17 @@ typedef struct {
.Sy SHT_LOPROC
以上は、プロセッサ固有のセマンティクスのために予約されています。
.It Dv SHT_LOUSER
この値は、応用プログラムプログラムのために予約されている
この値は、アプリケーションプログラムのために予約されている
インデックス範囲の下限を指定します。
.It Dv SHT_HIUSER
この値は、応用プログラムプログラムのために予約されている
この値は、アプリケーションプログラムのために予約されている
インデックス範囲の上限を指定します。
現在または将来のシステム定義セクションタイプと衝突することなく、
.Sy SHT_LOUSER
.Sy SHT_HIUSER
の間のセクションタイプが、応用プログラムによって使われるかもしれません。
の間のセクションタイプは、
アプリケーションによって使用可能であり、
現在または将来のシステム定義セクションタイプと衝突しません。
.El
.Pp
.It Dv sh_flags
@ -769,28 +770,28 @@ typedef struct {
.Pp
.It Dv sh_addr
セクションがプロセスのメモリイメージに現れる場合、
このメンバはセクションの最初のバイトが存在するアドレスを持ちます。
このメンバはセクションの最初のバイトが存在するアドレスを持ちます。
そうでない場合、このメンバは 0 を含みます。
.It Dv sh_offset
このメンバ値は、
このセクションの、ファイル先頭からのバイトオフセットを与えます。
1 つのセクションタイプ、すなわち
.Sy SHT_NOBITS
は、ファイルでスペースを占有しません。
そして、その
は、ファイル中の空間を占有せず、
その
.Sy sh_offset
メンバは、ファイルの概念上の位置を指定します。
メンバは、ファイルの概念上の位置を指定します。
.It Dv sh_size
このメンバは、セクションのバイトでの大きさを持ちます。
セクションタイプが
.Sy SHT_NOBITS
でない限り、セクションはファイル
でない限り、セクションはファイル中の
.Sy sh_size
バイトを占有します。
タイプ
.Sy SHT_NOBITS
のセクションは 0 以外の大きさを持つかもしれません。
しかし、それはファイルでスペースを占有しません。
のセクションは 0 以外の大きさを持ち得ますが、
ファイル中の空間を占有しません。
.It Dv sh_link
このメンバは、
セクションヘッダテーブルインデックスリンクを持ちます。
@ -800,17 +801,17 @@ typedef struct {
追加情報を持ちます。
この解釈は、セクションタイプ依存です。
.It Dv sh_addralign
若干のセクションは、アドレスアライメント制約があります。
若干のセクションには、アドレス境界の制約があります。
セクションがダブルワードを持つならば、
システムはダブルワードアライメント
システムはダブルワード境界
セクション全体に保証する必要があります。
.Sy sh_addr
の値は 0 であることが必要であり、モジュロ
の値は
.Sy sh_addralign
の値となります。
で割った値が 0 となることが必要です。
'\" ここよくわからん。
0 と 2 の正の羃乗だけが許されます。0 または 1 の値は、
セクションにはアライメント制約がないことを意味します。
0 と正の 2 の羃乗だけが許されます。0 または 1 の値は、
セクションには境界の制約がないことを意味します。
.It Dv sh_entsize
若干のセクションは、
固定長エントリのテーブルを持ちます。
@ -883,8 +884,8 @@ typedef struct {
です。
上の属性を見てください。
.It .dynstr
このセクションは動的リンクのために必要とされる文字列を持ちます。
そして一般には、名前を表する文字列であり、
このセクションは動的リンクのために必要とされる文字列を持ちます。
そして一般には、名前を表する文字列であり、
シンボルテーブルエントリと結び付けられています。
このセクションは、タイプ
.Sy SHT_STRTAB
@ -901,10 +902,9 @@ typedef struct {
.Sy SHF_ALLOC
です。
.It .fini
このセクションは、
プロセス終了コードのための実行可能命令を持ちます。
プログラムが正常終了するとき、
システムはこのセクションでコードを実行するために手配します。
このセクションは、プロセス終了コードの実行可能命令を持ちます。
プログラムの正常終了時に、
システムはこのセクションのコードを実行します。
このセクションは、タイプ
.Sy SHT_PROGBITS
です。
@ -957,7 +957,7 @@ typedef struct {
このセクションは、タイプ
.Sy SHT_PROGBITS
です。
属性タイプは使われていません。
属性タイプは使われません。
.It .note
このセクションは、下で記述される
.Dq Note Section
@ -965,7 +965,7 @@ typedef struct {
このセクションは、タイプ
.Sy SHT_NOTE
です。
属性タイプは使われていません。
属性タイプは使われません。
.It .plt
このセクションは、プロシージャリンケージテーブルを持ちます。
このセクションは、タイプ
@ -1008,7 +1008,7 @@ typedef struct {
です。
.It .rodata
このセクションは読み取り専用データを持ち、
典型的にはプロセスの書き込み不可セグメントになります。
典型的にはプロセスイメージの書き込み不可セグメントになります。
このセクションは、タイプ
.Sy SHT_PROGBITS
です。
@ -1017,7 +1017,7 @@ typedef struct {
です。
.It .rodata1
このセクションは読み取り専用データを持ち、
典型的にはプロセスの書き込み不可セグメントになります。
典型的にはプロセスイメージの書き込み不可セグメントになります。
このセクションは、タイプ
.Sy SHT_PROGBITS
です。
@ -1069,12 +1069,12 @@ typedef struct {
文字列テーブルセクションは、ナル文字で終わる文字シーケンス群を持ちます。
これらは、一般に文字列と呼ばれます。
オブジェクトファイルは、
シンボルとセクション名を表するためにこれらの文字列を使います。
シンボルとセクション名を表するためにこれらの文字列を使います。
文字列テーブルセクションのインデックスとして、文字列を参照します。
最初のバイト (インデックス 0) は、
ナル文字を持つために定義されます。
じように、文字列テーブルの最終バイトはナル文字を持つために
そして、ヌル終端文字を全ての文字列に確保します。
単一のナル文字を持つと定義されます。
様に、文字列テーブルの最終バイトはナル文字であると定義されので、
文字列全体がナル終端されていることを保証します。
.Pp
オブジェクトファイルのシンボルテーブルは、
プログラムのシンボル定義と参照の位置決定に必要な情報を保持します。
@ -1196,7 +1196,8 @@ typedef struct {
.It Dv st_shndx
あらゆるシンボルテーブルエントリは、
なんらかの動作に関して
.Dq 定義されています
.Dq 定義されています
このメンバは、関連するセクションヘッダテーブルインデックスを持ちます。
.El
.Pp
@ -1293,7 +1294,7 @@ ELF
ELF 自身は、最初に
.At V
で登場しました。
ELF フォーマットは、採用された規格です。
ELF フォーマットは、標準として採用されています。
.Sh 作者
このマニュアルページは、BSDi の BSD/OS
.Xr elf 5

View file

@ -145,6 +145,26 @@ MAN8 = IPXrouted.8\
newkey.8\
newsyslog.8\
nextboot.8\
ng_UI.8\
ng_async.8\
ng_bpf.8\
ng_cisco.8\
ng_echo.8\
ng_frame_relay.8\
ng_hole.8\
ng_iface.8\
ng_ksocket.8\
ng_lmi.8\
ng_ppp.8\
ng_pppoe.8\
ng_pptpgre.8\
ng_rfc1490.8\
ng_socket.8\
ng_tee.8\
ng_tty.8\
ng_vjc.8\
ngctl.8\
nghook.8\
nfsd.8\
nfsiod.8\
nologin.8\
@ -166,6 +186,7 @@ MAN8 = IPXrouted.8\
ppp.8\
pppctl.8\
pppd.8\
pppoed.8\
pppstats.8\
praliases.8\
procctl.8\

View file

@ -114,7 +114,7 @@
.Xr cdcontrol 1
.Cm info
コマンド例が示す通りです。
コマンド例が示す通りです。
.It Fl v
どのセクタから開始するかについての決定について冗長に報告します。
.El

View file

@ -166,7 +166,7 @@ DOS
コード 0x3F ('?') を使用します。
.It
DOS 名に対して、
DOS からローカル文字セットへ変換する表 (上半分) であり、
ローカル文字セットから DOS へ変換する表 (上半分) であり、
128 文字コードです。
特殊な意味を持つコードがあります:
.Bl -hang

View file

@ -0,0 +1,89 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/UI/ng_UI.8,v 1.2.2.1 1999/11/17 07:23:37 julian Exp %
.\" $Whistle: ng_UI.8,v 1.4 1999/01/25 02:37:56 archie Exp $
.\"
.Dd January 19, 1999
.\" jpman %Id: ng_UI.8,v 1.3 1999/12/19 08:53:56 horikawa Stab %
.Dt NG_UI 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_UI
.Nd UI netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_UI.h>
.Sh 解説
.Nm UI
ノードタイプは 2 つのフックを持ちます。
.Dv upstream
.Dv downstream
です。
downstream で受信されるパケットは、
先頭のバイトに 0x03 (番号付け無し (unnumbered) の情報を示しています)
を持つ必要があります。
もし持たない場合には、パケットは破棄されます。
その後、このバイトは取り除かれます。そして、残ったパケットを
.Dv upstream
から外へ送り出します。
.Pp
逆に、
.Dv upstream
で受信されるパケットには、
.Dv downstream
フックから転送される前にバイト 0x03 が付加されます。
.Sh フック
本ノードタイプは次に挙げるフックをサポートしています:
.Pp
.Bl -tag -width foobar
.It Dv downstream
下流の接続点。ノードのこちら側のパケットは、
先頭のバイトに 0x03 を持ちます。
.It Dv upstream
上流の接続点。ノードのこちら側のパケットは、
先頭のバイト 0x03 が取り除かれます。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージのみをサポートします。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、両方のフックが切り離されたときに、
シャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ngctl 8
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,175 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/async/ng_async.8,v 1.4.2.2 1999/12/01 19:29:27 julian Exp %
.\" $Whistle: ng_async.8,v 1.6 1999/01/25 23:46:25 archie Exp $
.\"
.\" jpman %Id: ng_async.8,v 1.3 1999/12/17 05:27:16 mitchy Stab %
.Dd January 19, 1999
.Dt NG_ASYNC 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_async
.Nd 非同期フレーム化 netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_async.h>
.Sh 解説
.Nm async
ードタイプは、RFC 1662 で PPP プロトコル用に定義されるように、
同期フレームと非同期フレームの間の変換を行います。
非同期フレーム化は、フラグバイトとオクテットの詰め物を使用し、
オクテット指向の非同期シリアル回線上で、
フレーム指向の接続をシミュレートします。
.Pp
本ノードは、
.Dv async
フック上で、非同期データを送受信します。
到着データの mbuf 境界は無視されます。
完全なパケットが受信されると、デコードが行われ、
フレーム化の全バイトが除去され、
単一フレームとして
.Dv sync
フックに送り出されます。
.Pp
同期フレームは
.Dv sync
フック上で送受信されます。
本フック上で受信されたパケットは非同期フレームとしてエンコードされ、
.Dv async
上に送り出されます。
受信パケットは、
アドレスと制御のフィールドから開始しているか、
アドレスと制御のフィールドが圧縮されている場合には
PPP プロトコルフィールドから開始しているはずであり、
チェックサムを持ちません。
最初の 4 バイトが
.Dv "0xff 0x03 0xc0 0x21"
(LCP プロトコルフレーム) の場合、
このフレームに対しては
完全な制御文字エスケープ化を行います
(PPP では、LCP パケットは常にアドレスと制御のフィールドを圧縮せず、
全ての制御文字がエスケープされ送出されます)。
.Pp
本ノードは、
.Dv async
上で送出されるパケットに対する ``フラグ共有'' をサポートします。
この最適化は、あるフレームの末尾のフラグバイトを
次のフレームの開始フラグバイトと共有するというものです。
フレーム間のフラグ共有は、送出アイドル時間を 1 秒以上過ぎると行われません。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -width foobar
.It Dv async
非同期接続。
典型的には、このフックは
.Xr ng_tty 8
ノードへ接続されます。
.Xr ng_tty 8
は、tty デバイス上のシリアルデータ転送を扱います。
.It Dv sync
同期接続。
このフックは同期フレームを送受信します。
PPP では、このフレームはアドレスと制御、プロトコルフィールドを含むはずですが、
チェックサムフィールドは含まないはずです。
典型的には、このフックは
.Xr ng_ppp 8
タイプノードの独立したリンクフックへ接続されます。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージをサポートし、
更に次のものもサポートします:
.Bl -tag -width foo
.It Dv NGM_ASYNC_CMD_GET_STATS
本コマンドは
.Dv "struct ng_async_stat"
を返します。
これには、
パケットとオクテットとエラーの数に関するノードの統計情報が含まれます。
.It Dv NGM_ASYNC_CMD_CLR_STATS
ノードの統計情報をクリアします。
.It Dv NGM_ASYNC_CMD_SET_CONFIG
ノード構成を設定します。これは次の
.Dv "struct ng_async_cfg"
で記述します:
.Bd -literal -offset 4n
struct ng_async_cfg {
u_char enabled; /* エンコーディングのオン/オフ */
u_int16_t amru; /* 最大受信非同期フレーム長 */
u_int16_t smru; /* 最大受信同期フレーム長 */
u_int32_t accm; /* ACCM エンコーディング */
};
.Ed
.Pp
.Dv enabled
フィールドは、
すべてのエンコード/デコードの機能の有効化または無効化を行います
(デフォルトは無効)。
無効時には、ノードは単純 ``通過'' モードで動作します。
.Dv amru
および
.Dv smru
のフィールドは、それぞれ同期および非同期の MRU (最大受信単位) 値です。
どちらもデフォルト値は 1600 です。
非同期 MRU は、
非同期のデコード処理後の入力フレーム長に適用されることに注意してください。
.Dv accm
フィールド
は非同期文字制御マップ (asynchronous character control map) であり、
文字 0x00 から 0x1f の文字のエスケープを制御します
(デフォルト値は 0xffffffff)。
.It Dv NGM_ASYNC_CMD_GET_CONFIG
本コマンドは、現在の設定の構造体を返します。
.El
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_ppp 8 ,
.Xr ng_tty 8 ,
.Xr ngctl 8
.Rs
.%A W. Simpson
.%T "PPP in HDLC-link Framing"
.%O RFC 1662
.Re
.Rs
.%A W. Simpson
.%T "The Point-to-Point Protocol (PPP)"
.%O RFC 1661
.Re
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,158 @@
.\" Copyright (c) 1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/bpf/ng_bpf.8,v 1.1.2.1 1999/12/06 22:06:55 archie Exp %
.\" $Whistle: ng_bpf.8,v 1.2 1999/12/03 01:57:12 archie Exp $
.\"
.Dd December 2, 1999
.\" jpman %Id: ng_bpf.8,v 1.3 2000/01/03 03:17:09 horikawa Stab %
.Dt NG_BPF 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_bpf
.Nd Berkeley パケットフィルタ netgraph ノードタイプ
.Sh 書式
.Fd #include <net/bpf.h>
.Fd #include <netgraph/ng_bpf.h>
.Sh 解説
.Nm bpf
ードタイプは、Berkeley パケットフィルタ (
.Xr bpf 8
参照) を、Netgraph ネットワークを通過するデータに適用可能にします。
各ノードは、任意に名前づけられたフックに対する任意の数の接続を許します。
各フックに対し、到着するデータにのみ適用される
.Xr bpf 8
フィルタプログラム、
マッチするパケットの宛先フック、
マッチしないパケットの宛先フック、
さまざまな統計カウンタが関連付けられます。
.Pp
.Xr bpf 8
プログラムは符号なし整数を返します。
これは、通常、返されるパケットのプレフィックス長として解釈されます。
このノードタイプにおいては、
0 が返されるときは、マッチしなかったことを意味します。
その場合は、
パケット全体が、マッチしない場合の宛先フックに送られます。
0 より大きな値が返されるときは、パケットはその長さに切り詰められ、
マッチした場合の宛先フックに送られます。
宛先フックのどちらかもしくは両方が、
空文字列であったり存在しないことも可能です。
この場合、パケットは捨てられます。
.Pp
新しいフックは、最初に、全てのパケットを捨てるように設定されます。
新しいフィルタは、
.Dv NGM_BPF_SET_FILTER
制御メッセージを使ってインストール可能です。
.Sh フック
このノードタイプは任意の名前を持った、いかなる数のフックをも
サポートします。
.Sh 制御メッセージ
このノードタイプは汎用制御メッセージをサポートし、
さらに以下のものをサポートします。
.Bl -tag -width foo
.It Dv NGM_BPF_SET_FILTER
このコマンドは、
到着したデータに適用するフィルタプログラムを、
フックにセットします。
次の構造体を引数として与えることが必要です。
.Bd -literal -offset 4n
struct ngm_bpf_hookprog {
char thisHook[NG_HOOKLEN+1]; /* フックの名称 */
char ifMatch[NG_HOOKLEN+1]; /* マッチ時の宛先フック */
char ifNotMatch[NG_HOOKLEN+1]; /* 非マッチ時の宛先フック */
int32_t bpf_prog_len; /* プログラムの命令数 */
struct bpf_insn bpf_prog[0]; /* bpf プログラム */
};
.Ed
.Pp
更新されるフックは、
.Dv thisHook
で指定されます。
BPF プログラムは、配列
.Dv bpf_prog
中の命令の並びです。
それは
.Dv bpf_prog_len
の長さでなければなりません。
マッチした到着パケットとマッチしなかった到着パケットは、
それぞれ、
.Dv ifMatch
.Dv ifNotMatch
の名前のフックに送られます。
このプログラムは、有効な
.Xr bpf 8
プログラムであることが必要であり、そうでない場合には
.Er EINVAL
が返されます。
.It Dv NGM_BPF_GET_FILTER
このコマンドは、フックの名称の ASCII 文字列を引数にとります。
上に示した、対応する
.Dv "struct ngm_bpf_hookprog"
を返します。
.It Dv NGM_BPF_GET_STATS
このコマンドは、フックの名称の ASCII 文字列を引数にとり、
フックに関連した統計値を
.Dv "struct ng_bpf_hookstat"
として返します。
.It Dv NGM_BPF_CLR_STATS
このコマンドは、フックの名称の ASCII 文字列を引数にとり、
フックに関連した統計値をクリアします。
.It Dv NGM_BPF_GETCLR_STATS
このコマンドは、
.Dv NGM_BPF_GET_STATS
と同様ですが、対象とした統計値がアトミックにクリアされます。
.El
.Sh シャットダウン
このノードは
.Dv NGM_SHUTDOWN
制御メッセージを受け取るか、
全てのフックの接続が切れたとき、
シャットダウンします。
.Sh バグ
ローダブルカーネルモジュールとして作成するとき、
このモジュールはファイル
.Dv "net/bpf_filter.c"
をインクルードします。
.Dv "net/bpf_filter.c"
が既にカーネル内に存在する場合、モジュールのロードは失敗すべきですが、
現在こうなっておらず、ファイルの複製されたコピーは干渉しません。
しかし、これは将来変更されるかもしれません。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr bpf 4 ,
.Xr ngctl 8
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,162 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/cisco/ng_cisco.8,v 1.2.2.1 1999/11/17 07:23:41 julian Exp %
.\" $Whistle: ng_cisco.8,v 1.5 1999/01/25 23:46:26 archie Exp $
.\"
.Dd January 19, 1999
.\" jpman %Id: ng_cisco.8,v 1.3 1999/12/19 08:54:10 horikawa Stab %
.Dt NG_CISCO 8
.Os FreeBSD 3
.Sh 名称
.Nm ng_cisco
.Nd Cisco HDLC プロトコル netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_cisco.h>
.Sh 解説
.Nm cisco
ノードタイプは Cisco HDLC プロトコルを用いて、
パケットのカプセル化と非カプセル化を行います。
このプロトコルは、高速同期回線を行き来するパケットを伝送するための、
非常に単純なプロトコルです。
各パケットは Ethertype を前に付加しています。
これは、プロトコルを示しています。
また、``keep alive'' と ``inquire'' ケーパビリティも存在します。
.Pp
.Dv downstream
フックは同期回線に接続する必要があります。ノードの反対側では、
.Dv inet ,
.Dv atalk ,
および
.Dv ipx
フックがそれぞれ 生 IP, AppleTalk, IPX パケットの送受信に使用されます。
一般的にこれらのフックは、
.Xr ng_iface 8
のノードの対応するフックに接続します。
.Sh IP 設定
IP トラフィックに対して適切に機能するために、ローカルの IP アドレスと
netmask の設定を、ノードに正しく通知する必要があります。
これは、プロトコルが ``inquire'' パケットを含んでおり、
これに対する応答を準備しておく必要があるためです。
.Pp
このような調査 (inquire) パケットを受信したときはいつでも、ノードは
.Dv NGM_CISCO_GET_IPADDR
メッセージを
.Dv inet
フックに接続された対向に対して送ります (存在する場合) 。
対向が応答した場合には、応答をそのまま用います。
これで自動的に設定できます。
.Pp
対向が応答しない場合には、 IP アドレスと netmask として、
以前にキャッシュした値を利用します。
またいつでも、
.Dv NGM_CISCO_SET_IPADDR
メッセージを使って、このキャッシュした値として設定することができ、
これが手動による設定になります。
.Pp
.Dv inet
フックが
.Xr ng_iface 8
ノードの
.Dv inet
フックに接続している場合 (これは普段よくあることです) は、
.Xr ng_iface 8
.Dv NGM_CISCO_GET_IPADDR
メッセージを理解するので、設定は自動的になります。
.Sh フック
本ノードタイプは次に挙げるフックをサポートしています:
.Pp
.Bl -tag -width foobarbazio
.It Dv downstream
同期回線への接続点。
.It Dv inet
IP フック。
.It Dv atalk
AppleTalk フック。
.It Dv ipx
IPX フック。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージに加え、
次のメッセージをサポートします:
.Bl -tag -width foo
.It Dv NM_CISCO_SET_IPADDR
このコマンドは、2 つの
.Dv struct in_addr
引数の配列をとります。
1 番目は対応するインタフェースの IP アドレス、2 番目は netmask です。
.It Dv NGM_CISCO_GET_IPADDR
このコマンドは、
.Dv NGM_CISCO_SET_IPADDR
で用いているものと同じフォーマットで IP 設定を返します。
IP アドレス照会パケットが受信されるときはいつでも、
このコマンドは同様に
.Dv inet
対向に対して、本ノードタイプによって
.Em 送り出されます。
.It Dv NGM_CISCO_GET_STATUS
構造体
.Dv "struct ngciscostat"
を返します :
.Bd -literal -offset 4n
struct ngciscostat {
u_int32_t seq_retries; /* 非応答に対する再試行回数 */
u_int32_t keepalive_period; /* 秒単位で */
};
.Ed
.El
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切り離されたときに、
シャットダウンします。
.Sh バグ
全ての機能が実装されているわけではありません。
例えば、ノードには遠隔端の IP アドレスと netmask について問い合せる
機能はサポートされていません。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_iface 8 ,
.Xr ngctl 8
.Rs
.%A D. Perkins
.%T "Requirements for an Internet Standard Point-to-Point Protocol"
.%O RFC 1547
.Re
.Sh LEGAL
Cisco is a trademark of Cisco Systems, Inc.
.Sh 作者
Julian Elischer <julian@whistle.com>,
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,68 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/echo/ng_echo.8,v 1.3.2.1 1999/11/17 07:23:42 julian Exp %
.\" $Whistle: ng_echo.8,v 1.4 1999/01/25 23:46:26 archie Exp $
.\"
.\" jpman %Id: ng_echo.8,v 1.3 1999/12/20 00:23:36 mitchy Stab %
.Dd January 19, 1999
.Dt NG_ECHO 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_echo
.Nd netgraph エコーノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_echo.h>
.Sh 解説
.Nm echo
ノードタイプは、すべてのデータメッセージおよび制御メッセージを、
送信者へ送り返します。
本ノードタイプは、テストおよびデバッグ用です。
.Sh フック
.Nm echo
ノードは、フック名がユニークである限りにおいてはフック名に関係なく、
あらゆる接続要求を受け付けます。
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージのみをサポートします。
他の制御メッセージは、送信者へ送り返されます。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_hole 8 ,
.Xr ngctl 8
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,93 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/frame_relay/ng_frame_relay.8,v 1.3.2.1 1999/11/17 07:23:43 julian Exp %
.\" $Whistle: ng_frame_relay.8,v 1.4 1999/01/25 23:46:26 archie Exp $
.\"
.\" jpman %Id: ng_frame_relay.8,v 1.3 1999/12/20 00:23:14 mitchy Stab %
.Dd January 19, 1999
.Dt NG_FRAME_RELAY 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_frame_relay
.Nd フレームリレー netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_frame_relay.h>
.Sh 解説
.Nm frame_relay
ノードタイプは、フレームリレープロトコルを使用して、
パケットに対するカプセル化、カプセル化解除、多重化を行います。
1024 個までの DLCI をサポートします。
LMI プロトコルは、別のノードタイプが扱います (
.Xr ng_lmi 8
を参照してください)。
.Pp
.Dv downstream
フックは、同期回線、すなわちスイッチに接続されるべきです。
スイッチに接続すると、各 DLCI チャネルへ接続するために、フック
.Dv dlci0 ,
.Dv dlci1
.Dv dlci1023
を利用可能です。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -width foobar
.It Dv downstream
同期回線への接続。
.It Dv dlciX
ここで X は 10 進数であり、0 から 1023 です。
本フックは、DLCI X のフレームリレー仮想チャネルに対応します。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージのみをサポートします。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh バグ
技術的には、両端の LMI プロトコルエンティティが DLCI X を活性状態とするまで、
DLCI X 上のフレームをスイッチに転送すべきではありません。
.Nm frame_relay
ードタイプはこの制約を無視し、DLCI フック上で受信したデータを常に
.Dv downstream
へ渡します。
そうするのではなく、まず LMI ノードへ問い合わせるべきです。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_lmi 8 ,
.Xr ngctl 8
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,68 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/hole/ng_hole.8,v 1.3.2.1 1999/11/17 07:23:45 julian Exp %
.\" $Whistle: ng_hole.8,v 1.4 1999/01/25 23:46:26 archie Exp $
.\"
.\" jpman %Id: ng_hole.8,v 1.3 1999/12/20 00:22:30 mitchy Stab %
.Dd January 19, 1999
.Dt NG_HOLE 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_hole
.Nd netgraph 破棄ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_hole.h>
.Sh 解説
.Nm hole
ノードタイプは、受信するすべてのデータメッセージと制御メッセージを、
黙って破棄します。
本ノードタイプは、テストおよびデバッグ用です。
.Sh フック
.Nm hole
ノードは、フック名がユニークである限りにおいてはフック名に関係なく、
あらゆる接続要求を受け付けます。
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージのみをサポートします。
他の制御メッセージは、黙って破棄されます。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_echo 8 ,
.Xr ngctl 8
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,137 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/iface/ng_iface.8,v 1.3.2.1 1999/11/17 07:23:46 julian Exp %
.\" $Whistle: ng_iface.8,v 1.5 1999/01/25 23:46:26 archie Exp $
.\"
.Dd January 19, 1999
.\" jpman %Id: ng_iface.8,v 1.3 1999/12/19 08:54:22 horikawa Stab %
.Dt NG_IFACE 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_iface
.Nd インタフェース netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_iface.h>
.Sh 解説
.Nm iface
ードは、netgraph ノードとシステムネットワーキングインタフェースの
双方を兼ね備えています。
.Nm iface
ノードが作成される際、
.Xr ifconfig 8
によってアクセス可能な、
新規の point-to-point インタフェースが作成されます。
新規のインタフェースは
.Dv ng0 ,
.Dv ng1
という具合に名前付けられます。
ノードには、そのインタフェースと同じ名前が割り当てられます。この名前が
すでに存在する場合には、ノードは無名となります。
.Pp
.Nm iface
ノードには、
サポートしている各プロトコルと一致したフックがそれぞれ 1 つだけ存在します。
インタフェースを通して送信されるパケットは、
対応するプロトコルに特有のフックから流れます。
同様に、フックで受信されたパケットは、
対応したプロトコルで受信されたパケットとして、インタフェースに現れます。
.Pp
現在サポートしているプロトコルは IP, IPX, AppleTalk, NS です。
KLD モジュールには、
標準では IP に対するサポートのみが組み込まれています。
.Pp
.Nm iface
ノードは Berkeley Packet Filter (BPF) をサポートしています。
KLD モジュールでは、
標準でこのサポートは無効になっています。
.Sh フック
本ノードタイプは次に挙げるフックをサポートしています:
.Pp
.Bl -tag -width foobar
.It Dv inet
IP パケットの送信点および受信点。
.It Dv ipx
IPX パケットの送信点および受信点。
.It Dv atalk
AppleTalk パケットの送信点および受信点。
.It Dv ns
NS パケットの送信点および受信点。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージに加え、
次のメッセージをサポートします:
.Bl -tag -width foo
.It Dv NGM_IFACE_GET_IFNAME
このノードと一致しているインタフェースの名前を
.Dv "struct ng_iface_ifname"
で返します:
.Bd -literal -offset 4n
struct ng_iface_ifname {
char ngif_name[NG_IFACE_IFACE_NAME_MAX + 1];
};
.Ed
.It Dv NGM_IFACE_GET_IFADDRS
このインタフェースと関連したアドレスのリストを返します。
このリストは ioctl() で
.Dv SIOCGIFCONF
を指定したときと同じフォーマットで返します。
.It Dv NGM_CISCO_GET_IPADDR
このメッセージは
.Xr ng_cisco 8
ノードタイプで定義されています;
詳細に関しては
.Xr ng_cisco 8
を参照してください。
.El
.Sh シャットダウン
現状において、FreeBSD はシステムネットワーキングインタフェースを
削除することは不可能なため、
.Nm iface
ノードは
.Em 永続的
なものとなっています。
つまり、一度作成されると決して消去されることはありません。
.Dv NGM_SHUTDOWN
制御メッセージを受信した場合、
全てのフックは切断されますが、ノードは破棄されません。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr bpf 4 ,
.Xr ng_cisco 8 ,
.Xr ng_rfc1490 8 ,
.Xr ngctl 8 ,
.Xr ifconfig 8
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,183 @@
.\" Copyright (c) 1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/ksocket/ng_ksocket.8,v 1.1.2.2 1999/12/01 19:41:50 julian Exp %
.\"
.Dd November 15, 1999
.\" jpman %Id: ng_ksocket.8,v 1.3 1999/12/19 08:54:33 horikawa Stab %
.Dt NG_KSOCKET 8
.Os FreeBSD
.Sh 名称
.Nm ng_ksocket
.Nd カーネルソケット netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_ksocket.h>
.Sh 解説
.Nm ksocket
ノードは netgraph ノードと BSD ソケットの双方を兼ね備えています。
.Nm ksocket
ノードタイプによりカーネル内部にソケットを開くことができます。
また、このソケットは netgraph ノードとして出現します。
.Nm ksocket
ノードタイプはソケットノードタイプの逆にあたります (
.Xr ng_socket 8
を参照してください):
通常はカーネルレベルによる構成要素 (関連した netgraph ノード) を、
ソケットノードタイプがユーザレベルで (ソケットを通して) 処理可能に
しているのに対して、
通常はユーザレベルによる構成要素 (関連したソケット) を、
.Nm ksocket
ノードタイプがカーネルレベルで (netgraph ノードを通して) 処理可能にします。
.Pp
.Nm ksocket
ノードは、最高で 1 つのフック接続を許します。ノードに接続することと、
関連したソケットを開くことは同じです。
フックに与えられる名前は、
ノードがどのような種類のソケットとして開くかを決定します (下記参照) 。
フックが切断されたり、ノードがシャットダウンされたとき、
関連したソケットは閉じられます。
.Sh フック
本ノードタイプは、一度に 1 つだけのフック接続をサポートします。
フックの名称は
.Dv Em <family>/<type>/<proto>
といった形式に従う必要があります。
ここで、
.Dv Em family ,
.Dv Em type
及び
.Dv Em proto
.Xr socket 2
の引数と同じく 10 進数となります。
あるいは、よく用いられる値のエイリアスも、同様に受付けます。
例えば、
.Dv inet/dgram/udp
.Dv 2/2/17
と同じ意味ですが、より読み易くなった例です。
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージに加え、
次に挙げるメッセージをサポートします:
.Bl -tag -width foo
.It Dv NGM_KSOCKET_BIND
このメッセージは
.Xr bind 2
システムコールと全く同じ機能を持ちます。
.Dv "struct sockaddr"
ソケットアドレスパラメータを引数として指定する必要があります。
.It Dv NGM_KSOCKET_LISTEN
このメッセージは
.Xr listen 2
システムコールと全く同じ機能を持ちます。
値 backlog (32 ビット
.Dv int
型 1 個) を引数として指定する必要があります。
.It Dv NGM_KSOCKET_CONNECT
このメッセージは
.Xr connect 2
システムコールと全く同じ機能を持ちます。
.Dv "struct sockaddr"
宛先アドレスを引数として指定する必要があります。
.It Dv NGM_KSOCKET_ACCEPT
現時点では実装されていません。
.It Dv NGM_KSOCKET_GETNAME
このメッセージは
.Xr getname 2
システムコールと全く同じ機能を持ちます。
応答の引数フィールド中の
.Dv "struct sockaddr"
として、名前が返されます。
.It Dv NGM_KSOCKET_GETPEERNAME
このメッセージは
.Xr getpeername 2
システムコールと全く同じ機能を持ちます。
応答の引数フィールド中の
.Dv "struct sockaddr"
として、名前が返されます。
.It Dv NGM_KSOCKET_SETOPT
このメッセージは
.Xr setsockopt 2
システムコールと全く同じ機能を持ちます。
ただしオプション名、レベル、値は
.Dv "struct ng_ksocket_sockopt"
に入れて渡されます。
.It Dv NGM_KSOCKET_GETOPT
このメッセージは
.Xr getsockopt 2
システムコールと全く同じ機能を持ちます。
ただしオプションは
.Dv "struct ng_ksocket_sockopt"
に入れて渡されます。
本コマンドを送るとき、
.Dv value
フィールドは空であるべきです。戻るときに、ここに取り出した値を入れます。
.El
.Pp
.Sh ASCII 形式の制御メッセージ
引数フィールドで
.Dv "struct sockaddr"
を渡す制御メッセージでは、
この C 構造を ASCII で通常の相当形式にしたものは、受け付けられる書式です。
.Dv PF_INET
.Dv PF_LOCAL
のアドレスファミリでは、より便利な書式もまた使用可能です。
それはプロトコルファミリ名、続いてスラッシュ、続いて実際の番号です。
.Dv PF_INET
では、アドレスは IP アドレス、続いてオプションのコロンとポート番号です。
.Dv PF_LOCAL
では、アドレスはダブルクォートで括られたパス名です。
.Pp
使用例:
.Bl -tag -width XXXXXXXXXX
.It Dv PF_LOCAL
inet/192.168.1.1:1234
.It Dv PF_INET
local/"/tmp/foo.socket"
.It Other
.Dv "{ family=16 len=16 data=[ 0x70 0x00 0x01 0x23 ] }"
.El
.Pp
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、フックが切断されたときに、シャットダウンします。
ノードがシャットダウンされると、関連したソケットも閉じられます。
.Sh 関連項目
.Xr socket 2 ,
.Xr netgraph 4 ,
.Xr ng_socket 8 ,
.Xr ngctl 8
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,135 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/lmi/ng_lmi.8,v 1.3.2.1 1999/11/17 07:23:49 julian Exp %
.\" $Whistle: ng_lmi.8,v 1.4 1999/01/25 23:46:27 archie Exp $
.\"
.\" jpman %Id: ng_lmi.8,v 1.3 1999/12/20 00:22:21 mitchy Stab %
.Dd January 19, 1999
.Dt NG_LMI 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_lmi
.Nd フレームリレー LMI プロトコル netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_lmi.h>
.Sh 解説
.Nm lmi
ノードタイプは、フレームリレー LMI プロトコルを実行します。
ITU Annex A, ANSI Annex D, Group-of-four LMI タイプをサポートします。
また、LMI タイプの自動検出もサポートします。
.Pp
特定の LMI タイプを有効にするには、対応するフック (
.Dv annexA ,
.Dv annexD ,
.Dv group4
のいずれか) を、
.Xr ng_frame_relay 8
ノードの DLCI の 0 または 1023 へ接続します。
典型的には、Annex A と Annex D が DLCI 0 に存在し、
Group-of-four は DLCI 1023 に存在します。
.Pp
LMI タイプの自動検出を有効にするには、
.Dv auto0
フックを DLCI 0 へ接続し、
.Dv auto1023
フックを DLCI 1023 へ接続します。
ノードは、
どの LMI タイプがスイッチ上で実行されているかを自動的に判定して、
そのモードに移行しようとします。
.Pp
1 個の固定 LMI タイプまたは自動検出だけが、ある一時期には活性化可能です。
.Pp
LMI プロトコルと各 DLCI チャネルの現在の状態を問い合わせるために、
.Dv NGM_LMI_GET_STATUS
制御メッセージをいつでも使用可能です。
本ノードは、
.Dv NGM_TEXT_STATUS
制御メッセージもまたサポートします。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -width foobarbaz
.It Dv annexA
ITU Annex A LMI フック。
.It Dv annexD
ANSI Annex D LMI フック。
.It Dv group4
Group-of-four LMI フック。
.It Dv auto0
DLCI 0 に対する自動検出フック。
.It Dv auto1023
DLCI 1023 に対する自動検出フック。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージをサポートし、
更に次のものもサポートします:
.Bl -tag -width foo
.It Dv NGM_LMI_GET_STATUS
本コマンドは、状態情報を
.Dv "struct nglmistat"
構造体に入れて返します:
.Bd -literal -offset 4n
#define NGM_LMI_STAT_ARYSIZE (1024/8)
struct nglmistat {
u_char proto[12]; /* 活性中のプロトコル (フック名と同じ) */
u_char hook[12]; /* 活性中のフック */
u_char fixed; /* 固定 LMI モードにセットされているか */
u_char autod; /* 現在自動検出モードか */
u_char seen[NGM_LMI_STAT_ARYSIZE];
/* 見える DLCI のビットマップ */
u_char up[NGM_LMI_STAT_ARYSIZE];
/* アップ状態の DLCI のビットマップ */
};
.Ed
.It Dv NGM_TEXT_STATUS
この汎用メッセージは、可読形式でノードの状態を返します。
.El
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_frame_relay 8 ,
.Xr ngctl 8
.Rs
.%T "ANSI T1.617-1991 Annex D"
.Re
.Rs
.%T "ITU-T Q.933 Digital Subscriber Signaling System No. 1 - Signaling Specification for Frame Mode Basic Call Control, Annex A"
.Re
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,404 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/ppp/ng_ppp.8,v 1.5.2.2 1999/12/01 19:29:29 julian Exp %
.\" $Whistle: ng_ppp.8,v 1.3 1999/01/25 23:46:27 archie Exp $
.\"
.\" jpman %Id: ng_ppp.8,v 1.2 1999/12/19 08:54:55 horikawa Chk %
.Dd January 19, 1999
.Dt NG_PPP 8
.Os FreeBSD
.Sh 名称
.Nm ng_ppp
.Nd PPP プロトコル netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_ppp.h>
.Sh 解説
.Nm ppp
ノードタイプは PPP プロトコルのために多重化を行います。
データを持つパケットのみを扱い、
プロトコルネゴシエーションや制御のパケットは別の制御実体
(例えば、ユーザランドのデーモン) へ転送します。
このアプローチは、
カーネルにおける高速ディスパッチの実装と、
ユーザランドにおける柔軟な設定の実装とを組み合わせます。
PPP ノードタイプは、マルチリンク PPP、Van Jacobson 圧縮、
PPP 圧縮、PPP 暗号化、そして IP, IPX, AppleTalk の各プロトコルを
直接サポートします。
1 個の PPP ノードが 1 個の PPP マルチリンクバンドルに対応します。
.Pp
バンドル中の各 PPP リンクには別々のフックがあり、
直接サポートされているプロトコルに対応して別々のフックがあります。
圧縮と暗号化のためには、別に接続されたノードが実際の仕事を行う必要があります。
使用されるノードタイプは、当然、ネゴシエートされるアルゴリズムに依存します。
また
.Dv bypass
フックがあり、本ノードが直接サポートしないプロトコルを扱うために、
使用されます。
これにはすべての制御プロトコル、LCP, IPCP, CCP 等が含まれます。
典型的には、本ノードはユーザランドデーモンと
.Xr ng_socket(8)
タイプノードを介して接続されます。
.Sh 機能の有効化
一般的には、PPP ノードは特定のリンクまたは機能を、次の場合に有効化します:
それは
(a) これを有効にするための
.Dv NGM_PPP_SET_CONFIG
メッセージが届き、かつ
(b) 対応するフック (複数可) が接続された場合です。
これにより、制御実体が (a) または (b) (または両方) を使用し、
ノードの振舞いを制御します。
リンクが接続されたが無効な場合、
.Dv bypass
フック (後述) により、リンク上にトラッフィックを流せます。
.Sh リンクフック
通常動作中、個々の PPP リンクはフック
.Dv link0 ,
.Dv link1
等に接続されます。
.Dv NG_PPP_MAX_LINKS
までのリンクがサポートされています。
これらのデバイス独立なフックは、完全な PPP フレームを送受信します。
このフレームは、
PPP プロトコルと、アドレスと、制御と、情報の各フィールドを含みますが、
チェックサムと他のリンク固有のフィールドは含みません。
.Pp
出力フレームでは、
プロトコル圧縮が有効かつプロトコル番号が圧縮用の場合、
プロトコルフィールドが圧縮されます
(すなわち、2 バイトでなく 1 バイトで送出されます)。
入力フレームでは、
圧縮されたプロトコルフィールドも非圧縮のプロトコルフィールドも
受け付けられます。
同様に、アドレスおよび制御のフィールドの圧縮がこのリンクで有効な場合、
アドレスと制御のフィールドは省略されます
(LCP フレームは例外であり、規格が必須であると規定しています)。
入力フレームにアドレスと制御のフィールドが付いている場合には、
自動的に取り除かれます。
.Pp
全ネゴシエーションは PPP ノード外で扱われるため、
リンクを接続して有効にするのは、
対応するリンクがネットワークフェーズになり
(すなわち LCP ネゴシエーションと認証が成功裏に完了し)、
PPP ノードがリンクパラメータを
.Dv NGM_PPP_LINK_CONFIG
メッセージにより通知されてからにすべきです。
.Pp
リンクが接続されたものの無効化されているときには、
全受信フレームは
.Dv bypass
フックから直接送出され、
また、フレームを
.Dv bypass
フックから送出することも可能です。
このモードはリンク認証フェーズ用です。
リンクが有効になるとすぐに、
PPP ノードは、リンクから受信するフレームに対する処理を開始します。
.Sh 圧縮と暗号化
圧縮は 2 個のフック
.Dv compress
.Dv decompress
でサポートしています。
有効になり接続されると、PPP ノードは出力フレームを
.Dv compress
フックに書き込み、
同じフックから圧縮されたフレームを受け取るものと期待します。
同様に、
伸長がネゴシエートされた場合
(圧縮と伸長は独立にネゴシエート可能です)、
.Dv decompress
フックは入力フレームを伸長するために使用されます。
これらのフックに接続されたノードのタイプは、
ネゴシエートされた圧縮タイプに、
例えば Deflate, Predictor-1 等に対応すべきです。
.Pp
暗号化は、これとまさに同様に
.Dv encrypt
.Dv decrypt
のノードで行われます。
データは常に暗号化前に圧縮され、伸長後に暗号解読されます。
.Pp
バンドルレベルでの圧縮と暗号化だけが直接サポートされています。
リンクレベルの圧縮と暗号化は、downstream ノードで透過的に扱えます。
.Sh VAN JACOBSEN 圧縮
フック
.Dv vjc_ip ,
.Dv vjc_vjcomp ,
.Dv vjc_vjuncomp ,
.Dv vjc_vjip
すべてが接続され、対応する設定フラグが有効であるとき、
Van Jacobsen 圧縮と伸長が活性化されます。
通常これらのフックは、単一の
.Xr ng_vjc 8
ノードの対応するフックに接続されます。
PPP ノードは
.Xr ng_vjc 8
ノードタイプの ``通過'' モードと互換です。
.Sh バイパスフック
リンク上で未サポートまたは無効化されたプロトコルのフレームを受信するか、
対応するフックが接続されていないフレームを受信すると、
PPP ノードはこのフレームの前に 4 バイトのプレフィックスを付けて
.Dv bypass
フックから送出します。
プレフィックスの最初の 2 バイトは、
フレームを受信したリンク番号 (ネットワーク順) を示します。
バンドルで受信したフレーム
(すなわちマルチリンクプロトコルでカプセル化されたフレーム) では、
特殊リンク番号
.Dv NG_PPP_BUNDLE_LINKNUM
が使用されます。
2 バイトのリンク番号の後は、2 バイトの PPP プロトコル番号
(これもネットワーク順) です。
元のフレームがプロトコル圧縮されていたとしても、
PPP プロトコル番号は 2 バイト長です。
.Pp
一方、
.Dv bypass
に書き込まれた全データは同じフォーマットであると見倣されます。
前述の 4 バイトのヘッダが取り除かれ、
PPP プロトコル番号が前に付けられ (圧縮されているかもしれません)、
指定されたリンクからこのフレームが配送されます。
リンク番号が
.Dv NG_PPP_BUNDLE_LINKNUM
の場合、フレームはマルチリンクバンドルを介して配送されます。
マルチリンクが無効化されている場合は (単一の) PPP リンクを介して
配送されます。
.Pp
典型的には、制御実体がバイパスフックからパケットを受信したとき、
このフレームを落す (プロトコルに対して準備ができていないとき) という対応か、
LCP プロトコル拒否 (プロトコルを理解できないか期待しなかったとき) という
対応を行います。
.Sh マルチリンク動作
マルチリンク PPP を有効にするには、
対応する設定フラグをセットし、
少なくとも 1 個のリンクを接続することが必要です。
マルチリンクが有効になっていないと、
PPP ノードは複数のリンクの接続を許しません。
また、マルチリンク動作が活性化されている間は、
マルチリンクの設定には変更を許さないものがあります
(例えば短シーケンス番号ヘッダフォーマット)。
.Pp
パケットはフラグメントとして複数の独立したリンクから送られるので、
リンクがダウンするときには、
対応するフックの切断か、
.Dv NGM_PPP_SET_CONFIG
制御メッセージによるリンク無効化により、
PPP ノードへすぐに通知することが重要です。
.Pp
各リンクは、遅延 (ミリ秒で指定) とバンド幅 (秒あたりに何 10 バイトで指定)
の設定パラメータを持ちます。
PPP ノードは、
.Em ラウンドロビン
または
.Em 最適化
のパケット配送に設定可能です。
.Pp
ラウンドロビン配送に設定すると、
遅延とバンド幅の値は無視され、
PPP ノードは、
バンドル内の全リンクにわたってフレームを変えながら、
単に各フレームを単一フラグメントとして送信します。
この方式の利点は、あるリンクが黙ったまま壊れた場合においても、
いくらかのパケットはまだ通過できることです。
欠点は、
対話応答時間にとって重要なバンドル全体の遅延が準最適であり、
バンドル内のリンクのバンド幅が異なる場合には
バンドル全体のバンド幅が準最適であることです。
.Pp
最適配送に設定すると、
末端がパケット全体を受信するのにかかる時間が最小化されるように、
PPP ノードはパケットをリンクに分散します。
この計算には、
各リンクの遅延、バンド幅、現在のキューの長さを考慮に入れます。
それゆえ、これらの数値は可能な限り正確に設定すべきです。
本アルゴリズムは計算を要しますので、
非常に遅いマシンや非常に高速なリンクには向きません。
.Pp
特別な場合として、全リンクが同じ遅延とバンド幅の場合、
上述のアルゴリズムは無効化され (不要という理由です)、
PPP ノードは単にフラグメントを等長に分割して全リンクに振り分けます。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -compact -width vjc_vjuncomp
.It Dv link<N>
個々の PPP リンク番号
.Dv <N>
.It Dv compress
圧縮エンジンへの接続
.It Dv decompress
伸長エンジンへの接続
.It Dv encrypt
暗号化エンジンへの接続
.It Dv decrypt
暗号解読エンジンへの接続
.It Dv vjc_ip
.Xr ng_vjc 8
.Dv ip
フックへの接続
.It Dv vjc_vjcomp
.Xr ng_vjc 8
.Dv vjcomp
フックへの接続
.It Dv vjc_vjuncomp
.Xr ng_vjc 8
.Dv vjuncomp
フックへの接続
.It Dv vjc_vjip
.Xr ng_vjc 8
.Dv vjip
フックへの接続
.It Dv inet
IP パケットデータ
.It Dv atalk
AppleTalk パケットデータ
.It Dv ipx
IPX パケットデータ
.It Dv bypass
バイパスフック。
フレームは、リンク番号と PPP プロトコル番号からなる
4 バイトヘッダを持ちます。
.El
.Pp
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージをサポートし、
更に次のものもサポートします:
.Bl -tag -width foo
.It Dv NGM_PPP_SET_CONFIG
本コマンドは、本ノードのすべての側面を設定します。
これには、
マルチリンク PPP、暗号化、圧縮、Van Jacobsen 圧縮のそれぞれの有効化と、
IP, AppleTalk, IPX の各パケットの配送が含まれます。
またリンク毎の設定も含み、これには
リンクの有効化、遅延とバンド幅のパラメータの設定、
プロトコルフィールド圧縮の有効化が含まれます。
リンクや機能が活性化されるのは、
対応するフックが接続されてからであることに注意してください。
本コマンドは、引数として
.Dv "struct ng_ppp_node_config"
を取ります:
.Bd -literal -offset 0
/* リンク毎の設定構造体 */
struct ng_ppp_link_config {
u_char enableLink; /* 本リンクの有効化 */
u_char enableProtoComp;/* プロトコルフィールド圧縮の有効化 */
u_char enableACFComp; /* アドレス/制御フィールド圧縮の有効化 */
u_int16_t mru; /* 対向 MRU */
u_int32_t latency; /* リンク遅延 (ミリ秒単位) */
u_int32_t bandwidth; /* リンクバンド幅 (バイト/秒単位) */
};
/* ノード設定構造体 */
struct ng_ppp_node_config {
u_int16_t mrru; /* マルチリンクの対向 MRRU */
u_char enableMultilink; /* マルチリンクの有効化 */
u_char recvShortSeq; /* 受信マルチリンクの
短シーケンス番号 */
u_char xmitShortSeq; /* 送信マルチリンクの
短シーケンス番号 */
u_char enableRoundRobin; /* パケット全体の送信 */
u_char enableIP; /* IP データフロー有効化 */
u_char enableAtalk; /* AppleTalk データフロー有効化 */
u_char enableIPX; /* IPX データフロー有効化 */
u_char enableCompression; /* PPP 圧縮有効化 */
u_char enableDecompression; /* PPP 伸長有効化 */
u_char enableEncryption; /* PPP 暗号化有効化 */
u_char enableDecryption; /* PPP 暗号解読有効化 */
u_char enableVJCompression; /* VJ 圧縮有効化 */
u_char enableVJDecompression; /* VJ 伸長有効化 */
struct ng_ppp_link_config /* リンク毎の設定パラメータ */
links[NG_PPP_MAX_LINKS];
};
.Ed
.Pp
.It Dv NGM_PPP_GET_CONFIG
現在の設定を
.Dv "struct ng_ppp_node_config"
で返します。
.It Dv NGM_PPP_GET_LINK_STATS
本コマンドは 2 バイトのリンク番号を単一の引数として取り、
対応するリンクの統計情報を含む
.Dv "struct ng_ppp_link_stat"
を返します。
ここで
.Dv NG_PPP_BUNDLE_LINKNUM
は、マルチリンクバンドルに対応する有効なリンク番号です。
.It Dv NGM_PPP_CLR_LINK_STATS
本コマンドは 2 バイトのリンク番号を単一の引数として取り、
対応するリンクの統計情報をクリアします。
.It Dv NGM_PPP_GETCLR_LINK_STATS
.Dv NGM_PPP_GET_LINK_STATS
と同様ですが、不可分に統計情報のクリアも行います。
.El
.Pp
本ノードタイプは、
.Xr ng_vjc 8
ノードタイプが受け付ける制御メッセージも受け付けます。
これらのメッセージを受信すると、隣接する
.Xr ng_vjc 8
ノードがあれば、そこへ単に転送します。
個々の PPP リンクが
.Dv NGM_VJC_RECV_ERROR
メッセージを生成可能である場合に、これは特に有効です (解説については
.Xr ng_vjc 8
を参照してください)。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_async 8 ,
.Xr ng_iface 8 ,
.Xr ng_vjc 8 ,
.Xr ng_pppoe 8 ,
.Xr ngctl 8
.Rs
.%A W. Simpson
.%T "The Point-to-Point Protocol (PPP)"
.%O RFC 1661
.Re
.Rs
.%A K. Sklower
.%A B. Lloyd
.%A G. McGregor
.%A D. Carr
.%A T. Coradetti
.%T "The PPP Multilink Protocol (MP)"
.%O RFC 1990
.Re
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,415 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/pppoe/ng_pppoe.8,v 1.4.2.3 1999/12/01 19:41:51 julian Exp %
.\" $Whistle: ng_pppoe.8,v 1.1 1999/01/25 23:46:27 archie Exp $
.\"
.\" jpman %Id: ng_pppoe.8,v 1.2 1999/12/19 08:54:57 horikawa Stab %
.Dd October 28, 1999
.Dt NG_PPPOE 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_pppoe
.Nd RFC 2516 PPPOE プロトコル netgraph ノードタイプ
.Sh 書式
.Fd #include <net/ethernet.h>
.Fd #include <netgraph/ng_pppoe.h>
.Sh 解説
.Nm
ノードタイプは PPPoE プロトコルを処理します。
これは、イーサネットフレームワークに対する
.Xr netgraph 4
拡張と共に使用され、
PPP エージェント (これは指定されていません) との間で
イーサネットパケットを転換したり挿入したりします。
.Pp
.Dv NGM_PPPOE_GET_STATUS
制御メッセージを使用して、
いつでも PPPOE モジュールの現在の状態を問い合わせることが可能です。
現在利用可能な統計情報は、入力と出力の全パケット数のみです。
本ノードは
.Dv NGM_TEXT_STATUS
制御メッセージはまだサポートしていません。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -width foobarbaz
.It Dv ethernet
通常、イーサネットノードに接続されるべきフックです。
.It Dv debug
現在使用されていません。
.It Dv [unspecified]
他の名前は、
PPP クライアントエージェントまたは ppp サーバエージェントに接続される、
セッションフックであると見倣されます。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージをサポートし、
更に次のものもサポートします:
.Bl -tag -width foo
.It Dv NGM_PPPOE_GET_STATUS
本コマンドは状態情報を
.Dv "struct ngpppoestat"
に入れて返します:
.Bd -literal -offset 4n
struct ngpppoestat {
u_int packets_n; /* ethernet から来たフレーム数 */
u_int packets_out; /* ethernet へ送られたフレーム数*/
};
.Ed
.It Dv NGM_TEXT_STATUS
この汎用メッセージは、人間が読める形式のノード状態を返します。
(未実装です)
.It Dv NGM_PPPOE_CONNECT
指定された新規作成フックに対し、
そのセッションがクライアントとなる方法で状態機械に入るよう通知します。
フックは新規作成である必要があり、
サービス名は引数として指定可能です。
長さ 0 のサービス名の指定も正当です。
これはある種の DSL 設定ではよくあることです。
セッション要求パケットはイーサネット上でブロードキャストされます。
本コマンドは、後述の
.Dv ngpppoe_init_data
構造体を使用します。
.It Dv NGM_PPPOE_LISTEN
指定された新規作成フックに対し、
そのセッションがサーバリスナ (server listener) となる方法で
状態機械に入るよう通知します。
指定される引数は、listen 対象のサービス名です。
サービス長が長さ 0 の場合、すべてのサービス要求にマッチします。
マッチしたサービス要求は、変更されずに、
そのサービス開始に責任があるプロセスに渡されます。
このプロセスは、
この要求を検査して、要求に答えるために開始されるセッションへ渡します。
本コマンドは、後述の
.Dv ngpppoe_init_data
構造体を使用します。
.It Dv NGM_PPPOE_OFFER
指定された新規作成フックに対し、
そのセッションがサーバとなる方法で状態機械に入るよう通知します。
指定される引数は、提供するサービス名です。
長さ 0 のサービスも正当です。
状態機械は、起動サーバから要求パケットが転送されるのを待つ状態へ進みます。
一方、起動サーバは、
このパケットをおそらく LISTEN モードフック (前述) から受け取ったのでしょう。
このようにして、
元のセッション要求パケットに埋め込まれているセッションが必要とする情報は、
最終的にこの要求に対して応答する状態機械が使用可能となります。
セッション要求パケット受信時に、セッションネゴシエーションは進捗します。
本コマンドは、後述の
.Dv ngpppoe_init_data
構造体を使用します。
.Pp
前述の 3 個のコマンドは共通のデータ構造体を使用します:
.Bd -literal -offset 4n
struct ngpppoe_init_data {
char hook[NG_HOOKLEN + 1]; /* 監視するフック */
u_int16_t data_len; /* サービス名の長さ */
char data[0]; /* 初期データはここです */
};
.Ed
.It Dv NGM_PPPOE_SUCCESS
本コマンドは、
本セッションを上記のいずれか 1 個のメッセージで開始したノードへ送られます。
本メッセージはセッションネゴシエーションの成功を報告します。
本コマンドは後述の構造体を使用し、
成功したセッションに対応するフック名を報告します。
.It Dv NGM_NGM_PPPOE_FAIL
本コマンドは、
本セッションを上記のいずれか 1 個のメッセージで開始したノードへ送られ、
状態変更を報告します。
本メッセージはセッションネゴシエーションの失敗を報告します。
本コマンドは後述の構造体を使用し、
失敗したセッションに対応するフック名を報告します。
本メッセージ送信直後にそのフックが削除されたかもしれません。
.It Dv NGM_NGM_PPPOE_CLOSE
本コマンドは、
本セッションを上記のいずれか 1 個のメッセージで開始したノードへ送られ、
状態変更を報告します。
本メッセージはセッションクローズ要求を報告します。
後述の構造体を使用し、
クローズされたセッションに対応するフックの名前を報告します。
本メッセージ送信直後にそのフックが削除されたかもしれません。
現在、このメッセージはまだ使用されておらず、
代りに「失敗した」というメッセージがクローズ時に受信されます。
.Pp
前述の 3 個のコマンドは共通のデータ構造体を使用します:
.Bd -literal -offset 4n
struct ngpppoe_sts {
char hook[NG_HOOKLEN + 1]; /* イベントセッションに
関連するフック */
};
.El
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときか、
.Dv ethernet
フックが切断されたときにシャットダウンします。
.Sh 使用例
次のコードは、
.Dv libnetgraph
を使用して、
.Nm
ードを設定し、socket ノードとイーサネットノードへ接続します。
.Nm
ノードが既にイーサネットに接続している場合も扱えます。
その後、クライアントセッションを開始します。
.Bd -literal
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <unistd.h>
#include <sysexits.h>
#include <errno.h>
#include <err.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <net/ethernet.h>
#include <netgraph.h>
#include <netgraph/ng_ether.h>
#include <netgraph/ng_pppoe.h>
#include <netgraph/ng_socket.h>
static int setup(char *ethername, char *service, char *sessname,
int *dfd, int *cfd);
int
main()
{
int fd1, fd2;
setup("xl0", NULL, "fred", &fd1, &fd2);
sleep (30);
}
static int
setup(char *ethername, char *service, char *sessname,
int *dfd, int *cfd)
{
struct ngm_connect ngc; /* connect */
struct ngm_mkpeer mkp; /* mkpeer */
/******** nodeinfo 関連 **********/
u_char rbuf[2 * 1024];
struct ng_mesg *const resp = (struct ng_mesg *) rbuf;
struct hooklist *const hlist
= (struct hooklist *) resp->data;
struct nodeinfo *const ninfo = &hlist->nodeinfo;
int ch, no_hooks = 0;
struct linkinfo *link;
struct nodeinfo *peer;
/**** pppoe セッションの接続用メッセージ *****/
struct {
struct ngPPPoE_init_data idata;
char service[100];
} message;
/******** 小さなグラフのトラッキング用 ********/
char path[100];
char source_ID[NG_NODELEN + 1];
char pppoe_node_name[100];
int k;
/*
* データと制御のソケットの作成
*/
if (NgMkSockNode(NULL, cfd, dfd) < 0) {
return (errno);
}
/*
* 問い合わせ情報に名前を尋ねることで、
* 要求された名前の ethernet ノードを探します
*/
if (strlen(ethername) > 16)
return (EINVAL);
sprintf(path, "%s:", ethername);
if (NgSendMsg(*cfd, path, NGM_GENERIC_COOKIE,
NGM_LISTHOOKS, NULL, 0) < 0) {
return (errno);
}
/*
* コマンドが受け付けられたので、存在します。
* 応答を待ちます (ほとんどの場合確実に既に待っているでしょう)。
*/
if (NgRecvMsg(*cfd, resp, sizeof(rbuf), NULL) < 0) {
return (errno);
}
/**
* 次の情報がノードに関して使用可能です:
* ninfo->name (文字列)
* ninfo->type (文字列)
* ninfo->id (u_int32_t)
* ninfo->hooks (u_int32_t) (フック数)
* 正しい型であることを確認してください。
* 後で mkpeer で使用する ID を取得します。
*/
if (strncmp(ninfo->type, NG_ETHER_NODE_TYPE,
strlen(NG_ETHER_NODE_TYPE)) != 0) {
return (EPROTOTYPE);
}
sprintf(source_ID, "[%08x]:", ninfo->id);
/*
* 既に接続されているフックを探します。
*/
for (k = 0; k < ninfo->hooks; k++) {
/**
* 次の情報が各フックに関して使用可能です:
* link->ourhook (文字列)
* link->peerhook (文字列)
* peer->name (文字列)
* peer->type (文字列)
* peer->id (u_int32_t)
* peer->hooks (u_int32_t)
*/
link = &hlist->link[k];
peer = &hlist->link[k].nodeinfo;
/* debug フックを無視します */
if (strcmp("debug", link->ourhook) == 0)
continue;
/* みなしごのフックが接続された場合、それを使用します */
if (strcmp(NG_ETHER_HOOK_ORPHAN,
link->ourhook) == 0) {
break;
}
/* 他のオプションは 'divert' フックです */
if (strcmp("NG_ETHER_HOOK_DIVERT",
link->ourhook) == 0) {
break;
}
}
/*
* ここでフックを発見したかを確認します。
*/
if (k < ninfo->hooks) {
if (strcmp(peer->type, NG_PPPOE_NODE_TYPE) == 0) {
/*
* タイプ pppoe の場合、自分自身での作成は
* スキップし、既存のものを使用して継続します。
*/
sprintf(pppoe_node_name, "[%08x]:", peer->id);
} else {
/*
* 既に誰かがデータを一人占めしているので、
* エラーを返します。
* いつの日にか、デイジチェーンをサポート
* する予定です。
*/
return (EBUSY);
}
} else {
/*
* ノード "ID" に対し、
* フック NG_ETHER_HOOK_ORPHAN 上で、
* タイプ pppoe のノード作成を試みます。
*/
snprintf(mkp.type, sizeof(mkp.type),
"%s", NG_PPPOE_NODE_TYPE);
snprintf(mkp.ourhook, sizeof(mkp.ourhook),
"%s", NG_ETHER_HOOK_ORPHAN);
snprintf(mkp.peerhook, sizeof(mkp.peerhook),
"%s", NG_PPPOE_HOOK_ETHERNET);
/* メッセージを送信します */
if (NgSendMsg(*cfd, source_ID, NGM_GENERIC_COOKIE,
NGM_MKPEER, &mkp, sizeof(mkp)) < 0) {
return (errno);
}
/*
* 新規ノードの名前に関して作業します。
*/
sprintf(pppoe_node_name, "%s:%s",
source_ID, NG_ETHER_HOOK_ORPHAN);
}
/*
* この時点で、pppoe ノードがイーサネットカードに接続されました。
* イーサネットは ethername: でアドレスされます。
* これに接続された pppoe ノードは pppoe_node_name: で
* アドレスされます。
* socket ノードを指定されたノードに接続します。
* リンクの両端で同じフック名を使用します。
*/
snprintf(ngc.path, sizeof(ngc.path), "%s", pppoe_node_name);
snprintf(ngc.ourhook, sizeof(ngc.ourhook), "%s", sessname);
snprintf(ngc.peerhook, sizeof(ngc.peerhook), "%s", sessname);
if (NgSendMsg(*cfd, ".:", NGM_GENERIC_COOKIE,
NGM_CONNECT, &ngc, sizeof(ngc)) < 0) {
return (errno);
}
/*
* メッセージを送り、開始するよう通知します。
*/
bzero(&message, sizeof(message));
snprintf(message.idata.hook, sizeof(message.idata.hook),
"%s", sessname);
if (service == NULL) {
message.idata.data_len = 0;
} else {
snprintf(message.idata.data,
sizeof(message.idata.data), "%s", service);
message.idata.data_len = strlen(service);
}
/* セッション/フックへ、クライアントとして開始するよう通知します。
if (NgSendMsg(*cfd, ngc.path,
NGM_PPPOE_COOKIE, NGM_PPPOE_CONNECT, &message.idata,
sizeof(message.idata) + message.idata.data_len) < 0) {
return (errno);
}
return (0);
}
.Ed
.Sh 関連項目
.Xr netgraph 3 ,
.Xr netgraph 4 ,
.Xr ng_socket 8 ,
.Xr ng_ppp 8 ,
.Xr ngctl 8
.Rs
.%A L. Mamakos
.%A K. Lidl
.%A J. Evarts
.%A D. Carrel
.%A D. Simone
.%A R. Wheeler
.%T "A Method for transmitting PPP over Ethernet (PPPoE)"
.%O RFC 2516
.Re
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,140 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/pptpgre/ng_pptpgre.8,v 1.1.2.2 1999/12/10 19:31:33 archie Exp %
.\" $Whistle: ng_pptpgre.8,v 1.2 1999/12/08 00:20:53 archie Exp $
.\"
.\" jpman %Id: ng_pptpgre.8,v 1.3 2000/01/03 03:17:39 horikawa Stab %
.Dd November 29, 1999
.Dt NG_PPTPGRE 8
.Os FreeBSD
.Sh 名称
.Nm ng_pptpgre
.Nd PPP プロトコル netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_pptpgre.h>
.Sh 解説
.Nm pptpgre
ノードタイプは RFC 2637 に明記された PPTP プロトコルのための
Generic Routing Encapsulation (GRE) over IP を行ないます。
これはパケットのカプセル化、シーケンシング、確認応答、
適応型タイムアウトスライディングウィンドウの機構
と関係します。
このノードタイプは、いかなる TCP 制御プロトコルも操作しませんし、
PPTP で定義されるネゴシエーションも呼び出しません。
.Pp
このノードタイプの典型的な使い方は、
.Xr ng_ppp 8
ノードのリンクフックの一つへ上位の (
.Dv upper
) フックを接続し、
.Xr ng_ksocket 8
ノードの
.Dv "inet/raw/gre"
フックへ下位の (
.Dv lower
) フックを接続するというものでしょう。
.Sh フック
このノードタイプは以下のフックをサポートします。
.Pp
.Bl -tag -compact -width vjc_vjuncomp
.It Dv upper
上位のプロトコル階層への接続
.It Dv lower
下位のプロトコル階層への接続
.El
.Pp
.Sh 制御メッセージ
このノードタイプは汎用制御メッセージをサポートし、
さらに以下のものをサポートします。
.Bl -tag -width foo
.It Dv NGM_PPTPGRE_SET_CONFIG
このコマンドは、セッション用にノードをリセットし、設定します。
このコマンドは、
.Dv "struct ng_pptpgre_conf"
を引数にとります。
.Bd -literal -offset 0
/* セッションの設定 */
struct ng_pptpgre_conf {
u_char enabled; /* トラフィックフロー有効化 */
u_char enableDelayedAck; /* 遅延確認応答有効化 */
u_int16_t cid; /* 自分の call id */
u_int16_t peerCid; /* 相手の call id */
u_int16_t recvWin; /* 相手の受信ウィンドウサイズ */
u_int16_t peerPpd; /* 相手のパケット処理遅延
( 1/10 秒単位 ) */
};
.Ed
.Dv enabled
フィールドは、ノードを通過するトラフィックを有効にします。
.Dv enableDelayedAck
フィールドは、遅延確認応答 (最大で 250 ミリ秒) を有効にします。
これは最適化に役立つので大抵はオンにされるべきです。
残りのフィールドは仮想的な PPTP 呼び出しを確立する過程で与えられます。
.It Dv NGM_PPTPGRE_GET_CONFIG
現在の設定を
.Dv "struct ng_pptpgre_conf"
として返します。
.El
.Sh シャットダウン
このノードは
.Dv NGM_SHUTDOWN
制御メッセージを受け取るか、
両方のフックの接続が切れたときにシャットダウンします。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_ksocket 8 ,
.Xr ng_ppp 8 ,
.Xr ngctl 8
.Rs
.%A K. Hamzeh
.%A G. Pall
.%A W. Verthein
.%A J. Taarud
.%A W. Little
.%A G. Zorn
.%T "Point-to-Point Tunneling Protocol (PPTP)"
.%O RFC 2637
.Re
.Rs
.%A S. Hanks
.%A T. \&Li
.%A D. Farinacci
.%A P. Traina
.%T "Generic Routing Encapsulation over IPv4 networks"
.%O RFC 1702
.Re
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,109 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/rfc1490/ng_rfc1490.8,v 1.3.2.1 1999/11/17 07:23:55 julian Exp %
.\" $Whistle: ng_rfc1490.8,v 1.4 1999/01/25 23:46:27 archie Exp $
.\"
.Dd January 19, 1999
.\" jpman %Id: ng_rfc1490.8,v 1.3 1999/12/20 00:21:49 mitchy Stab %
.Dt NG_RFC1490 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_rfc1490
.Nd RFC 1490 netgraph ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_rfc1490.h>
.Sh 解説
.Nm rfc1490
ードタイプは、RFC 1490 (その後 RFC 2427 によって更新されています) に
従った、プロトコルのカプセル化、非カプセル化、そして多重化を行います。
このカプセル化タイプは、
フレームリレーにおける DLCI チャネルの上部にて、
しばしば用いられます。
.Pp
.Dv downstream
フックはカプセル化されたフレームの送信および受信に利用されます。
ノードの反対側では、
.Dv inet
.Dv ppp
フックがそれぞれ生 IP フレームと PPP フレームの送信および受信に使用されます。
PPP フレームは RFC 1973 に従って送信および受信が行われます;
特に
.Dv ppp
フックに到着するフレームは、PPP プロトコル番号から始まります。
.Pp
特に
.Dv inet
フックは
.Xr ng_iface 8
ノード内の
.Dv inet
フックに接続されます。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -width foobarbazum
.It Dv downstream
RFC 1490 対向エンティティへ接続します。
.It Dv inet
生 IP フレームの送信と受信を行います。
.It Dv ppp
PPP フレームの送信と受信を行います。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージのみをサポートします。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh バグ
RFC 1490 の全てが、実装されているわけではありません。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_frame_relay 8 ,
.Xr ng_iface 8 ,
.Xr ngctl 8
.Rs
.%A C. Brown, A. Malis
.%T "Multiprotocol Interconnect over Frame Relay"
.%O RFC 2427
.Re
.Rs
.%A W. Simpson
.%T "PPP in Frame Relay"
.%O RFC 1973
.Re
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,189 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/socket/ng_socket.8,v 1.4.2.3 1999/11/21 23:21:13 julian Exp %
.\" $Whistle: ng_socket.8,v 1.5 1999/01/25 23:46:27 archie Exp $
.\"
.Dd January 19, 1999
.\" jpman %Id: ng_socket.8,v 1.3 2000/01/03 03:14:54 horikawa Stab %
.Dt NG_SOCKET 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_socket
.Nd netgraph ソケットノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_message.h>
.Fd #include <netgraph/ng_socket.h>
.Sh 解説
.Nm socket
ノードは BSD ソケットであると同時に、netgraph ノードでもあります。
.Nm socket
ノードタイプを使うことで、ユーザモードプロセスが
BSD ソケットインタフェースを用いて、カーネル中の
.Xr netgraph 4
ネットワークサブシステムに関与できます。
netgraph ソケットを作成するには、プロセスは root 権限が必要ですが、
一旦作成されたソケットの場合、これを保持するプロセスならば
使用できます。
.Pp
新しい
.Nm socket
ノードを生成するには、
.Xr socket 2
システムコールを用いて、
プロトコルファミリ
.Dv PF_NETGRAPH
に属する
.Dv NG_CONTROL
型のソケットを新たに生成します。
このノードにより受信され、クッキーの値として
.Dv NGM_SOCKET_COOKIE
を持たない制御メッセージは、そのプロセスが
.Xr recvfrom 2
を用いて受信します。このとき、
ソケットアドレス引数は、送信側の netgraph アドレスを含む構造体
.Dv "struct sockaddr_ng"
です。逆に、
受信側のアドレスを構造体
.Dv "struct sockaddr_ng"
に入れて
.Xr sendto 2
を呼び出すことにより、どのようなノードに対しても制御メッセージを送信
できます。
.Xr bind 2
システムコールを用いて、大域 netgraph 名をノードに割り振る
ことができます。
.Pp
netgraph データパケットを送受信するためには、制御ソケットに加えて、
.Xr socket 2
を用いて
.Dv NG_DATA
ソケットを生成し、
.Nm socket
ノードに関連付ける必要があります。
.Dv NG_DATA
ソケットは、それらに関連するノードを自動的に持つわけではありません。
.Xr connect 2
システムコールを用いてノードを指定して結合します。
アドレス引数は、すでに生成した
.Nm socket
ノードの netgraph アドレスです。
1 回データソケットをノードに関連付けてしまうと、そのノードが
受信したすべてのデータパケットは
.Xr recvfrom 2
により読み込まれます。
そして、そのノードから送出されるすべてのパケットを
.Xr sendto 2
により書き出します。
データソケットの場合、構造体
.Dv "struct sockaddr_ng"
は、データを受信した
.Em フック(hook)
もしくは書き出すべき
.Em フック
の名前を含みます。
.Pp
特別な場合として、単純なプログラムで、netgraph データソケットを
標準入出力として使用できるようにする際には、
NULL の sockaddr ポインタを指定して
.Xr sendto 2
を呼び出すか、
.Xr send 2
か、
.Xr write 2
を呼び出しますが、これが成功するのは、
そのソケットノードにフックがちょうど一つだけ割り付けられて
(パスがあいまいさなく決定できて) いる場合に限ります
.Pp
netgraph ソケットを簡単に利用できるようにするためのユーザライブラリが
あります。
.Xr netgraph 3
を参照して下さい。
.Sh フック
このノードタイプは、(一意性がある限り) 任意の名前を持つフックをサポート
します。また、フックへの接続要求を常に受理します。
.Sh 制御メッセージ
このノードタイプは、汎用の制御メッセージに加えて、次に示す制御メッセージを
サポートします。
.Bl -tag -width foo
.It Dv NGM_SOCK_CMD_NOLINGER
このノードから最後のフックが削除されたときに、
.Dv NGM_SHUTDOWN
を受信したかのようにシャットダウンします。関連するソケットへのアクセスは、
.Er ENOTCONN
を返します。
.It Dv NGM_SOCK_CMD_LINGER
これは、デフォルトのモードです。最後のフックが削除されても、
ノードは存在し続けます。明示的にシャットダウンされない限り、
新しいフックを受理できる状態のままです。
.El
.Pp
.Dv NGM_SOCKET_COOKIE
.Dv NGM_GENERIC_COOKIE
以外のすべてのメッセージは、変更されずに
.Dv NG_CONTROL
ソケットに渡されます。
.Sh シャットダウン
このノードタイプは、関連付けられている
.Dv NG_CONTROL
.Dv NG_DATA
ソケットが既にクローズされているか、
.Dv NGM_SHUTDOWN
制御メッセージを受信した場合に、シャットダウンされ、消滅します。
後の場合、オープンされているソケットに書き込もうとすると、
.Er ENOTCONN
が返されます。
既に
.Dv NGM_SOCK_CMD_NOLINGER
メッセージを受信していると、最後のフックをクローズすると同時に
そのノードのシャットダウン処理が開始されます。
.Sh バグ
どのようなデータを受信しても確実に無視できるようにフックを設定することが
できるにもかかわらず、
フックへの接続を拒否することはできません。
.Pp
カーネル内ノードに通知されるイベント (たとえば、新規フック、フック削除
など) のすべてが制御プロセスに通知されません。この目的のためには、
(制御ソケットに送出するために) ノードが発信するメッセージを
いくつか定義する必要があります。
.Sh 関連項目
.Xr socket 2 ,
.Xr netgraph 3 ,
.Xr netgraph 4 ,
.Xr ng_ksocket 8 ,
.Xr ngctl 8
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,122 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/tee/ng_tee.8,v 1.4.2.1 1999/11/17 07:23:57 julian Exp %
.\" $Whistle: ng_tee.8,v 1.4 1999/01/25 23:46:27 archie Exp $
.\"
.Dd January 19, 1999
.\" jpman %Id: ng_tee.8,v 1.3 1999/12/27 00:45:07 mitchy Stab %
.Dt NG_TEE 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_tee
.Nd netgraph ``tee'' ノードタイプ
.Sh 書式
.Fd #include <netgraph/ng_tee.h>
.Sh 解説
.Nm tee
ノードタイプには
.Xr tee 1
と同じような用途があります。
.Nm tee
ードは、2 つの netgraph ノード間接続をデバッグするとき、
あるいは ``覗き見る'' ときに役立ちます。
.Nm tee
ノードは
.Dv right
および
.Dv left ,
.Dv right2left ,
.Dv left2right
の、 4 つのフックを持っています。
.Dv right
で受信された全てのデータは
.Dv left
.Dv right2left
.Em 両方の
フックに、無加工の状態で送り出されます。
同様に、
.Dv left
で受信された全てのデータは
.Dv right
.Dv left2right
両方のフックに無加工の状態で送り出されます。
.Pp
パケットは
.Dv right2left
.Dv left2right
でも受信します;
受信した場合にはそれぞれ、
.Dv left
および
.Dv right
のフックへ、パケットは元のままで送り出されます。
.Sh フック
このノードタイプは次に挙げるフックをサポートしています:
.Pp
.Bl -tag -width foobarbarfoo
.It Dv right
右側にあるノードとの接続。
.It Dv left
左側にあるノードとの接続。
.It Dv right2left
右から左に流れるパケットのタップ。
.It Dv left2right
右から左に流れるパケットのタップ。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージに加え、
次のメッセージをサポートします。
.Bl -tag -width foo
.It Dv NGM_TEE_GET_STATS
統計を
.Dv "struct ng_tee_stats"
の形で得ます。
.It Dv NGM_TEE_CLR_STATS
統計をクリアします。
.El
.Sh シャットダウン
本ノードは、
. NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切り離されたときに、
シャットダウンします。
.Sh 関連項目
.Xr tee 1 ,
.Xr netgraph 4 ,
.Xr ngctl 8
.Sh 作者
Julian Elischer <julian@whistle.com>

View file

@ -0,0 +1,138 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/tty/ng_tty.8,v 1.3.2.1 1999/11/17 07:23:59 julian Exp %
.\" $Whistle: ng_tty.8,v 1.5 1999/01/25 23:46:28 archie Exp $
.\"
.\" jpman %Id: ng_tty.8,v 1.2 1999/12/29 10:29:20 horikawa Stab %
.Dd January 19, 1999
.Dt NG_TTY 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_tty
.Nd 回線規約でもある netgraph ノードタイプ
.Sh 書式
.Fd #include <sys/ttycom.h>
.Fd #include <netgraph/ng_message.h>
.Fd #include <netgraph/ng_tty.h>
.Sh 解説
.Nm tty
ノードタイプは、
netgraph ノードタイプであると同時に、回線規約でもあります。
新規ノードは、対応する回線規約
.Dv NETGRAPHDISC
が tty デバイス (
.Xr tty 4
参照) に登録された時に、生成されます。
.Pp
本ノードは、
.Dv hook
と呼ばれる単一のフックを持ちます。
tty デバイス上で受信される入力バイトは、このフックから送出され、
.Dv hook
上で受信されるフレームは tty デバイスから送出されます。
どちらの方向においても、データの修正は行われません。
回線規約が tty にインストールされている間は、
通常の読み込みと書き込みの操作は利用できず、
.Er EIO
を返します。
.Pp
本ノードは、オプションの「ホット文字 ``hot character''」をサポートします。
これを非 0 に設定すると、tty デバイスからの入力データは、
この文字が入力されるまで蓄えられます。
これにより、少数バイトを含む多数の mbuf の送信を避けられますが、
無限遅延を起こしてしまう可能性もあります。
デフォルトのホット文字は 0x7e であり、
.Xr ng_async 8
タイプノードに接続される
.Dv hook
と一貫性があります。
ホット文字は、送信データへの影響を持ちません。
.Pp
ードは、tty デバイスと同じ netgraph 名を、自己に与えようとします。
いかなる場合でも、ードの情報は、netgraph の
.Xr ioctl 2
コマンド
.Dv NGIOCGINFO
で利用可能です。
本コマンドは、
.Dv NGM_NODEINFO
netgraph 制御メッセージに似た、単一の
.Dv "struct nodeinfo"
を返します。
.Sh フック
本ノードタイプは、次のフックをサポートします:
.Pp
.Bl -tag -width foobar
.It Dv hook
.Dv mbuf
構造体に格納された、任意のフレーム間境界の、
.Xr tty 4
シリアルデータ。
.El
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージをサポートし、
更に次のものもサポートします:
.Bl -tag -width foo
.It Dv NGM_TTY_SET_HOTCHAR
本コマンドは、単一の整数引数を取り、
下位 8 ビットからホット文字を設定します。
ホット文字 0 は、キューイングを無効にしますので、
全受信データは即座に転送されます。
.It Dv NGM_TTY_GET_HOTCHAR
下位 8 ビットに現在のホット文字を格納した、単一整数を返します。
.Sh シャットダウン
本ノードは、対応するデバイスがクローズされたとき
(またはデバイス上から回線規約がアンインストールされたとき) に、
シャットダウンします。
.Dv NGM_SHUTDOWN
制御メッセージは無効であり、常にエラー
.Er EOPNOTSUPP
を返します。
.Sh バグ
シリアルドライバコードもまた「ホット文字」の概念を持ちます。
この値は回線規約のもとに静的に定義されているため、変更不可能です。
それ故、0x7e (デフォルト) 以外のホット文字が
.Nm tty
ノード用に定義されると、
本ノードはこの情報をシリアルドライバへ伝える方法を持たないため、
準最適な性能になってしまいます。
.Sh 関連項目
.Xr ioctl 2 ,
.Xr netgraph 4 ,
.Xr tty 4 ,
.Xr ng_async 8 ,
.Xr ngctl 8
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,211 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" Author: Archie Cobbs <archie@whistle.com>
.\"
.\" %FreeBSD: src/sys/modules/netgraph/vjc/ng_vjc.8,v 1.5.2.1 1999/11/17 07:24:00 julian Exp %
.\" $Whistle: ng_vjc.8,v 1.4 1999/01/25 23:46:28 archie Exp $
.\"
.\" jpman %Id: ng_vjc.8,v 1.2 1999/12/29 10:29:26 horikawa Stab %
.Dd January 19, 1999
.Dt NG_VJC 8
.Os FreeBSD 4.0
.Sh 名称
.Nm ng_vjc
.Nd Van Jacobsen 圧縮 netgraph ノードタイプ
.Sh 書式
.Fd #include <net/slcompress.h>
.Fd #include <netgraph/ng_vjc.h>
.Sh 解説
.Nm vjc
ードタイプは、Van Jacobsen 圧縮を行います。
これは、PPP や SLIP や他の point-to-point IP 接続において、
TCP パケットヘッダ圧縮に使用されます。
.Dv ip
フックは、本ノードの未圧縮側を表し、
.Dv vjcomp ,
.Dv vjuncomp ,
.Dv vjip
フックは、本ノードの圧縮側を表します。
.Dv ip
上で受信されたパケットは、必要に応じて圧縮され通過します。
他の 3 つのフック上で受信されたパケットは、必要に応じて伸長されます、
.Pp
Van Jacobsen 圧縮は、TCP パケットに対してのみ適用されます。
「通常の」(すなわち一般の) TCP パケットのみが、実際に圧縮されます。
これらは
.Dv vjcomp
フックから出力されます。
他の TCP パケットは、状態機械を通過しますが、圧縮されません。
これらは
.Dv vjuncomp
フック上に現れます。
他の非 TCP IP パケットは、無変更で
.Dv vjip
へ転送されます。
.Pp
.Xr ng_ppp 8
ノードへ接続されたとき、
.Dv ip ,
.Dv vjuncomp ,
.Dv vjcomp ,
.Dv vjip
フックは、それぞれ
.Xr ng_ppp 8
ノードの
.Dv vjc_ip ,
.Dv vjc_vjcomp ,
.Dv vjc_vjuncomp ,
.Dv vjc_ip
フックに接続されるべきです。
.Sh フック
本ノードタイプは次のフックをサポートします:
.Pp
.Bl -tag -width foobarbazi
.It Dv ip
上流 (upstream) の (非圧縮) IP パケット。
.It Dv vjcomp
下流 (downstream) の圧縮 TCP パケット。
.It Dv vjuncomp
下流 (downstream) の非圧縮 TCP パケット。
.It Dv vjip
下流 (downstream) の非圧縮 IP パケット。
.Sh 制御メッセージ
本ノードタイプは、汎用制御メッセージをサポートし、
更に次のものもサポートします:
.Bl -tag -width foo
.It Dv NGM_VJC_SET_CONFIG
本コマンドは、圧縮の状態をリセットし、指定された
.Dv "struct ngm_vjc_config"
引数に従って設定します。
この構造体は、次のフィールドを含みます:
.Bd -literal -offset 4n
struct ngm_vjc_config {
u_char enableComp; /* 圧縮を有効化します */
u_char enableDecomp; /* 伸長を有効化します */
u_char maxChannel; /* 出力チャネル数 - 1 */
u_char compressCID; /* 出力 CID の圧縮が OK */
};
.Ed
.Pp
.Dv enableComp
が 0 に設定されると、
.Dv ip
フック上で受信された全パケットが、無変更で
.Dv vjip
フックへ転送されます。
同様に、
.Dv enableDecomp
が 0 に設定されると、
.Dv vjip
フック上で受信された全パケットが無変更で
.Dv ip
フックへ転送され、
.Dv vjcomp
.Dv vjuncomp
のフック上ではパケットを受信しません。
ノードが最初に作成されたとき、圧縮と伸長は共に無効化され、
それ故本ノードは双方向「通過」モードで動作します。
.Pp
圧縮有効化時には、
.Dv maxChannel
は出力圧縮チャネル数から 1 を減じた数に設定すべきであり、
3 以上 15 以下の値となります。
また、
.Dv compressCID
フィールドは、
出力圧縮 TCP パケットの CID フィールドを圧縮しても良いかを示します。
(a) 入力フレームの喪失可能性が無い場合と、
(b) 喪失フレームが高信頼で検出可能であって、喪失時には即座に
.Dv NGM_VJC_RECV_ERROR
メッセージが送られる場合を除き、この値は 0 であるべきです。
.It Dv NGM_VJC_GET_STATE
本コマンドは、
.Dv "struct slcompress"
構造体で記述される、ノードの現在の状態を返します。
この構造体は
.Dv "net/slcompress.h"
で定義されています。
.It Dv NGM_VJC_CLR_STATS
ノードの統計情報カウンタをクリアします。
.Dv NGM_VJC_SET_CONFIG
制御メッセージにより
.Dv enableComp
または
.Dv enableDecomp
のフィールドが 0 から 1 に変更されたときにも、統計情報はクリアされます。
.It Dv NGM_VJC_RECV_ERROR
.Dv compressCID
が 1 に設定されたとき、
受信フレームの喪失をチェックサム不良や他の理由によって検出した直後に、
本メッセージが本ノードへ送られる必要があります。
この動作を行わないと、TCP ストリームデータが壊れます。
.Sh シャットダウン
本ノードは、
.Dv NGM_SHUTDOWN
制御メッセージの受信時か、全フックが切断されたときに、シャットダウンします。
.Sh バグ
Van Jacobsen 圧縮のカーネル実装における初期化ルーチンが
圧縮と伸長を両方同時に初期化してしまうため、
本ノードの圧縮と伸長を別々の操作で有効化できません。
もう一方が既に有効化されているときに一方を有効化するには、
まず両方を無効化してから、両方を有効化する必要があります。
これはもちろん、ノードの状態をリセットしてしまいます。
この制約は、将来のバージョンで解除されるかもしれません。
.Pp
ロード可能カーネルモジュールとして使用するとき、
本ノードタイプは、ファイル
.Dv "net/slcompress.c"
がカーネルに組み込まれていることを要求します。
.Dv "net/slcompress.c"
がカーネルに組み込み済の場合にはモジュールのロードは失敗すべきですが、
現在はそうなっておらず、
ファイルの複製間でのインタフェースは行われません。
しかし、この動作は将来変更されるかもしれません。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr ng_ppp 8 ,
.Xr ng_iface 8 ,
.Xr ngctl 8
.Rs
.%A V. Jacobsen
.%T "Compressing TCP/IP Headers"
.%O RFC 1144
.Re
.Rs
.%A G. McGregor
.%T "The PPP Internet Control Protocol (IPCP)"
.%O RFC 1332
.Re
.Sh 作者
Archie Cobbs <archie@whistle.com>

View file

@ -0,0 +1,128 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/usr.sbin/ngctl/ngctl.8,v 1.2.2.2 1999/12/01 19:41:41 julian Exp %
.\" $Whistle: ngctl.8,v 1.6 1999/01/20 03:19:44 archie Exp $
.\"
.\" jpman %Id: ngctl.8,v 1.3 1999/12/17 05:27:44 mitchy Stab %
.Dd January 19, 1999
.Dt NGCTL 8
.Os FreeBSD 3
.Sh 名称
.Nm ngctl
.Nd netgraph 制御ユーティリティ
.Sh 書式
.Nm ngctl
.Op Fl d
.Op Fl f Ar filename
.Op Fl n Ar nodename
.Op Ar command ...
.Sh 解説
.Nm
ユーティリティは、netgraph コマンド発行に使用可能な、
.Em socket
タイプの netgraph ノードを作成します。
.Fl f
フラグを指定せず、コマンドライン上で command を指定しない場合で、
標準入力が tty であるとき、
.Nm ngctl
は対話モードに入ります。そうでない場合、
.Nm ngctl
は与えられたコマンド (複数可) を実行し、すぐに終了します。
.Pp
ノードは、作成、削除、相互接続等が可能です。
ノードがバイナリ / ASCII 制御メッセージの変換をサポートしている場合、
そのノードに対して ASCII 形式の制御メッセージを送信可能です。
.Pp
対話モードでは、
ソケットノードが受信したすべての制御メッセージとデータパケットを
.Nm
は表示します。
制御メッセージについては、
送出元のノードが変換をサポートしている場合には、
メッセージの引数は ASCII 形式で表示されます。
.Pp
オプションは次の通りです:
.Bl -tag -width indent
.It Fl f Ar nodeinfo
指定したファイルからコマンドを読み込みます。
単一のダッシュは標準入力を示します。
空行および ``#'' から開始する行は無視されます。
.It Fl n Ar nodename
新規作成された netgraph ノードに
.Em nodename
を割り当てます。
デフォルト名は
.Em ngctlXXX
であり、 XXX はプロセス ID 番号です。
.It Fl d
デバッグ用冗長レベルを増加します。
.El
.Sh コマンド
.Nm ngctl
が現在サポートしているコマンドは次の通りです:
.Pp
.Bd -literal -offset indent -compact
connect 2 個のノードの接続
debug デバッグ用冗長レベルの取得/設定
help コマンドサマリの表示またはコマンドヘルプの取得
list 全ノードの情報表示
mkpeer 新規ノードを作成し既存ノードへ接続
msg ノードに対する ASCII 形式メッセージの送信
name ノードへの名前割り当て
read ファイルからのコマンド読み込みと実行
rmhook ノードフックの切断
show ノード情報の表示
shutdown ノードのシャットダウン
status ノードからの可読形式の状態取得
types 組み込み済の全ノードタイプの表示
quit プログラムの終了
.Ed
.Pp
コマンドには別名を持つものがあります。
例えば ``ls'' は ``list'' と同じです。
``help'' コマンドは、
使用可能なコマンドと、それらの用法と別名、短い解説を表示します。
.Sh 終了値
.Nm
ユーティリティは、成功時には 0 で終了し、エラー発生時には >0 で終了します。
.Sh 関連項目
.Xr netgraph 3 ,
.Xr netgraph 4 ,
.Xr nghook 8
.Sh 作者
Archie Cobbs <archie@whistle.com>
.Sh 歴史
.Em netgraph
システムのデザインと最初の実装は、Whistle Communications, Inc. で、
Whistle InterJet 向けにカスタマイズされた FreeBSD 2.2 で
行われました。

View file

@ -0,0 +1,87 @@
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
.\" All rights reserved.
.\"
.\" Subject to the following obligations and disclaimer of warranty, use and
.\" redistribution of this software, in source or object code forms, with or
.\" without modifications are expressly permitted by Whistle Communications;
.\" provided, however, that:
.\" 1. Any and all reproductions of the source or object code must include the
.\" copyright notice above and the following disclaimer of warranties; and
.\" 2. No rights are granted, in any manner or form, to use Whistle
.\" Communications, Inc. trademarks, including the mark "WHISTLE
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
.\" such appears in the above copyright notice or in the software.
.\"
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/usr.sbin/nghook/nghook.8,v 1.1.2.1 1999/11/17 07:06:04 julian Exp %
.\" $Whistle: nghook.8,v 1.4 1999/01/20 03:19:45 archie Exp $
.\"
.\" jpman %Id: nghook.8,v 1.3 1999/12/17 05:28:07 mitchy Stab %
.Dd January 19, 1999
.Dt NGHOOK 8
.Os FreeBSD 3
.Sh 名称
.Nm nghook
.Nd
.Xr netgraph 8
ノードへ接続する
.Sh 書式
.Nm
.Op Fl a
.Op Fl d
.Ar path
.Op Ar hookname
.Sh 解説
.Nm
.Xr netgraph 8
ソケットタイプノードを作成し、これを
.Ar path
にあるノードのフック
.Ar hookname
へ接続します。
.Ar hookname
が省略されると、``debug'' を指定したものとされます。
.Pp
接続されると、標準入力へ書き込まれる全データがこのノードに送られ、
このノードから受け取る全データが標準出力へ渡されます。
.Pp
オプションは次の通りです:
.Pp
.Bl -tag -width indent
.It Fl a
各読み込みパケットを ASCII で出力します。
.It Fl d
デバッグ用冗長レベルを増加します。
.El
.Sh バグ
全入力はバッファリングしないモードで読み込みますが、
入力のパケット化を制御する方法はありません。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr netgraph 3 ,
.Xr ngctl 8
.Sh 作者
Archie Cobbs <archie@whistle.com>
.Sh 歴史
.Em netgraph
システムのデザインと最初の実装は、Whistle Communications, Inc. で、
Whistle InterJet 向けにカスタマイズされた FreeBSD 2.2 で
行われました。

View file

@ -0,0 +1,186 @@
.\"-
.\" Copyright (c) 1999 Brian Somers <brian@Awfulhak.org>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/libexec/pppoed/pppoed.8,v 1.2.4.1 1999/11/28 16:26:51 brian Exp %
.\"
.\" jpman %Id: pppoed.8,v 1.3 1999/12/17 05:28:31 mitchy Stab %
.Dd November 8, 1999
.Dt PPPOED 8
.Os FreeBSD
.Sh 名称
.Nm pppoed
.Nd PPP over Ethernet の待ち受けを扱う
.Sh 書式
.Nm pppoed
.Op Fl Fd
.Op Fl P Ar pidfile
.Op Fl a Ar name
.Op Fl e Ar exec
.Op Fl p Ar provider
.Ar interface
.Sh 解説
.Nm
プログラムは、指定された
.Ar interface
に対して PPP over Ethernet (PPPoE) サービス要求パケットを listen し、
このパケットへの対応として、セッション交渉後に
.Em PPP
プログラムを起動します。
交渉は
.Dq pppoe
netgraph ノードとして実装されています。
詳細は
.Xr ng_pppoe 8
を参照してください。
.Pp
.Nm
は、指定された
.Ar provider
からサービスを要求しているクライアントに対してのみ、サービスを提供します。
.Ar provider
は、指定されない場合には空の名前とされます。
.Ar provier
名として
.Dq \&*
が指定されると、すべての PPPoE 要求に対してサービスが提供されます。
.Pp
指定した
.Ar name
は、接続確立時に、アクセス集中者 (access concentrator) 名として与えられます。
.Ar name
を指定しないと、現在のベースホスト名が使用されます。
.Pp
PPPoE netgraph ノードからの要求 (PADI) 受信後は、
.Nm
は子プロセスを
.Xr fork 2
し、更なる要求へサービスするために戻ります。
子プロセスは
.Po
.Ar name
を使用して
.Pc
サービスを提供し、PPPoE ノードからの
.Dv 「成功」
表示を待ちます。
「成功」表示を受けると、
.Nm
は次のコマンドをシェルのサブプロセスとして実行します。
.Pp
.D1 Ic exec /usr/sbin/ppp -direct Ar provider
.Pp
.Ar exec
引数を使用することにより、別のコマンドを指定可能です。
.Ar provider
を指定しない場合には、これは必須です。
この子プロセスは開始時に、標準入力と標準出力が、同じ
.Xr netgraph 4
データソケット
.Po
.Xr ng_socket 8
参照
.Pc
へ接続されます。
.Pp
.Nm
は起動時に、
.Dq Ar interface Ns No \&:
をノード名として使用し、
.Dq pppoe
netgraph ノードを適切な
.Dq ether
ノードへ接続します。その後この
.Dq pppoe
ノードをローカルの
.Dq socket
ノードへ接続します。
.Fl F
フラグを指定しないと、
.Nm
はバックグラウンドモードへ移行し、制御端末を切り離します。
.Fl F
を指定すると、
.Nm
はフォアグラウンドにとどまります。
.Pp
.Fl d
フラグを指定すると、追加の診断機能が提供されます (後述の
.Sx 診断
を参照してください)。
.Pp
.Ar pidfile
を指定すると、
.Nm
は起動時に、自己のプロセス ID をこのファイルへ書き込みます。
.Sh 診断
前述のように必要な
.Xr netgraph 4
ノードを作成した後では、
.Nm
.Xr syslogd 8
を使用し、全ての受け付けた接続を報告します。
.Fl d
を指定すると、
.Nm
は新規 netgraph ソケットでの子プロセス生成と、
そのサービス提供、
.Em PPP
プログラムの起動に関して報告します。
.Pp
.Pa /etc/syslog.conf
.Pp
.Dl !pppoed
.Dl *.* /var/log/pppoed.log
.Pp
を追加し、
.Pa /etc/newsyslog.conf
.Pp
.Dl /var/log/pppoed.log 640 3 100 * Z
.Pp
を追加すると便利な場合があります。
.Sh 関連項目
.Xr netgraph 4 ,
.Xr syslog.conf 5 ,
.Xr ng_pppoe 8 ,
.Xr ng_socket 8 ,
.Xr ppp 8 ,
.Xr syslogd 8
.Sh バグ
指定したインタフェースを他の netgraph ノードが使用している場合、
.Nm
は開始できません。現在の
.Xr netgraph 4
は、ノードの連鎖を許していないためです。
将来これは変更されるかもしれません。
.Sh 歴史
.Nm
プログラムは
.An Brian Somers Aq brian@Awfulhak.org
が記述し、
.Fx 3.4
で初登場しました。

View file

@ -365,7 +365,6 @@ Leap 1974 Dec 31 23:59:60 + S
/usr/share/zoneinfo 作成されたファイルが置かれる標準ディレクトリ
.El
.Sh 関連項目
.Sh "SEE ALSO"
.Xr ctime 3 ,
.Xr tzfile 5 ,
.Xr zdump 8