From owner-man-jp-reviewer@jp.FreeBSD.org Mon Sep 30 19:10:36 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g8UAAaP41156;
	Mon, 30 Sep 2002 19:10:36 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from shiva.tri.asanuma.co.jp (shiva.tri.asanuma.co.jp [210.160.188.2])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g8UAAR341139;
	Mon, 30 Sep 2002 19:10:27 +0900 (JST)
	(envelope-from mori@tri.asanuma.co.jp)
Received: from yashoda.tri.asanuma.co.jp (yashoda.tri.asanuma.co.jp [172.16.57.11])
	by shiva.tri.asanuma.co.jp (Postfix) with ESMTP
	id E900A545C; Mon, 30 Sep 2002 19:10:24 +0900 (JST)
Received: from kurishna.tri.asanuma.co.jp (kurishna.tri.asanuma.co.jp [172.16.57.2])
	by yashoda.tri.asanuma.co.jp (8.11.3nb1/8.11.3) with ESMTP id g8UAAMW28934;
	Mon, 30 Sep 2002 19:10:23 +0900 (JST)
To: horikawa@jp.FreeBSD.org, man-jp-reviewer@jp.FreeBSD.org
References: <20020926.110716.90012290.mori@tri.asanuma.co.jp>
	<20020928.224212.92587129.horikawa@attbi.com>
Siganture-File: ~/.signature
From: Mori Kouji <mori@tri.asanuma.co.jp>
In-Reply-To: <20020928.224212.92587129.horikawa@attbi.com> (Kazuo Horikawa's message of "Sat, 28 Sep 2002 22:42:12 -0600")
Message-ID: <804rc7eqk1.fsf_-_@kurishna.tri.asanuma.co.jp>
Lines: 2451
User-Agent: Nana-gnus/7.1.0.23 REMI/1.14.2 (=?ISO-2022-JP?B?GyRCJFsbKEI=?=
 =?ISO-2022-JP?B?GyRCJC8kWyQvQmdFZxsoQg==?=) Chao/1.14.1
 (=?ISO-2022-JP?B?GyRCTztDT0IiGyhC?=) APEL/10.3 Emacs/21.2 (i386--freebsd)
 MULE/5.0 (=?ISO-2022-JP?B?GyRCOC1MWhsoQg==?=)
MIME-Version: 1.0 (split by REMI 1.14.2 - =?ISO-8859-4?Q?=22Hokuhoku-=D2shi?=
 =?ISO-8859-4?Q?ma=22=29?=
Content-Type: message/partial; id="Mon_Sep_30_19:10:20_2002@kurishna.tri.asanuma.co.jp"; number=2; total=3
Reply-To: man-jp-reviewer@jp.FreeBSD.org
Precedence: list
Date: 30 Sep 2002 19:10:20 +0900
X-Sequence: man-jp-reviewer 4263
Subject: [man-jp-reviewer 4263] Re: ipfw.8 (orig. 1.63.2.23 -> 1.63.2.26) (2/3)
Errors-To: owner-man-jp-reviewer@jp.FreeBSD.org
Sender: owner-man-jp-reviewer@jp.FreeBSD.org
X-Originator: mori@kurishna.tri.asanuma.co.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020902

 .Pp
-$B%"%I%l%9$NA0$K(B
-.Cm not
-$B$rIU$1$k$3$H$K$h$C$F!"%^%C%A$N0UL#$rH?E>$5$;$k(B
-$B$3$H$,$G$-$^$9(B ($B;XDj$5$l$?%"%I%l%90J30$N$9$Y$F$N%"%I%l%9$,%^%C%A$7$^$9(B)$B!#(B
-$B$3$l$O%]!<%HHV9f$NA*Br$K$O1F6A$7$^$;$s!#(B
+$B%k!<%k$N%\%G%#$O!"DL>o$OAw?.85$H08@h%"%I%l%9$N;XDj$r4^$^$J$1$l$P$J$j$^$;$s!#(B
+$B%-!<%o!<%I(B
+.Ar any
+$B$OI,?\%U%#!<%k%I$NFbMF$,=EMW$G$J$$$3$H$r;XDj$9$k$?$a$K(B
+$BMM!9$J2U=j$G;HMQ$9$k$3$H$,$G$-$^$9!#(B
 .Pp
-TCP $B$H(B UDP $B$G$O$5$i$K!"(B
-.Em ports
-$B$r0J2<$N$h$&$K;XDj$G$-$^$9!#(B
+$B%k!<%k%\%G%#$O0J2<$N=q<0(B:
 .Bd -ragged -offset indent
-.Sm off
-.Brq Ar port | port No \&- Ar port | port : mask
-.Op , Ar port Op , Ar ...
-.Sm on
+.Op Ar proto Cm from Ar src Cm to Ar dst
+.Op Ar options
 .Ed
 .Pp
+$B:G=i$NItJ,(B (protocol from src to dst) $B$O(B
+.Nm ipfw1
+$B$H$N8eJ}8_49$N$?$a$K$"$j$^$9!#(B
+.Nm ipfw2
+$B$G$O!"G$0U$N%^%C%A%Q%?!<%s(B
+(MAC $B%X%C%@!"(BIPv4 $B%W%m%H%3%k!"%"%I%l%9!"%]!<%H$r4^$`(B)
+$B$,(B
+.Ar options
+$B%;%/%7%g%s$G;XDj$G$-$^$9!#(B
+.Pp
+$B%k!<%k%U%#!<%k%I$O0J2<$N0UL#$G$9(B:
+.Bl -tag -width indent
+.It Ar proto : protocol | Cm { Ar protocol Cm or ... }
+IPv4 $B%W%m%H%3%k(B ($B$^$?$OJ#?t$N%W%m%H%3%k$+$i$J$k(B
+.Em $BO@M}OB%V%m%C%/(B
+)
+$B$O?t;z$dL>A0$G;XDj$5$l$^$9(B
+($B40A4$J%j%9%H$O(B
+.Pa /etc/protocols
+$B$r;2>H$7$F2<$5$$(B)$B!#(B
+.Cm ip
+$B$^$?$O(B
+.Cm all
+$B$N%-!<%o!<%I$r;HMQ$9$k$H!"$9$Y$F$N%W%m%H%3%k$,%^%C%A$7$^$9!#(B
+.It Ar src No $B$*$h$S(B Ar dst : ip-address | Cm { Ar ip-address Cm or ... } Op Ar ports
+$BC10l$N(B
+.Ar ip-address
+$B$d!"(B1 $B$D0J>e$N%"%I%l%9$r4^$`(B
+.Em $BO@M}OB%V%m%C%/(B
+$B$O!"8e$KB3$1$F(B
+.Ar ports
+$B;X<(;R$r%*%W%7%g%s$GCV$/$3$H$,$G$-$^$9!#(B
+.It Ar ip-address :
+$B<!$NJ}K!(B
+($B%*%W%7%g%s$G(B
+.Cm not
+$B%*%Z%l!<%?$rA0CV$9$k$3$H$,$G$-$^$9(B)
+$B$N$$$:$l$+$G;XDj$5$l$?%"%I%l%9(B ($B$^$?$O%"%I%l%9$N%;%C%H(B):
+.Bl -tag -width indent
+.It Cm any
+$BG$0U$N(B IP $B%"%I%l%9$K%^%C%A$7$^$9!#(B
+.It Cm me
+$B%7%9%F%`$N%$%s%?%U%'!<%9$K@_Dj$5$l$?G$0U$N(B IP $B%"%I%l%9$K%^%C%A$7$^$9!#(B
+$B%"%I%l%9$N%j%9%H$O%Q%1%C%H$,2r@O$5$l$k$H$-$KI>2A$5$l$^$9!#(B
+.It Ar numeric-ip | hostname
+$B%I%C%H$G6h@Z$C$?(B 4 $B$D$N?t;z$^$?$O%[%9%HL>$G;XDj$7$?!"(B
+1 $B$D$N(B IPv4 $B%"%I%l%9$K%^%C%A$7$^$9!#(B
+$B%[%9%HL>$O$=$N%k!<%k$,%U%!%$%"%&%)!<%k$N%j%9%H$KDI2C$5$l$k$H$-$K(B
+$BL>A02r7h$,9T$o$l$^$9!#(B
+.It Ar addr Ns / Ns Ar masklen
+$B%Y!<%9$H$J$k(B
+.Ar addr
+($B%I%C%H$G6h@Z$C$?(B4$B$D$N?t;z$^$?$O%[%9%HL>$G;XDj$5$l$^$9(B)
+$B$H(B
+.Cm masklen
+$B%S%C%HI}$N%^%9%/(B
+$B$K0lCW$9$kA4$F$N%"%I%l%9$K%^%C%A$7$^$9!#(B
+$BNc$($P!"(B1.2.3.4/25 $B$O(B 1.2.3.0 $B$+$i(B 1.2.3.127 $B$^$G$N(B
+$BA4$F$N(B IP $B%"%I%l%9$K%^%C%A$9$k$3$H$K$J$j$^$9!#(B
+.It Ar addr Ns / Ns Ar masklen Ns Cm { Ns Ar num,num,... Ns Cm }
+$B%Y!<%9%"%I%l%9$,(B
+.Ar addr
+($B%I%C%H$G6h@Z$C$?(B4$B$D$N?t;z$^$?$O%[%9%HL>$G;XDj$5$l$^$9(B)
+$B$G$"$j!":G8e$N%P%$%H$,%V%l!<%9(B {} $B$NCf$KNs5s$5$l$F$$$k(B
+$BA4$F$N%"%I%l%9$K%^%C%A$7$^$9!#(B
+$B%V%l!<%9!"%3%s%^!"?t;z$N4V$K$O6uGr$rCV$$$F$O$$$1$J$$$3$H$KCm0U$7$F2<$5$$!#(B
+.Ar masklen
+$B%U%#!<%k%I$O%"%I%l%9$N%;%C%H$N%5%$%:$K@)8B$r$D$1$k$?$a$K;HMQ$5$l!"(B
+24 $B$+$i(B 32 $B$N4V$NG$0U$NCM$r$H$k$3$H$,$G$-$^$9!#(B
+.br
+$BNc$($P!"%"%I%l%9$,(B 1.2.3.4/24{128,35,55,89} $B$H$7$F;XDj$5$l$?>l9g!"(B
+$B<!$N%"%I%l%9$,%^%C%A$7$^$9(B:
+.br
+1.2.3.128 1.2.3.35 1.2.3.55 1.2.3.89
+.br
+$B$3$N=q<0$O(B 1 $B$D$N%k!<%k$G$^$P$i$J%"%I%l%972$r<h$j07$&$H$-$K(B
+$BFC$KJXMx$G$9!#(B
+$B%^%C%A$,%S%C%H%^%9%/$r;HMQ$7$F9T$o$l$k$N$G!"(B
+$B$+$+$k;~4V$O0lDj$G!"%k!<%k%;%C%H$NJ#;($5$,7`E*$K8:>/$7$^$9!#(B
+.El
+.It Ar ports : Oo Cm not Oc Bro Ar port | port Ns \&- Ns Ar port Ns Brc Op , Ns Ar ...
+$B%]!<%HHV9f$r%5%]!<%H$7$F$$$k%W%m%H%3%k(B (TCP $B$d(B UDP $B$J$I(B) $B$N$?$a$K!"(B
+$B%*%W%7%g%s$N(B
+.Cm ports
+$B$O!"(B1 $B$D0J>e$N%]!<%H$^$?$O%]!<%H$NHO0O$r6uGr$J$7$N%3%s%^6h@Z$j$G!"(B
+$B$5$i$K%*%W%7%g%s$N(B
+.Cm not
+$B%*%Z%l!<%?$rIU2C$7$F!"(B
+$B;XDj$9$k$3$H$,$G$-$^$9!#(B
 $B5-9f(B
 .Ql \&-
 $B$K$h$kI=8=$O!"%]!<%HHO0O(B ($BN>C<4^$`(B) $B$r;XDj$7$^$9!#(B
 .Pp
-$B5-9f(B
-.Ql \&:
-$B$K$h$kI=8=$O!"%]!<%H$H%^%9%/$r;XDj$7$^$9!#(B
-$B%^%C%A$,@k8@$5$l$k$N$O!"(B
-$B%Q%1%C%HCf$N%]!<%HHV9f$,%k!<%kCf$N%]!<%HHV9f$K%^%C%A$9$k$H$-$G$9$,!"(B
-$B%^%C%ABP>]$N%S%C%H$O%^%9%/Cf$G;XDj$5$l$?$b$N$K8BDj$5$l$^$9!#(B
-.Pp
 $B%]!<%HHV9f$NBe$o$j$K(B ($B%U%!%$%k(B
 .Pa /etc/services
 $B$+$i<h$C$?(B) $B%5!<%S%9L>$r;HMQ$G$-$^$9!#(B
-$B%]!<%HHO0O;XDj$N=q<0$O!":G=i$NCM$H$7$F$N$_;XDj$G$-$^$9!#(B
-$BNs5s=PMh$k%]!<%H?t$O(B
-.Pa /usr/src/sys/netinet/ip_fw.h
-$B$G(B
-.Dv IP_FW_MAX_PORTS
-$B$H$7$FDj5A$5$l$F$$$^$9!#(B
+$B%]!<%H%j%9%H$ND9$5$O(B 30 $B%]!<%H$^$?$O%]!<%HHO0O$K@)8B$5$l$F$$$^$9$,!"(B
+$B%k!<%k$N(B
+.Cm options
+$B%;%/%7%g%s$G(B
+.Em $BO@M}OB%V%m%C%/(B
+$B$r;HMQ$9$k$H$h$j9-$$HO0O$r;XDj$9$k$3$H$,$G$-$^$9!#(B
 $B%P%C%/%9%i%C%7%e(B
 .Pq Ql \e
 $B$r;HMQ$9$k$3$H$K$h$j!"%5!<%S%9L>Cf$N(B
 .Pq Ql -
-$BJ8;z$r%(%9%1!<%W2DG=$G$9(B:
+$BJ8;z$r%(%9%1!<%W2DG=$G$9(B
+($B%7%'%k$+$iF~NO$9$k$H$-!"%P%C%/%9%i%C%7%e$O(B
+$B%7%'%k<+?H$K%(%9%1!<%WJ8;z$H$7$F;HMQ$5$l$k$3$H$rKI$0$?$a$K(B
+2 $B2s%?%$%W$7$J$1$l$P$J$j$^$;$s(B)$B!#(B
 .Pp
-.Dl ipfw add count tcp from any ftp\e\e-data-ftp to any
+.Dl "ipfw add count tcp from any ftp\e\e-data-ftp to any"
 .Pp
 $BCGJR2=$5$l$?%Q%1%C%H$G%*%U%;%C%H$,Hs(B 0 $B$N$b$N(B
 ($B$9$J$o$A!":G=i$NCGJR$G$O$J$$$b$N(B) $B$O!"(B
@@ -538,182 +851,54 @@
 $BCGJR2=$5$l$?%Q%1%C%H$X$N%^%C%A%s%0$K4X$9$k>\:Y$O(B
 .Cm frag
 $B%*%W%7%g%s$r;2>H$7$F$/$@$5$$!#(B
-.It Ar interface-spec
-$B<!$N;XDj;R$NAH$_9g$o$;$r;HMQ2DG=$G$9(B:
-.Bl -tag -width "via ipno"
-.It Cm in
-$BF~NO%Q%1%C%H$K$N$_%^%C%A$7$^$9!#(B
-.It Cm out
-$B=PNO%Q%1%C%H$K$N$_%^%C%A$7$^$9!#(B
-.It Cm via Ar ifX
-$B%Q%1%C%H$O%$%s%?%U%'!<%9(B
-.Ar ifX
-$B$rDL2a$;$M$P$J$j$^$;$s!#(B
-.It Cm via Ar if Ns Cm *
-$B%Q%1%C%H$O%$%s%?%U%'!<%9(B
-.Ar ifX
-$B$rDL2a$;$M$P$J$j$^$;$s!#$3$N(B
-.Ar X
-$B$O$I$s$J%f%K%C%HHV9f$G$b$+$^$$$^$;$s!#(B
-.It Cm via any
-$B%Q%1%C%H$O(B
-.Em $B$$$:$l$+(B
-$B$N%$%s%?%U%'!<%9$rDL2a$;$M$P$J$j$^$;$s!#(B
-.It Cm via Ar ipno
-$B%Q%1%C%H$O!"(B
-IP $B%"%I%l%9(B
-.Ar ipno
-$B$r;}$D%$%s%?%U%'!<%9$rDL2a$;$M$P$J$j$^$;$s!#(B
 .El
+.Ss $B%k!<%k%*%W%7%g%s(B ($B%^%C%A%Q%?!<%s(B)
+$B%k!<%kFb$GDI2C$N%^%C%A%Q%?!<%s$r;HMQ$9$k$3$H$,$G$-$^$9!#(B
+$B$3$l$i$O%k!<%kFb$K(B 0 $B0J>eCV$1$k$N$G(B
+.Em $B%*%W%7%g%s(B
+$B$H8F$P$l$F$*$j!"%*%W%7%g%s$G(B
+.Cm not
+$B%*%Z%i%s%I$rA0CV$9$k$3$H$,$G$-!"(B
+.Em $BO@M}OB%V%m%C%/(B
+$B$X$H%0%k!<%W2=$9$k$3$H$,2DG=$G$9!#(B
 .Pp
-.Cm via
-$B$rMQ$$$k$H!">o;~;XDj$5$l$?%$%s%?%U%'!<%9$,%A%'%C%/$5$l$^$9!#(B
-.Cm recv
-$B$d(B
-.Cm xmit
-$B$r!"(B
-.Cm via
-$B$NBe$o$j$K;XDj$9$k$H!"(B
-$B<u?.!"$b$7$/$OAw?.%$%s%?%U%'!<%9$N$_$,(B ($B$*$N$*$N(B) $B%A%'%C%/$5$l$^$9!#(B
-$BN>J}$r;XDj$9$l$P!"(B
-$B<u?.%$%s%?%U%'!<%9$HAw?.%$%s%?%U%'!<%9$NN>J}$K4p$E$-%Q%1%C%H$r(B
-$B%^%C%A$5$;$k$3$H$,2DG=$K$J$j$^$9!#(B
-$BNc(B :
-.Pp
-.Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1"
-.Pp
-.Cm recv
-$B$G;XDj$7$?%$%s%?%U%'!<%9$G$O!"<u?.$HAw?.!"N>J}$N%Q%1%C%H$r%A%'%C%/$G$-$^$9!#(B
-$B$=$l$KBP$7!"(B
-.Cm xmit
-$B$G;XDj$7$?%$%s%?%U%'!<%9$G$O!"Aw?.%Q%1%C%H$N$_$H$J$j$^$9!#(B
-$B$=$l$f$($K!"(B
-.Cm xmit
-$B$r;XDj$9$k$H(B
-.Cm out
-$B$,!"I,?\$G$9(B (
-.Cm in
-$B$OIT2D(B)$B!#(B
-.Cm via
-$B$H6&$K(B
-.Cm xmit
-$B$b$7$/$O!"(B
-.Cm recv
-$B$r;XDj$9$k;v$O$G$-$^$;$s!#(B
-.Pp
-$B%Q%1%C%H$O!"<u?.MQ$J$$$7Aw?.MQ%$%s%?%U%'!<%9$r;}$?$J$$>l9g$,$"$j$^$9!#(B
-$B%m!<%+%k%[%9%H$GH/@8$7$?%Q%1%C%H$K$O<u?.MQ$N%$%s%?%U%'!<%9$O$"$j$^$;$s$7!"(B
-$B%m!<%+%k%[%9%HFb08$N%Q%1%C%H$K$OAw?.MQ%$%s%?%U%'!<%9$O$"$j$^$;$s!#(B
-.It Ar options :
+$B0J2<$N%^%C%A%Q%?!<%s$,;HMQ$G$-$^$9(B ($B%"%k%U%!%Y%C%H=g$KJB$Y$F$$$^$9(B):
 .Bl -tag -width indent
-.It Cm keep-state Op Ar method
-$B%^%C%A$N:]$K!"%U%!%$%"%&%)!<%k$,F0E*%k!<%k$r@8@.$7$^$9!#$3$N%k!<%k$N(B
-$B%G%U%)%k%H$NF0:n$O!"F10l%W%m%H%3%k$rMQ$$$kH/?.85$H08@h$N(B IP/port
-$B4V$GAPJ}8~$KDL2a$9$k%Q%1%C%H$X$N%^%C%A$G$9!#(B
-$B$3$N%k!<%k$N@8B84|4V$OM-8B$G$9(B (
-.Xr sysctl 8
-$BJQ?t$N=89g$K$h$j@)8f$5$l$^$9(B)$B!#$3$N@8B84|4V$O!"%Q%1%C%H$N%^%C%A$,(B
-$B@8$8$k$?$S$K99?7$5$l$^$9!#(B
-.It Cm limit Bro Cm src-addr | src-port | dst-addr | dst-port Brc Ar N
-$B%U%!%$%"%&%)!<%k$O!"(B
-$B%k!<%k$G;XDj$5$l$k%Q%i%a!<%?$K$*$$$F$O!"(B
-.Ar N
-$B8D$N@\B3$@$1$r5v2D$7$^$9!#(B
-$B;OE@$*$h$S=*E@$N%"%I%l%9$d%]!<%H$O!"(B1 $B8D0J>e;XDj2DG=$G$9!#(B
 .It Cm bridged
 $B%V%j%C%8$5$l$k%Q%1%C%H$K$N$_%^%C%A$7$^$9!#(B
-$B$3$l$O%^%k%A%-%c%9%H$d%V%m!<%I%-%c%9%H$N%Q%1%C%H$r07$&:]$KM-MQ$G$9!#(B
-$B$3$l0J30$NJ}K!$G$O!"%Q%1%C%H$O!"%V%j%C%8$N:]$K0lEY!"(B
-$B%m!<%+%k%9%?%C%/$KEO$5$l$k:]$K$b$&0lEY$H!"(B
-$B%U%!%$%"%&%)!<%k$r(B 2 $BEYDL2a$7$F$7$^$$$^$9!#(B
-.Pp
-$B%Q%U%)!<%^%s%9>e$N$o$:$+$JB;<:$O$H$b$+$/!"(B
-.Em pipe
-$B$rMQ$$$k:]$K$bLdBj$K$J$j$^$9!#$3$l$O!"%P%s%II}!"%-%e!<@jM-EY$J$I$N(B
-$B%+%&%s%?$K4X$7$F!"F1$8%Q%1%C%H$,(B 2 $BEY%+%&%s%H$5$l$F$7$^$&$?$a$G$9!#(B
-.It Cm frag
-$B%Q%1%C%H$,CGJR(B ($B%U%i%0%a%s%H(B) $B2=$5$l$?%G!<%?%0%i%`$N0lIt$G!"(B
-$B$+$D%G!<%?%0%i%`$N@hF,$NCGJR$G$J$$>l9g$K%^%C%A$7$^$9!#(B
-.Cm frag
-$B$r!"(B
-.Cm tcpflags
-$B$d(B TCP/UDP $B%]!<%H;XDj$H6&$K;HMQ$9$k$3$H$O$G$-$^$;$s!#(B
-.It Cm ipoptions Ar spec
-IP $B%X%C%@$,!"(B
-.Ar spec
-$B$K;XDj$5$l$?%3%s%^$G6h@Z$i$l$?%*%W%7%g%s$N%j%9%H$r4^$`>l9g$K$N$_%^%C%A$7$^$9!#(B
-$B%5%]!<%H$5$l$F$$$k(B IP $B%*%W%7%g%s$O(B
-.Pp
-.Cm ssrr
-(strict source route),
-.Cm lsrr
-(loose source route),
-.Cm rr
-(record packet route),
-.Cm ts
-(timestamp) $B$G$9!#(B
-.Ql \&!
-$B$K$h$C$F!"FCDj$N%*%W%7%g%s$r4^$^$J$$;XDj$,5-=R$G$-$^$9!#(B
-.It Cm tcpoptions Ar spec
-TCP $B%X%C%@$,!"(B
-.Ar spec
-$B$K;XDj$5$l$?%3%s%^$G6h@Z$i$l$?%*%W%7%g%s$N%j%9%H$r4^$`>l9g$K$N$_%^%C%A$7$^$9!#(B
-$B%5%]!<%H$5$l$F$$$k(B TCP $B%*%W%7%g%s$O(B
-.Pp
-.Cm mss
-(maximum segment size),
-.Cm window
-(tcp window advertisement),
-.Cm sack
-(selective ack),
-.Cm ts
-(rfc1323 timestamp),
-.Cm cc
-(rfc1644 t/tcp connection count) $B$G$9!#(B
-.Ql \&!
-$B$K$h$C$F!"FCDj$N%*%W%7%g%s$r4^$^$J$$;XDj$,5-=R$G$-$^$9!#(B
+.It Cm dst-ip Ar ip address
+$B08@h(B IP $B%"%I%l%9$,0z?t$G;XDj$7$?%"%I%l%9$N(B 1 $B$D$G$"$k(B
+IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm dst-port Ar source ports
+$B08@h%]!<%H$,0z?t$G;XDj$7$?%]!<%H$N(B 1 $B$D$G$"$k(B
+IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
 .It Cm established
-TCP $B%Q%1%C%H$N$_$KE,MQ$5$l$^$9!#(B
-RST $B$^$?$O(B ACK $B%S%C%H$,%;%C%H$5$l$F$$$k%Q%1%C%H$N$_%^%C%A$7$^$9!#(B
-.It Cm setup
-TCP $B%Q%1%C%H$N$_$KE,MQ$5$l$^$9!#(B
-SYN $B%S%C%H$,%;%C%H$5$l(B ACK $B$,%;%C%H$5$l$F$$$J$$%Q%1%C%H$N$_%^%C%A$7$^$9!#(B
-.It Cm tcpflags Ar spec
-TCP $B%Q%1%C%H$N$_$KE,MQ$5$l$^$9!#(B
-TCP $B%X%C%@$,(B
-.Ar spec
-$B$K;XDj$5$l$?%3%s%^$G6h@Z$i$l$?%U%i%0$N%j%9%H$r4^$`>l9g$K$N$_%^%C%A$7$^$9!#(B
-$B%5%]!<%H$5$l$F$$$k%U%i%0$O!"(B
-.Pp
-.Cm fin ,
-.Cm syn ,
-.Cm rst ,
-.Cm psh ,
-.Cm ack ,
-.Cm urg
-$B$G$9!#(B
-.Ql \&!
-$B$K$h$C$F!"FCDj$N%U%i%0$r4^$^$J$$;XDj$r5-=R$G$-$^$9!#(B
-.Cm tcpflags
-$B;XDj$r4^$`%k!<%k$O!"Hs(B 0 $B$N%*%U%;%C%H$r;}$DCGJR2=$5$l$?%Q%1%C%H$K(B
-$B%^%C%A$9$k$3$H$O$"$j$^$;$s!#(B
-$BCGJR2=$5$l$?%Q%1%C%H$K4X$9$k%^%C%A$K$D$$$F$N>\:Y$O(B
-.Cm frag
-$B%*%W%7%g%s$r;2>H$7$F$/$@$5$$!#(B
+RST $B$+(B ACK $B%S%C%H$,%;%C%H$5$l$F$$$k(B TCP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm frag
+IP $B%G!<%?%0%i%`$N%U%i%0%a%s%H$G$"$j!"$+$D!":G=i$N%U%i%0%a%s%H$G$J$$(B
+$B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+$B$3$l$i$N%Q%1%C%H$O<!$N%W%m%H%3%k%X%C%@(B ($BNc$($P(B TCP, UDP) $B$r;}$?$J$$$N$G!"(B
+$B$3$l$i$N%X%C%@$rD4$Y$k%*%W%7%g%s$O%^%C%A$9$k$3$H$,$G$-$J$$$3$H$K(B
+$BCm0U$7$F2<$5$$!#(B
+.It Cm gid Ar group
+.Ar group
+$B$K$h$C$FAw?.$5$l$?!"$^$?$O$=$l$KBP$7$F<u?.$5$l$?(B
+$BA4$F$N(B TCP $B$b$7$/$O(B UDP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.Ar group
+$B$OL>A0$+?tCM$G;XDj$9$k$3$H$,$G$-$^$9!#(B
 .It Cm icmptypes Ar types
-ICMP $B%Q%1%C%H$N$_$KE,MQ$5$l$^$9!#(B
 ICMP $B%?%$%W$,(B
 .Ar types
-$B$G;XDj$5$l$?%j%9%HCf$KB8:_$9$k>l9g$K$N$_%^%C%A$7$^$9!#(B
+$B$G;XDj$5$l$?%j%9%HCf$KB8:_$9$k(B ICMP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
 $B%j%9%H$OHO0O;XDj$G$b!"%?%$%W$*$N$*$N$r%3%s%^$G6h@Z$C$?$b$N$G$b(B
 $B$I$A$i$NAH$_9g$o$;$G$b$+$^$$$^$;$s!#(B
 $B%5%]!<%H$5$l$F$$$k(B ICMP $B%?%$%W$O<!$NDL$j$G$9(B:
 .Pp
-$B%(%3!<JVEz(B
+$B%(%3!<1~Ez(B
 .Pq Cm 0 ,
-$B=*E@ITE~C#(B
+$B08@hE~C#IT2D(B
 .Pq Cm 3 ,
-$BH/?.M^@)(B
+$BH/?.85M^@)(B
 .Pq Cm 4 ,
 $B%j%@%$%l%/%H(B
 .Pq Cm 5 ,
@@ -731,31 +916,394 @@
 .Pq Cm 13 ,
 $B%?%$%`%9%?%s%W1~Ez(B
 .Pq Cm 14 ,
-$B>pJsMW5a(B
+$B%$%s%U%)%a!<%7%g%sMW5a(B
 .Pq Cm 15 ,
-$B>pJsJVEz(B
+$B%$%s%U%)%a!<%7%g%sJVEz(B
 .Pq Cm 16 ,
 $B%"%I%l%9%^%9%/MW5a(B
 .Pq Cm 17 ,
 $B%"%I%l%9%^%9%/1~Ez(B
 .Pq Cm 18
+.It Cm in | out
+$B$=$l$>$lE~Ce$^$?$OAw=P%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.Cm in
+$B$H(B
+.Cm out
+$B$O8_$$$KGSB>E*$G$9(B
+($B<B:]!"(B
+.Cm out
+$B$O(B
+.Cm not in Ns
+$B$H$7$F<BAu$5$l$F$$$^$9(B)$B!#(B
+.It Cm ipid Ar id
+.Cm ip_id
+$B%U%#!<%k%I$,CM(B
+.Ar id
+$B$G$"$k(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm iplen Ar len
+$B%X%C%@$H%G!<%?$r4^$s$@A4BN$ND9$5$,(B
+.Ar len
+$B%P%$%H$G$"$k(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm ipoptions Ar spec
+IP $B%X%C%@$,(B
+.Ar spec
+$B$G;XDj$5$l$?%3%s%^6h@Z$j$N%*%W%7%g%s%j%9%H$r4^$`(B
+$B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+IP $B%*%W%7%g%s$O<!$N$b$N$,%5%]!<%H$5$l$F$$$^$9(B:
+.Pp
+.Cm ssrr
+($B%9%H%j%/%H%=!<%9%k!<%F%#%s%0(B),
+.Cm lsrr
+($B%k!<%:%=!<%9%k!<%F%#%s%0(B),
+.Cm rr
+($B%l%3!<%I%k!<%H(B),
+.Cm ts
+($B%?%$%`%9%?%s%W(B)$B!#(B
+.Ql \&!
+$B$rCV$/$3$H$GFCDj$N%*%W%7%g%s$,B8:_$7$J$$$H$$$&5-=R$,$G$-$^$9!#(B
+.It Cm ipprecedence Ar precedence
+$B@h9T%U%#!<%k%I$,(B
+.Ar precedence
+$B$KEy$7$$(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm iptos Ar spec
+.Cm tos
+$B%U%#!<%k%I$,(B
+.Ar spec
+$B$G;XDj$5$l$?%3%s%^6h@Z$j$N%5!<%S%9%?%$%W$N%j%9%H$r4^$`(B
+IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+$B%5%]!<%H$5$l$F$$$k%5!<%S%9$N(B IP $B%?%$%W$O<!$NDL$j$G$9(B:
+.Pp
+.Cm lowdelay
+.Pq Dv IPTOS_LOWDELAY ,
+.Cm throughput
+.Pq Dv IPTOS_THROUGHPUT ,
+.Cm reliability
+.Pq Dv IPTOS_RELIABILITY ,
+.Cm mincost
+.Pq Dv IPTOS_MINCOST ,
+.Cm congestion
+.Pq Dv IPTOS_CE
+$B!#(B
+.Ql \&!
+$B$rCV$/$3$H$GFCDj$N%*%W%7%g%s$,B8:_$7$J$$$H$$$&5-=R$,$G$-$^$9!#(B
+.It Cm ipttl Ar ttl
+$B@8B8;~4V$,(B
+.Ar ttl
+$B$G$"$k(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm ipversion Ar ver
+IP $B%P!<%8%g%s%U%#!<%k%I$,(B
+.Ar ver
+$B$G$"$k(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm keep-state
+$B%^%C%A$9$k:]$K!"%U%!%$%"%&%)!<%k$OF0E*%k!<%k$r:n@.$7$^$9!#(B
+$B:n@.$5$l$k%k!<%k$O!"%G%U%)%k%H$G$O!"F1$8%W%m%H%3%k$r;HMQ$7$F$$$k(B
+$BH/?.85$H08@h(B IP/$B%]!<%H4V$G$NAPJ}8~$N%H%i%U%#%C%/$K%^%C%A$9$k$h$&$J(B
+$BF0:n$H$J$j$^$9!#(B
+$B$3$N%k!<%k$K$O@)8B$5$l$?@8B8;~4V(B (
+.Xr sysctl 8
+$BJQ?t$N%;%C%H$G@)8f$5$l$^$9(B)
+$B$,$"$j!"(B
+$B@8B8;~4V$O%^%C%A$9$k%Q%1%C%H$,8+$D$+$k$?$S$K%j%U%l%C%7%e$5$l$^$9!#(B
+.It Cm layer2
+$B%l%$%d(B 2 $B$N%Q%1%C%H$N$_$K%^%C%A$7$^$9!#(B
+$B$D$^$j!"(B
+ether_demux() $B$H(B ether_output_frame() $B$+$i(B
+.Nm
+$B$XEO$5$l$k%Q%1%C%H$G$9!#(B
+.It Cm limit Bro Cm src-addr | src-port | dst-addr | dst-port Brc Ar N
+$B%U%!%$%"%&%)!<%k$O!"(B
+$B%k!<%k$G;XDj$7$?F10l$N%Q%i%a!<%?$N%;%C%H$KBP$7$F(B
+.Ar N
+$B8D$N@\B3$N$_$r5v2D$7$^$9!#(B
+1 $B$D0J>e$NH/?.85$H08@h%"%I%l%9$*$h$S%]!<%H$,;XDj$G$-$^$9!#(B
+.It Cm { MAC | mac } Ar dst-mac src-mac
+$BM?$($i$l$?(B
+.Ar dst-mac
+$B%"%I%l%9$H(B
+.Ar src-mac
+$B%"%I%l%9$r;}$D%Q%1%C%H$K%^%C%A$7$^$9!#(B
+$B%"%I%l%9$K$O(B
+.Cm any
+$B%-!<%o!<%I(B ($BG$0U$N(B MAC $B%"%I%l%9$K%^%C%A$7$^$9(B) $B$^$?$O(B
+$B%3%m%s$G6h@Z$C$?(B 16 $B?J?t(B 6 $B8D$NAH$_!"(B
+$B<!$K<($9$h$&$J%*%W%7%g%s$G$=$N8e$K0UL#$N$"$k%S%C%H?t$r;XDj$9$k%^%9%/(B
+$B$r;XDj$7$^$9!#(B
+.Pp
+.Dl "MAC 10:20:30:40:50:60/33 any"
+.Pp
+MAC $B%"%I%l%9$N=g=x(B ($B08@h$,:G=i$G(B 2 $BHVL\$KH/?.85(B) $B$O(B
+$BJ*M}E*$J@~>e$N$b$N$HF1$8$G$9$,!"(B
+IP $B%"%I%l%9$G;HMQ$5$l$k$b$N$H$OH?BP$G$"$k$3$H$KCm0U$7$F2<$5$$!#(B
+.It Cm mac-type Ar mac-type
+$B%$!<%5%M%C%H$N%?%$%W%U%#!<%k%I$,(B
+$B0z?t$G;XDj$7$?$b$N$N(B 1 $B$D$H0lCW$9$k(B
+$B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.Ar mac-type
+$B$O(B
+.Cm port numbers
+$B$HF1$8J}K!$G;XDj$7$^$9(B
+($B$D$^$j!"(B1 $B$D0J>e$N%3%s%^6h@Z$j$NC10l$NCM$^$?$OHO0O$G$9(B)$B!#(B
+.Em vlan , ipv4 , ipv6
+$B$N$h$&$J4{CN$NCM$KBP$9$k%7%s%\%j%C%/$JL>>N$r;HMQ$9$k$3$H$,$G$-$^$9!#(B
+$BCM$O(B 10 $B?J?t$+(B 16 $B?J?t(B (0x $B$,F,$K$D$/>l9g(B) $B$GF~NO$9$k$3$H$,$G$-!"(B
+$B>o$K(B 16 $B?J?t$G=PNO$5$l$^$9(B (
+.Cm -N
+$B%*%W%7%g%s$,;HMQ$5$l$F$$$J$$>l9g$G$9!#(B
+$B$=$N$H$-$O%7%s%\%j%C%/$JL>A02r7h$,;n$_$i$l$^$9(B)$B!#(B
+.It Cm proto Ar protocol
+IPv4 $B%W%m%H%3%k$K0lCW$9$k%Q%1%C%H$,%^%C%A$7$^$9!#(B
+.It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar ipno | Ar any
+$B<u?.$7$?%Q%1%C%H!"Aw?.$9$k%Q%1%C%H!"DL2a$9$k%Q%1%C%H$,(B
+$B$=$l$>$l%^%C%A$7$^$9!#(B
+$B%$%s%?%U%'!<%9$O@53N$JL>A0(B
+.Ns No ( Ar ifX Ns No ) $B!"(B
+$B%G%P%$%9L>(B
+.Ns No ( Ar if Ns Ar * Ns No ) $B!"(B
+IP $B%"%I%l%9$G;XDj$9$k$+!"(B
+$B$b$7$/$O2?$i$+$N%$%s%?%U%'!<%9$rDL2a$9$k$3$H$r;XDj$7$^$9!#(B
+.Pp
+.Cm via
+$B%-!<%o!<%I$O%$%s%?%U%'!<%9$,>o$K%A%'%C%/$5$l$k$3$H$K$J$j$^$9!#(B
+.Cm recv
+$B$d(B
+.Cm xmit
+$B$,(B
+.Cm via
+$B$NBe$o$j$K;HMQ$5$l$?>l9g!"(B
+$B<u?.$7$?%$%s%?%U%'!<%9!"$^$?$OAw?.$9$k%$%s%?%U%'!<%9(B
+($B$=$l$>$l$KBP1~$7$^$9(B) 
+$B$N$_$,%A%'%C%/$5$l$^$9!#(B
+$BN>J}$H$b;XDj$7$?>l9g!"(B
+$BAw?.%$%s%?%U%'!<%9$H<u?.%$%s%?%U%'!<%9$NN>J}$K4p$E$/(B
+$B%Q%1%C%H$N%^%C%A$,2DG=$K$J$j$^$9!#(B
+$BNc$($P<!$N$h$&$K$J$j$^$9(B:
+.Pp
+.Dl "ipfw add deny ip from any to any out recv ed0 xmit ed1"
+.Pp
+.Cm recv
+$B%$%s%?%U%'!<%9$OE~Ce$^$?$OAw=P%Q%1%C%H$N$I$A$i$+$K$D$$$F(B
+$B8!::$9$k$3$H$,$G$-$^$9$,!"(B
+.Cm xmit
+$B%$%s%?%U%'!<%9$OAw=P%Q%1%C%H$N$_$K$D$$$F8!::$9$k$3$H$,$G$-$^$9!#(B
+$B$7$?$,$C$F(B
+.Cm xmit
+$B$r;HMQ$9$k>l9g$K$O(B
+.Cm out
+$B$OI,?\$G$9(B ($B$=$7$F(B
+.Cm in
+$B$OL58z$H$J$j$^$9(B)$B!#(B
+.Pp
+$B%Q%1%C%H$,<u?.%$%s%?%U%'!<%9$dAw?.%$%s%?%U%'!<%9$r;}$?$J$$$3$H$,$"$j$^$9(B:
+$B%m!<%+%k%[%9%H$+$iH/@8$7$?%Q%1%C%H$O<u?.%$%s%?%U%'!<%9$r;}$A$^$;$s$7!"(B
+$B%m!<%+%k%[%9%H$KE~Ce$9$kM=Dj$N%Q%1%C%H$OAw?.%$%s%?%U%'!<%9$r;}$A$^$;$s!#(B
+.It Cm setup
+SYN $B%S%C%H$,%;%C%H$5$l$F$$$k$,(B ACK $B%S%C%H$r;}$?$J$$(B
+TCP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+$B$3$l$O(B
+.Dq Li tcpflags\ syn,!ack
+$B$NC;=L7A$G$9!#(B
+.It Cm src-ip Ar ip-address
+$BH/?.85(B IP $B$,0z?t$G;XDj$5$l$?%"%I%l%9$N(B 1 $B$D$G$"$k(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm src-port Ar ports
+$BH/?.85%]!<%H$,0z?t$G;XDj$5$l$?%]!<%H$N(B 1 $B$D$G$"$k(B IP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
+.It Cm tcpack Ar ack
+TCP $B%Q%1%C%H$N$_$G$9!#(B
+TCP $B%X%C%@$N3NG'1~EzHV9f%U%#!<%k%I$,(B
+.Ar ack
+$B$K@_Dj$5$l$F$$$l$P%^%C%A$7$^$9!#(B
+.It Cm tcpflags Ar spec
+TCP $B%Q%1%C%H$N$_$G$9!#(B
+TCP $B%X%C%@$,(B
+.AR spec
+$B$G;XDj$7$?%3%s%^6h@Z$j$N%U%i%0$N%j%9%H$r4^$s$G$$$l$P%^%C%A$7$^$9!#(B
+$B%5%]!<%H$5$l$F$$$k(B TCP $B%U%i%0$O<!$NDL$j$G$9(B:
+.Pp
+.Cm fin ,
+.Cm syn ,
+.Cm rst ,
+.Cm psh ,
+.Cm ack ,
+.Cm urg
+$B!#(B
+.Ql \&!
+$B$rCV$/$3$H$GFCDj$N%U%i%0$,B8:_$7$J$$$H$$$&5-=R$,$G$-$^$9!#(B
+.Cm tcpflags
+$B$N;XDj$r4^$`%k!<%k$O(B 0 $B$G$J$$%*%U%;%C%H$r;}$D%U%i%0%a%s%H%Q%1%C%H$K$O(B
+$B7h$7$F%^%C%A$9$k$3$H$O$G$-$^$;$s!#(B
+$B%U%i%0%a%s%H%Q%1%C%H$N%^%C%A$K$D$$$F$N>\:Y$O(B
+.Cm frag
+$B%*%W%7%g%s$r;2>H$7$F2<$5$$!#(B
+.It Cm tcpseq Ar seq
+TCP $B%Q%1%C%H$N$_$G$9!#(B
+TCP $B%X%C%@$N%7!<%1%s%9HV9f%U%#!<%k%I$,(B
+.Ar seq
+$B$K@_Dj$5$l$F$$$l$P%^%C%A$7$^$9!#(B
+.It Cm tcpwin Ar win
+TCP $B%Q%1%C%H$N$_$G$9!#(B
+TCP $B%X%C%@$N%&%#%s%I%&%U%#!<%k%I$,(B
+.Ar win
+$B$K@_Dj$5$l$F$$$l$P%^%C%A$7$^$9!#(B
+.It Cm tcpoptions Ar spec
+TCP $B%Q%1%C%H$N$_$G$9!#(B
+.Ar spec
+$B$G;XDj$7$?%3%s%^6h@Z$j$N%*%W%7%g%s$N%j%9%H$,(B
+TCP $B%X%C%@$K4^$^$l$F$$$l$P%^%C%A$7$^$9!#(B
+$B%5%]!<%H$5$l$F$$$k(B TCP $B%*%W%7%g%s$O<!$NDL$j$G$9(B:
+.Pp
+.Cm mss
+($B:GBg%;%0%a%s%H%5%$%:(B),
+.Cm window
+(TCP $B%&%#%s%I%&9-9p(B),
+.Cm sack
+($BA*BrE*(B ACK),
+.Cm ts
+(RFC1323 $B%?%$%`%9%?%s%W(B),
+.Cm cc
+(RFC1644 T/TCP $B%3%M%/%7%g%s%+%&%s%H(B)
+.Ql \&!
+$B$rCV$/$3$H$GFCDj$N%*%W%7%g%s$,B8:_$7$J$$$H$$$&5-=R$,$G$-$^$9!#(B
 .It Cm uid Ar user
 .Ar user
 $B$,Aw?.$7$?$^$?$O<u?.$9$k!"(B
 $B$9$Y$F$N(B TCP $B%Q%1%C%H$H(B UDP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
 .Ar user
 $B$O!"L>A0$G$b(B ID $BHV9f$G$b%^%C%A$7$^$9!#(B
-.It Cm gid Ar group
-.Ar group
-$B$,Aw?.$7$?$^$?$O<u?.$9$k!"(B
-$B$9$Y$F$N(B TCP $B%Q%1%C%H$H(B UDP $B%Q%1%C%H$K%^%C%A$7$^$9!#(B
-.Ar group
-$B$O!"L>A0$G$b(B ID $BHV9f$G$b%^%C%A$7$^$9!#(B
 .El
+.Sh $B%k!<%k$N%;%C%H(B
+$B3F%k!<%k$O(B 0 $B$+$i(B 31 $B$^$GHV9f$r$D$1$i$l$?(B 32 $B$N0[$J$k(B
+.Em $B%;%C%H(B
+$B$N$$$:$l$+$KB0$7$F$$$^$9!#(B
+$B%;%C%H(B 31 $B$O%G%U%)%k%H%k!<%k$N$?$a$KM=Ls$5$l$F$$$^$9!#(B
+.Pp
+$B%G%U%)%k%H$G$O!"(B
+$B?75,$N%k!<%k$rF~NO$9$k:]$K(B
+.Cm set N
+$B%"%H%j%S%e!<%H$r;HMQ$7$J$1$l$P!"(B
+$B%k!<%k$O%;%C%H(B 0 $B$KCV$+$l$^$9!#(B
+$B%;%C%H$O8DJL$K!"$+$D!"%"%H%_%C%/$KM-8z2=$7$?$jL58z2=$7$?$j$G$-$k$N$G!"(B
+$B$3$N5!9=$K$h$C$F!"%U%!%$%"%&%)!<%k$K4X$9$kJ#?t$N@_Dj$r3JG<$7!"(B
+$B$=$l$i$N@_Dj$rAGAa$/(B ($B$+$D%"%H%_%C%/$K(B) $B@Z$jBX$($k$?$a$NJ}K!$,(B
+$B4JC1$K$J$j$^$9!#(B
+$B%;%C%H$rM-8z2=(B/$BL58z2=$9$k%3%^%s%I$O<!$NDL$j!#(B
+.Pp
+.Nm
+.Cm set disable Ar number ... Op Cm enable Ar number ...
+.Pp
+$B$3$3$G$OJ#?t$N(B
+.Cm enable
+$B$^$?$O(B
+.Cm disable
+$B%;%/%7%g%s$,;XDj2DG=$G$9!#(B
+$B%3%^%s%I$G;XDj$7$?A4$F$N%;%C%H$K$D$$$F!"(B
+$B%3%^%s%I$O%"%H%_%C%/$K<B9T$5$l$^$9!#(B
+$B%G%U%)%k%H$G$OA4$F$N%;%C%H$OM-8z2=$5$l$?>uBV$G$9!#(B
+.Pp
+$B%;%C%H$rL58z2=$9$k:]!"%U%!%$%"%&%)!<%k$N@_Dj$NCf$K$=$N%k!<%k$,(B
+$BB8:_$7$J$$$+$N$h$&$K?6$kIq$$$^$9!#(B
+$B$?$@$7Nc30$,(B 1 $B$D$@$1$"$j$^$9(B:
+.Bl -bullet
+.It
+$BL58z2=$5$l$k0JA0$K%k!<%k$+$i@8@.$5$l$?F0E*%k!<%k$O(B
+$B4|8B@Z$l$H$J$k$^$G$O$^$@3hF02DG=$J>uBV$G$9!#(B
+$BF0E*%k!<%k$r:o=|$9$k$?$a$K$O!"(B
+$B$=$N%k!<%k$r@8@.$7$??F%k!<%k$rL@<(E*$K:o=|$7$J$1$l$P$J$j$^$;$s!#(B
 .El
+$B%k!<%k$N%;%C%HHV9f$O<!$N%3%^%s%I$GJQ99$G$-$^$9!#(B
+.Pp
+.Nm
+.Cm set move
+.Brq Cm rule Ar rule-number | old-set
+.Cm to Ar new-set
+.Pp
+$B$^$?!"<!$N%3%^%s%I$r;HMQ$7$F(B 2 $B$D$N%k!<%k%;%C%H$r(B
+$B%"%H%_%C%/$KF~$l49$($k$3$H$,$G$-$^$9!#(B
+.Pp
+.Nm
+.Cm set swap Ar first-set second-set
+.Pp
+$B%k!<%k$N%;%C%H$G;HMQ$G$-$k9`L\$O(B
+.Sx $B;HMQNc(B
+$B%;%/%7%g%s$r;2>H$7$F2<$5$$!#(B
+.Sh $B%9%F!<%H%U%k%U%!%$%"%&%)!<%k(B
+$B%9%F!<%H%U%k%*%Z%l!<%7%g%s$O!"(B
+$BM?$($i$l$?%Q%?!<%s$K%^%C%A$9$k%Q%1%C%H$,8!=P$5$l$?$H$-$K!"(B
+$BFCDj$N%U%m!<$K$D$$$F$N%k!<%k$rF0E*$K%U%!%$%"%&%)!<%k$K(B
+$B:n@.$9$k$?$a$NJ}K!$G$9!#(B
+$B%9%F!<%H%U%k%*%Z%l!<%7%g%s$KBP$9$k%5%]!<%H$O(B
+.Nm $B%k!<%k(B
+$B$N(B
+.Cm check-state , keep-state
+$B$*$h$S(B
+.Cm limit
+$B%*%W%7%g%s$rDL$8$FDs6!$5$l$^$9!#(B
+.Pp
+.Em src-ip/src-port dst-ip/dst-port
+$B$N%"%I%l%9$N%Z%"$N4V$KM?$($i$l$?(B
+.Em protocol
+$B$r;HMQ$7$FA4$F$^$?$O$=$l$N$_$N%Q%1%C%H$K%^%C%A$9$k(B
+.Em $BF0E*(B
+$B%k!<%k$,@8@.$5$l$k>l9g!"(B
+$BF0E*%k!<%k$O%Q%1%C%H$,(B
+.Cm keep-state
+$B$d(B
+.Cm limit
+$B%k!<%k$K%^%C%A$7$?$H$-$K@8@.$5$l$^$9(B (
+.Em src
+$B$H(B
+.Em dst
+$B$O$3$3$G$O=i4|>uBV$G%^%C%A$9$k%"%I%l%9$r<($9$?$a$K$N$_(B
+$B;HMQ$5$l$F$$$^$9$,!"$=$l$i$O8e$G<($9$b$N$H40A4$KEy2A$G$9(B)$B!#(B
+$BF0E*%k!<%k$O:G=i$K(B
+.Cm check-state, keep-state
+$B$^$?$O(B
+.Cm limit
+$B$NH/@8$r%A%'%C%/$5$l!"(B
+$B%^%C%A$7$?:]$K<B9T$5$l$k%"%/%7%g%s$O?F%k!<%k$HF1$8$b$N$K$J$j$^$9!#(B
+.Pp
+$B%W%m%H%3%k$H(B IP $B%"%I%l%90J30$KDI2C$5$l$kB0@-$O$J$/!"(B
+$B%]!<%H$OF0E*%k!<%k$G%A%'%C%/$5$l$k$3$H$KCm0U$7$F2<$5$$!#(B
+.Pp
+$BF0E*%k!<%k$NE57?E*$J;H$$J}$O!"(B
+$B%U%!%$%"%&%)!<%k$N@_Dj$rJD$8$?$^$^$K$7$F$*$/$3$H$G$9!#(B
+$B$7$+$7!"(B
+$BFbIt%M%C%H%o!<%/$+$i$N:G=i$N(B TCP SYN $B%Q%1%C%H$K$h$C$F!"(B
+$B%U%m!<$KBP$9$kF0E*%k!<%k$,%$%s%9%H!<%k$5$l$k$N$G!"(B
+$B$=$N%;%C%7%g%s$K=jB0$9$k%Q%1%C%H$O%U%!%$%"%&%)!<%k$NDL2a$r(B
+$B5v2D$5$l$k$3$H$K$J$j$^$9!#(B
+.Pp
+.Dl "ipfw add check-state"
+.Dl "ipfw add allow tcp from my-subnet to any setup"
+.Dl "ipfw add deny tcp from any to any"
+.Pp
+$BF1MM$J%"%W%m!<%A$,(B UDP $B$KBP$7$F$b;H$(!"(B
+$BFbIt$+$i$d$C$FMh$k(B UDP $B%Q%1%C%H$K$h$C$F!"(B
+$B$=$N1~Ez$O%U%!%$%"%&%)!<%k$rDL2a$9$k$h$&$K(B
+$BF0E*%k!<%k$,%$%s%9%H!<%k$5$l$k$3$H$K$J$j$^$9(B:
+.Pp
+.Dl "ipfw add check-state"
+.Dl "ipfw add allow udp from my-subnet to any"
+.Dl "ipfw add deny udp from any to any"
+.Pp
+$BF0E*%k!<%k$O$7$P$i$/$?$C$?8e4|8B@Z$l$H$J$j$^$9!#(B
+$B$=$N;~4V$O!"(B
+$B%U%m!<$N>uBV$H$$$/$D$+$N(B
+.Cm sysctl
+$BJQ?t$N@_Dj$K0MB8$7$^$9!#(B
+$B>\:Y$O%;%/%7%g%s(B
+.Sx sysctl $BJQ?t(B
+$B$r;2>H$7$F2<$5$$!#(B
+TCP $B%;%C%7%g%s$G$O!"(B
+$B4|8B@Z$l$K$J$k$3$m$K%k!<%k$N>uBV$r%j%U%l%C%7%e$5$;$k$?$a!"(B
+$BDj4|E*$K%-!<%W%"%i%$%V%Q%1%C%H$rAw=P$9$k$h$&(B
+$BF0E*%k!<%k$KDLCN$9$k$3$H$,$G$-$^$9!#(B
+.Pp
+$BF0E*%k!<%k$N;HMQJ}K!$K4X$9$kB>$NNc$O(B
+$B%;%/%7%g%s(B
+.Sx $B;HMQNc(B
+$B$r;2>H$7$F2<$5$$!#(B
 .Sh $B%H%i%U%#%C%/%7%'%$%Q@_Dj(B
 .Nm
-$B%f!<%F%#%j%F%#$O!"(B
+$B$O!"(B
 .Xr dummynet 4
 $B%H%i%U%#%C%/%7%'%$%Q$X$N%f!<%6%$%s%?%U%'!<%9$bDs6!$7$^$9!#(B
 $B%7%'%$%Q$O!"%f!<%6$,;XDj$7$?%^%9%/$r(B IP $B%X%C%@$N0[$J$C$?%U%#!<%k%I$K(B
@@ -769,72 +1317,45 @@
 .Em $B%-%e!<(B
 (queue) $B$H8F$P$l$k$b$N$G$9!#(B
 .Em $B%Q%$%W(B
-$B$O!"M?$($i$l$?%P%s%II}!"CY1d;~4V!"%-%e!<$ND9$5!"%Q%1%C%HAS<:N($r(B
+$B$O!"M?$($i$l$?%P%s%II}!"CY1d;~4V!"%-%e!<$ND9$5!"%Q%1%C%HB;<:N($r(B
 $B$b$D%j%s%/$r%(%_%e%l!<%H$7$^$9!#(B
 $B$3$N%Q%i%a!<%?$K=>$$!"%Q%1%C%H$O%Q%$%WCf$rA+0\$7$^$9!#(B
 .Pp
 .Em $B%-%e!<(B
-$B$O!"(BWF2Q+ $B%]%j%7$r<BAu$9$k$?$a$K;HMQ$9$kCj>]2=$G$9!#(B
+$B$O!"(BWF2Q+ (Worst-case Fair Weighted Fair Queueing) $B%]%j%7$r(B
+$B<BAu$9$k$?$a$K;HMQ$9$kCj>]2=$G$9!#(B
 $B%-%e!<$O!"3F%U%m!<$KBP$7!"=E$_$H;2>H%Q%$%W$r4XO"IU$1$^$9!#(B
 $B$=$l$+$i!"F1$8%Q%$%W$K7k$SIU$1$i$l$?$9$Y$F$N%U%m!<$O!"(B
 WF2Q+ $B%]%j%7$K=>$$!"(B
 $B%Q%$%W$K$h$C$F8GDj$5$l$?%l!<%H$G%9%1%8%e!<%k$5$l$^$9!#(B
 .Pp
 .Nm
-$B%Q%$%W@_Dj=q<0$O<!$NDL$j$G$9!#(B
-.Bd -ragged
-.Cm pipe Ar number Cm config
-.Op Cm bw Ar bandwidth | device
-.Op Cm delay Ar ms-delay
-.Oo
-.Cm queue
-.Brq Ar slots | size
-.Oc
-.Op Cm plr Ar loss-probability
-.Op Cm mask Ar mask-specifier
-.Op Cm buckets Ar hash-table-size
-.Oo
-.Cm red | gred
-.Sm off
-.Ar w_q No / Ar min_th No / Ar max_th No / Ar max_p
-.Sm on
-.Oc
+$B%Q%$%W@_Dj$N=q<0$O<!$NDL$j$G$9(B:
+.Bd -ragged -offset indent
+.Cm pipe Ar number Cm config Ar pipe-configuration
 .Ed
 .Pp
 .Nm
-$B%-%e!<@_Dj=q<0$O<!$NDL$j$G$9!#(B
-.Bd -ragged
-.Cm queue Ar number Cm config
-.Op Cm pipe Ar pipe_nr
-.Op Cm weight Ar weight
-.Oo
-.Cm queue
-.Brq Ar slots | size
-.Oc
-.Op Cm plr Ar loss-probability
-.Op Cm mask Ar mask-specifier
-.Op Cm buckets Ar hash-table-size
-.Oo
-.Cm red | gred
-.Sm off
-.Ar w_q No / Ar min_th No / Ar max_th No / Ar max_p
-.Sm on
-.Oc
+$B%-%e!<@_Dj$N=q<0$O<!$NDL$j$G$9(B:
+.Bd -ragged -offset indent
+.Cm pipe Ar number Cm config Ar pipe-configuration
+.Ed
 .Pp
 $B<!$N%Q%i%a!<%?$r%Q%$%W$KBP$7$F@_Dj2DG=$G$9(B:
-.Bl -tag -width indent
+.Pp
+.Bl -tag -width indent -compact
 .It Cm bw Ar bandwidth | device
-$B%P%s%II}$G$"$j!"C10L$O(B
+$B%P%s%II}$G!"C10L$O(B
 .Sm off
 .Op Cm K | M
-.Brq Cm bit/s | Byte/s .
+.Brq Cm bit/s | Byte/s
 .Sm on
-$B$GB,Dj$7$^$9!#(B
+$B$G$9!#(B
 .Pp
 $BCM(B 0 ($B%G%U%)%k%H(B) $B$OL58B$N%P%s%II}$r0UL#$7$^$9!#(B
 $BC10L$O?tCM$ND>8e$KB3$1$F=q$/I,MW$,$"$j!"<!$N$h$&$K$7$^$9!#(B
 .Pp
-.Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes"
+.Dl "ipfw pipe 1 config bw 300Kbit/s"
 .Pp
 $B?tCM$NBe$j$K%G%P%$%9L>$,;XDj$5$l$?>l9g!"(B
 $BAw?.%/%m%C%/$O;XDj$7$?%G%P%$%9$+$iM?$($i$l$^$9!#(B
@@ -843,32 +1364,47 @@
 $B%G%P%$%9$N$_$,(B
 .Xr ppp 8
 $B$HAH$_9g$o$;$F;HMQ$9$k$?$a$K!"$3$N5!G=$rDs6!$7$F$$$^$9!#(B
+.Pp
 .It Cm delay Ar ms-delay
 $BCY1d;~4V$G$"$j!"%_%jICC10L$G;XDj$7$^$9!#(B
 $BCM$O!"%/%m%C%/%F%#%C%/$NG\?t(B
 ($BE57?E*$K$O(B 10ms $B$G$9$,!"(B
-$B%+!<%M%k$r(B "options HZ=1000" $B$GF0:n$5$;$F@:EY$r(B 1ms $B0J2<$K$9$k$HNI$$(B
+$B%+!<%M%k$r(B
+.Dq "options HZ=1000"
+$B$GF0:n$5$;$F@:EY$r(B 1ms $B0J2<$K$9$k$HNI$$(B
 $B$3$H$,7P83E*$KCN$i$l$F$$$^$9(B) $B$K4]$a$i$l$^$9!#(B
 $B%G%U%)%k%HCM$O(B 0 $B$G$"$j!"CY1dL5$7$r0UL#$7$^$9!#(B
-.It Cm queue Brq Ar slots | size Ns Cm Kbytes
-$B%-%e!<$NBg$-$5$G$"$j!"%9%m%C%H?t$+(B KBytes $B$G$9!#(B
-$B%G%U%)%k%HCM$O(B 50 $B%9%m%C%H$G$"$j!"(B
-$B%$!<%5%M%C%H%G%P%$%9$NE57?E*$J%-%e!<$NBg$-$5$G$9!#(B
-$BDcB.%j%s%/$G$O%-%e!<$NBg$-$5$rC;$/$9$Y$-$3$H$KCm0U$7$F$/$@$5$$!#(B
-$B$5$b$J$$$H!"%H%i%U%#%C%/$O?SBg$J%-%e!<CY1d$K$h$k1F6A$r<u$1$F$7$^$$$^$9!#(B
-$BNc$($P!"(B
-50 $B8D$N:GBg%$!<%5%M%C%H%Q%1%C%H(B (1500 $B%P%$%H(B) $B$O(B 600Kbit $B$G$"$j!"(B
-30Kbit/s $B$N%Q%$%W$G$O(B 20 $BIC$N%-%e!<$r0UL#$7$^$9!#(B
-$B$h$jBg$-$J(B MTU $B$N%$%s%?%U%'!<%9$+$i%Q%1%C%H$r<u$1<h$k$H$-$K$O!"(B
-$B$h$j0-$$7k2L$H$J$j$^$9!#(B
-$BNc$($P!"%k!<%W%P%C%/%$%s%?%U%'!<%9$K$*$$$F(B 16KB $B%Q%1%C%H$r<u$1<h$k$H$-$G$9!#(B
-.It Cm plr Ar packet-loss-rate
-$B%Q%1%C%HAS<:N($G$9!#(B
-$B0z?t(B
-.Ar packet-loss-rate
-$B$O(B 0 $B$H(B 1 $B$N4V$NIbF0>.?tE@?t$G$"$j!"(B
-0 $B$OAS<:L5$7$r0UL#$7!"(B1 $B$O(B 100% $B$NAS<:$r0UL#$7$^$9!#(B
-$BAS<:N($OFbItE*$K$O(B 31 $B%S%C%H$GI=8=$5$l$^$9!#(B
+.El
+.Pp
+$B<!$N%Q%i%a!<%?$r%-%e!<$KBP$7$F@_Dj2DG=$G$9(B:
+.Pp
+.Bl -tag -width indent -compact
+.It Cm pipe Ar pipe_nr
+$B%-%e!<$r;XDj$7$?%Q%$%W$K@\B3$7$^$9!#(B
+$BJ#?t$N%-%e!<(B
+($BBgDq$O0[$J$k=E$_$r;}$A$^$9(B)
+$B$rF10l$N%Q%$%W$K@\B3$9$k$3$H$,$G$-$^$9!#(B
+$B%Q%$%W$O%-%e!<$N=89g$KBP$9$k=8Ls$5$l$?%l!<%H$r;XDj$7$^$9!#(B
+.Pp
+.It Cm weight Ar weight
+$B$3$N%-%e!<$K%^%C%A$9$k%U%m!<$KE,MQ$9$k=E$_$r;XDj$7$^$9!#(B
+$B=E$_$O(B 1 $B$+$i(B 100 $B$NHO0O$G$J$1$l$P$J$i$:!"(B
+$B%G%U%)%k%H$O(B 1 $B$G$9!#(B
+.El
+.Pp
+$B:G8e$K!"<!$N%Q%i%a!<%?$,%Q%$%W$d%-%e!<$KBP$7$F@_Dj$G$-$^$9(B:
+.Pp
+.Bl -tag -width indent -compact
+.Pp
+.It Cm buckets Ar hash-table-size
+$BMM!9$J%-%e!<$r3JG<$9$k%O%C%7%eI=$N%5%$%:$r;XDj$7$^$9!#(B
+$B%G%U%)%k%H$O(B 64 $B$G!"(B
+.Xr sysctl 8
+$BJQ?t(B
+.Em net.inet.ip.dummynet.hash_size
+$B$K$h$C$F(B
+16 $B$+$i(B 1024 $B$^$G$NHO0O$G@)8f$9$k$3$H$,2DG=$G$9!#(B
+.Pp
 .It Cm mask Ar mask-specifier
 .Xr dummynet 4
 $B$G$O!"%U%m!<$4$H$N%-%e!<$r@8@.2DG=$G$9!#(B
@@ -884,30 +1420,51 @@
 .Cm all
 $B!#(B
 $B:G8e$N;XDj;R$O!"(B
-$B$9$Y$F$N%U%#!<%k%I$N$9$Y$F$N%S%C%H$,=EMW$G$"$k$3$H$r0UL#$7$F$$$^$9!#(B
-.Ar pipe
-$B@_DjCf$G;HMQ$5$l$k>l9g!"(B
+$B$9$Y$F$N%U%#!<%k%I$N$9$Y$F$N%S%C%H$,8!::$5$l$k$3$H$r0UL#$7$F$$$^$9!#(B
+.Ar $B%Q%$%W(B
+$B@_Dj$NCf$G;HMQ$5$l$k>l9g!"(B
 $B3F%U%m!<$K$O%Q%$%W$N%l!<%H$KEy$7$$%l!<%H$,3d$jEv$F$i$l$^$9!#(B
-.Ar queue
-$B@_DjCf$G;HMQ$5$l$k>l9g!"(B
+.Ar $B%-%e!<(B
+$B@_Dj$NCf$G;HMQ$5$l$k>l9g!"(B
 $B3F%U%m!<$K$O%-%e!<$N=E$_$KEy$7$$=E$_$,3d$jEv$F$i$l!"(B
 $BF1$8%Q%$%W$r9=@.$9$k%-%e!<$O=E$_$KHfNc$7$F%P%s%II}$r6&M-$7$^$9!#(B
-.It Cm buckets Ar hash-table-size
-$BMM!9$J%-%e!<$r3JG<$9$k$?$a$K;HMQ$9$k%O%C%7%eI=$NBg$-$5$r;XDj$7$^$9!#(B
-$B%G%U%)%k%HCM$O(B 64 $B$G$"$j!"(B
-.Xr sysctl 8
-$BJQ?t(B
-.Em net.inet.ip.dummynet.hash_size
-$B$G@)8f$5$l!";HMQ2DG=$JHO0O$O(B 16 $B$+$i(B 1024 $B$G$9!#(B
-.It Cm pipe Ar pipe_nr
-$B%-%e!<$r;XDj$7$?%Q%$%W$K@\B3$7$^$9!#(B
-$BJ#?t$N%-%e!<(B ($BDL>o$O0[$J$C$?=E$_(B) $B$rF10l$N%Q%$%W$K@\B32DG=$G$9!#(B
-$B$3$N>l9g!"$3$N%-%e!<=89g$KBP$9$k=8Ls%l!<%H$r!"$3$N%Q%$%W$,;XDj$7$^$9!#(B
-.It Cm weight Ar weight
-$B$3$N%-%e!<$KE,9g$9$k%U%m!<$K;HMQ$9$k=E$_$r;XDj$7$^$9!#(B
-$B=E$_$O(B 1..100 $B$NHO0O$G$"$k$3$H$,I,MW$G$"$j!"%G%U%)%k%H$O(B 1 $B$G$9!#(B
+.Pp
+.It Cm noerror
+$B%Q%1%C%H$,(B dummynet $B$N%-%e!<$d%Q%$%W$K$h$C$FMn$5$l$?$H$-!"(B
+$BDL>o$O!"(B
+$B%G%P%$%9%-%e!<$,0lGU$K$J$C$?$H$-$K@8$8$k$N$HF1MM$J7A$G!"(B
+$B%(%i!<$,%+!<%M%kFb$N8F$S=P$785%k!<%A%s$KJs9p$5$l$^$9!#(B
+$B$3$N%*%W%7%g%s$r@_Dj$9$k$H!"(B
+$B%Q%1%C%H$NG[Aw$K@.8y$7$?$+$N$h$&$KJs9p$5$l$^$9!#(B
+$B$3$l$O!"(B
+$B1s3VCO$K$"$k%k!<%?$G$NB;<:$dmUmT$r%7%_%e%l!<%H$7$?$$$H$$$&(B
+$B0lIt$N<B83E*$J@_Dj$N$?$a$KI,MW$H$5$l$F$$$^$9!#(B
+.Pp
+.It Cm plr Ar packet-loss-rate
+$B%Q%1%C%H$NB;<:N($G$9!#(B
+$B0z?t(B
+.Ar packet-loss-rate
+$B$O(B 0 $B$+$i(B 1 $B$^$G$NIbF0>.?tE@?t$G!"(B
+0 $B$,B;<:$,$J$$$3$H$r!"(B1 $B$,(B 100% $B<:$o$l$k$3$H$r0UL#$7$^$9!#(B
+$BB;<:N($OFbItE*$K$O(B 31 $B%S%C%H$GI=8=$5$l$F$$$^$9!#(B
+.Pp
+.It Cm queue Brq Ar slots | size Ns Cm Kbytes
+.Ar slots
+$B$^$?$O(B
+.Cm KBytes
+$B$GI=$7$?%-%e!<$N%5%$%:$G$9!#(B
+$B%G%U%)%k%H$O(B 50 $B%9%m%C%H$G!"(B
+$B$3$l$O%$!<%5%M%C%H%G%P%$%9$K$*$1$kE57?E*$J%-%e!<$N%5%$%:$G$9!#(B
+$BDcB.%j%s%/$N$?$a$K%-%e!<$N%5%$%:$r>.$5$$$^$^$K$7$F$*$/$3$H$,?d>)$5$l$^$9!#(B
+$B$=$&$7$J$$$H%H%i%U%#%C%/$KBP$9$k%-%e!<$NCY1d$,Cx$7$/$J$k$+$b$7$l$^$;$s!#(B
+$BNc$($P!":GBg%5%$%:$N%$!<%5%M%C%H%Q%1%C%H(B (1500 $B%P%$%H(B) $B$,(B 50 $B8D$N$H$-!"(B
+600Kbit$B!"(B $B$D$^$j(B 30Kbit/$BIC(B $B$N%Q%$%W$G(B 20 $BIC$H$$$&$3$H$K$J$j$^$9!#(B
+$B$=$l$h$j$b$:$C$HBg$-$J(B MTU $B$r;}$C$?%$%s%?%U%'!<%9(B
+($BNc$($P%k!<%W%P%C%/%$%s%?%U%'!<%9$O(B 16KB $B%Q%1%C%H$G$9(B)
+$B$+$i%Q%1%C%H$r<u$1<h$k$H$7$F$b0-$$7k2L$H$J$k$3$H$,$"$j$^$9!#(B
+.Pp
 .It Cm red | gred Ar w_q Ns / Ns Ar min_th Ns / Ns Ar max_th Ns / Ns Ar max_p
