From owner-man-jp-reviewer@jp.FreeBSD.org Tue Dec  3 04:04:54 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id gB2J4sS70640;
	Tue, 3 Dec 2002 04:04:54 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from oasis.sharplabs.com (oasis.sharplabs.com [216.65.151.171])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id gB2J4r270635
	for <man-jp-reviewer@jp.freebsd.org>; Tue, 3 Dec 2002 04:04:53 +0900 (JST)
	(envelope-from kuma@oasis.sharplabs.com)
Received: from oasis.sharplabs.com (localhost.enet.sharplabs.com [127.0.0.1])
	by oasis.sharplabs.com (8.11.6/8.11.6) with ESMTP id gB2J4jD60209
	for <man-jp-reviewer@jp.freebsd.org>; Mon, 2 Dec 2002 11:04:46 -0800 (PST)
	(envelope-from kuma@oasis.sharplabs.com)
To: man-jp-reviewer@jp.FreeBSD.org
Message-ID: <60207.1038855885@oasis.sharplabs.com>
From: Norihiro Kumagai <kuma@oasis.sharplabs.com>
Reply-To: man-jp-reviewer@jp.FreeBSD.org
Precedence: list
Date: Mon, 02 Dec 2002 11:04:45 -0800
X-Sequence: man-jp-reviewer 4306
Subject: [man-jp-reviewer 4306] ipfw.8
Errors-To: owner-man-jp-reviewer@jp.FreeBSD.org
Sender: owner-man-jp-reviewer@jp.FreeBSD.org
X-Originator: kuma@oasis.sharplabs.com
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+021111

$B7'C+$G$9!#(B

ipfw.8 $B$N:9J,E,MQCW$7$^$7$?!#(B
$B$*G<$a2<$5$$!#(B

$B$7$+$7!"(Bipfw2 $B$O$J$+$J$+NO$,F~$C$F$$$^$9!#(B
keep-state $B$,;H$($k$h$&$K$J$C$?$N$G!"$^$?(B ipfw+ipnat $B$K0z1[$7(B
$B$7$F$_$h$&$+$H0l=V;W$C$?$j$7$^$7$?!#(B

--
$B7'C+(B $BE5Bg(B

--- ipfw-org.8	Tue Nov  5 19:45:10 2002
+++ ipfw.8	Sun Dec  1 00:20:42 2002
@@ -1,13 +1,8 @@
 .\"
-.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.28 2002/09/30 20:57:05 blackend Exp %
+.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.115 2002/10/28 07:03:56 luigi Exp %
 .\"
 .\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ipfw.8,v 1.47 2002/11/05 03:47:12 horikawa Exp $
 .\"
-.de NOIPFW
-.br
-(\\$1 NOT IN IPFW)
-.br
-..
 .Dd August 13, 2002
 .Dt IPFW 8
 .Os
@@ -74,46 +69,29 @@
 .Xr dummynet 4
 $B%H%i%U%#%C%/%7%'%$%Q$r@)8f$9$k%f!<%6%$%s%?%U%'!<%9$G$9!#(B
 .Pp
+.Bd -ragged -offset XXXX
 .Em $BCm(B:
-$B$3$N%^%K%e%"%k%Z!<%8$O(B 2002 $BG/(B 7 $B7n$KF3F~$5$l(B
+$B$3$N%^%K%e%"%k%Z!<%8$O(B 2002 $BG/(B 7 $B7n$K(B
+.Fx
+CURRENT $B$KF3F~$5$l(B
 .Nm ipfw2
 $B$H$7$F$bCN$i$l$F$$$k(B
 .Nm
-$B$N?7%P!<%8%g%s$r;2>H$7$F$$$^$9!#(B
-$B$3$3$K<($9%3%^%s%I$N%j%9%H$O5lHG$N%U%!%$%"%&%)!<%k$N%9!<%Q!<%;%C%H$G$9!#(B
-$BN><T$r6hJL$9$kI,MW$,$"$k$H$-$O5lHG$r(B
-.Nm ipfw1
-$B$H8F$V$3$H$K$7$^$9!#(B
-.Pp
+$B$N?7%P!<%8%g%s$K$D$$$F@bL@$7$F$$$^$9!#(B
 .Nm ipfw2
-$B$O(B
-.Fx
-CURRENT $B$NI8=`$G$9$,!"(B
-.Fx
-STABLE $B$G$O!"(B
-.Cm options IPFW2
-$B$r$D$1$F%+!<%M%k$r%3%s%Q%$%k$7!"(B
-.Cm -DIPFW2
-$B$r$D$1$F(B
-.Nm /sbin/ipfw
-$B$H(B
-.Nm /usr/lib/libalias
-$B$r:F%3%s%Q%$%k$7$F:F%$%s%9%H!<%k(B
-(
-buildworld $B$NA0$K(B
-.Cm IPFW2=TRUE
-$B$r(B
-.Nm /etc/make.conf
-$B$KDI2C$9$k$HF1MM$N7k2L$K$J$j$^$9(B
-)
-$B$7$J$$$H!":#$G$b(B
-.Nm ipfw1
-$B$r;H$$$^$9!#(B
-.Pp
+$B$O5lHG$N%U%!%$%"%&%)!<%k(B
 .Nm ipfw1
-$B$KB8:_$7$J$$5!G=$N0lMw$O(B
+$B$N%9!<%Q%;%C%H$G$9!#$3$N(B 2 $B$D$N0c$$$O%;%/%7%g%s(B
 .Sx IPFW2 $B3HD%(B
-$B%;%/%7%g%s$r;2>H$7$F2<$5$$!#(B
+$B$KNs5s$5$l$F$$$^$9!#8E$$%k!<%k%;%C%H$r=q$-D>$7!"$h$j8zN(E*$K$9$k$?$a$K!"(B
+$B$3$3$rFI$`$3$H$r$*4+$a$7$^$9!#(B
+.Fx
+STABLE $B$G(B
+.Nm ipfw2
+$B$r<B9T$9$k<j=g$K$D$$$F$O!"%;%/%7%g%s(B
+.Sx FreeBSD-STABLE $B$G(B IPFW2 $B$r;H$&(B
+$B$r;2>H2<$5$$!#(B
+.Ed
 .Pp
 .Nm
 $B$N@_Dj!"$b$7$/$O(B
@@ -122,18 +100,18 @@
 .Em $B%k!<%k(B
 $B$N%j%9%H$+$i$J$j$^$9!#(B
 $B%Q%1%C%H$O(B
-$B%W%m%H%3%k%9%?%C%/$N$?$/$5$s$N0[$J$k2U=j$G(B
+$B%W%m%H%3%k%9%?%C%/Cf$N$$$/$D$+$N2U=j$+$i(B
 .Nm
 $B$KEO$5$l$^$9(B
-($B%Q%1%C%H$NH/?.85$H08@h$K0MB8$7!"(B
+($B%Q%1%C%H$NH/?.85$H08@h$K$h$C$F$O!"(B
 .Nm
 $B$OF1$8%Q%1%C%H$KBP$7$FJ#?t2s5/F0$5$;$i$l$k2DG=@-$,$"$j$^$9(B)$B!#(B
 $B%U%!%$%"%&%)!<%k$KEO$5$l$k%Q%1%C%H$O(B
 $B%U%!%$%"%&%)!<%k$N(B
 .Em $B%k!<%k%;%C%H(B
-$B$K=q$+$l$?3F%k!<%k$KBP$7$F>H9g$5$l$^$9!#(B
+$BCf$N%k!<%k$=$l$>$l$KBP$7$F>H9g$5$l$^$9!#(B
 .Pp
-$B0lCW$7$?>l9g!"0lCW$7$?%k!<%k$KBP1~$9$k%"%/%7%g%s$,<B9T$5$l$^$9!#(B
+$B%^%C%A$7$?>l9g!"%^%C%A$7$?%k!<%k$KBP1~$9$k%"%/%7%g%s$,<B9T$5$l$^$9!#(B
 $B%"%/%7%g%s$H<B:]$N%7%9%F%`$N@_Dj$K$h$C$F$O!"(B
 $B%^%C%A$7$?%k!<%k$N8e$N%k!<%k$G$5$i$K=hM}$r9T$&$?$a$K(B
 $B%Q%1%C%H$,%U%!%$%"%&%)!<%k$K:FCmF~$5$l$k$3$H$,$"$j$^$9!#(B
@@ -153,10 +131,11 @@
 $B$3$l$O$I$N$h$&$K%+!<%M%k$r@_Dj$7$?$+$K0MB8$7$^$9!#(B
 .Pp
 $B%k!<%k%;%C%H$,(B
+$B%*%W%7%g%s(B
 .Cm keep-state
 $B$^$?$O(B
 .Cm limit
-$B$N%*%W%7%g%sIU$-$N%k!<%k$r4^$`>l9g!"(B
+$BIU$-$N%k!<%k$r4^$`>l9g!"(B
 .Nm
 $B$O(B
 .Em $B%9%F!<%H%U%k(B ($B>uBV0MB87?(B)
@@ -171,8 +150,8 @@
 $B$^$?$O(B
 .Cm limit
 $B%k!<%k$,:G=i$K@8$8$?>l=j$G%A%'%C%/$5$l$^$9!#(B
-$BF0E*%k!<%k$O!"@5Ev$J%H%i%U%#%C%/$r%*%s%G%^%s%I$G(B
-$B%U%!%$%"%&%)!<%k$rDL2a$5$;$k$?$a$KMQ$$$k$3$H$,IaDL$G$9!#(B
+$BF0E*%k!<%k$O!"IaDL!"@5Ev$J%H%i%U%#%C%/$r%*%s%G%^%s%I$G(B
+$B%U%!%$%"%&%)!<%k$rDL2a$5$;$k$?$a$KMQ$$$^$9!#(B
 .Nm
 $B$N%9%F!<%H%U%k$JF0:n$K$D$$$F99$K>pJs$,I,MW$J$i$P!"(B
 $B0J2<$N(B
@@ -182,9 +161,9 @@
 $B%;%/%7%g%s$r;2>H$7$F2<$5$$!#(B
 .Pp
 $BA4$F$N%k!<%k(B($BF0E*%k!<%k$r4^$`(B)$B$O!"(B
-$B4XO"$9$k%+%&%s%?$r$$$/$D$+;}$C$F$$$^$9(B:
+$B4XO"$9$k%+%&%s%?$r$$$/$D$+;}$C$F$$$^$9!#$=$l$i$O!"(B
 $B%Q%1%C%H%+%&%s%H!"%P%$%H%+%&%s%H!"%m%0%+%&%s%H!"(B
-$B:G8e$K%^%C%A$7$?;~9o$r<($9%?%$%`%9%?%s%W!#(B
+$B:G8e$K%^%C%A$7$?;~9o$r<($9%?%$%`%9%?%s%W$G$9!#(B
 $B%+%&%s%?$O!"(B
 .Nm
 $B%3%^%s%I$K$h$C$FI=<($9$k$3$H$,$G$-!"$^$?%j%;%C%H$9$k$3$H$,$G$-$^$9!#(B
@@ -192,7 +171,7 @@
 $B%k!<%k$NDI2C$O(B
 .Cm add
 $B%3%^%s%I$K$F2DG=$G$9!#(B
-$B8DJL!"$^$?$O%0%k!<%W$G$N%k!<%k$N:o=|$O(B
+$B%k!<%k$R$H$D$R$H$D!"$^$?$O$^$H$a$F$N:o=|$O(B
 .Cm delete
 $B%3%^%s%I$K$F2DG=$G$"$j!"$9$Y$F$N%k!<%k$N:o=|$O(B
 .Cm flush
@@ -210,7 +189,7 @@
 .Cm resetlog
 $B%3%^%s%I$K$F2DG=$G$9!#(B
 .Pp
-$B$^$?!"3F%k!<%k$O(B 32 $B$N(B
+$B$^$?!"3F%k!<%k$O(B 32 $B8D$N(B
 $B0[$J$k(B
 .Em $B%;%C%H(B
 $B$N(B 1 $B$D$K=jB0$7!"(B
@@ -290,7 +269,7 @@
 $BL58z2=$5$l$F$$$k%k!<%k$OI=<($5$l$^$;$s!#(B
 .It Fl s Op Ar field
 $B%Q%$%W7PM3$G%j%9%H=PNO$7$F$$$k:]$K!"(B4 $B$D$N%+%&%s%?$N(B 1 $B$D$K$D$$$F(B
-$B@0Ns$5$;$^$9(B ($B8=:_$N%Q%1%C%H?t(B)$B!#(B
+$B@0Ns$5$;$^$9(B ($BAm%Q%1%C%H?t(B/$B%P%$%H?t$^$?$O8=:_$N%Q%1%C%H?t(B/$B%P%$%H?t(B)$B!#(B
 .It Fl t
 $B%k!<%k$N%j%9%H$rI=<($9$k:]$K!"(B
 $B:G8e$K%^%C%A$7$?%?%$%`%9%?%s%W$rI=<($7$^$9!#(B
@@ -337,7 +316,7 @@
 $BIQHK$KI,MW$H$J$k0z?t$r=8Cf4IM}$9$k$?$a$N%^%/%m$r;HMQ2DG=$H$J$j$^$9!#(B
 .Pp
 $B8e=R$N(B
-.Sx $B%H%i%U%#%C%/%7%'%$%Q@_Dj(B
+.Sx $B%H%i%U%#%C%/%7%'%$%Q(B (DUMMYNET) $B@_Dj(B
 $B%;%/%7%g%s$G<($9$h$&$K!"(B
 .Nm
 .Cm pipe
@@ -345,13 +324,12 @@
 .Cm queue
 $B%3%^%s%I$r;HMQ$7$F!"%H%i%U%#%C%/%7%'%$%Q$r9=C[2DG=$G$9!#(B
 .Sh $B%Q%1%C%H%U%m!<(B
-$B%7%9%F%`%Q%i%a!<%?$N@)8f$K$h$j!"(B
-.Nm
-$B$O%W%m%H%3%k%9%?%C%/$NCf$NJ#?t$N2U=j$+$i<B9T$5$l$^$9!#(B
-$BE,@Z$J%k!<%k%;%C%H$r@_7W$9$k$K$O!"$3$N8=>]$rM}2r$9$k$3$H$,=EMW$G$9!#(B
-.Nm
-$B$,<B9T$5$l$k2U=j$O!"$=$N<B9T$r@)8f$9$k(B sysctl $BJQ?t$H$H$b$K(B
-$B0J2<$K5s$2$i$l$F$$$^$9!#(B
+1 $B8D$N%Q%1%C%H$,!"%W%m%H%3%k%9%?%C%/$NJ#?t$N>l=j$G!"(B
+$BM-8z$J%k!<%k%;%C%H$KBP$7%A%'%C%/$5$l$^$9!#$3$N%A%'%C%/$O(B
+$B$$$/$D$+$N(B sysctl $BJQ?t$K4p$E$-$^$9!#(B
+$B$3$l$i$N>l=j$HJQ?t$r0J2<$K<($7$^$9!#(B
+$B%k!<%k%;%C%H$r@5$7$/@_7W$9$k$?$a$K$O!"$3$N?^$r$h$/M}2r$9$k(B
+$B$3$H$,Bg@Z$G$9!#(B
 .Bd -literal -offset indent
       ^	    to upper layers   V
       |                       |
@@ -371,11 +349,11 @@
 $BF10l$N%Q%1%C%H$,%U%!%$%"%&%)!<%k$rDL2a$9$k2s?t$O!"(B
 $B%Q%1%C%H$NH/?.85$d08@h!"%7%9%F%`$N@_Dj$K$h$j!"(B
 0 $B2s$+$i(B 4 $B2s$NHO0O$GJQF0$7$^$9!#(B
-$B$3$l$i$N3F=j$G!"$=$N%l%Y%k$KB0$9$kA4$F$N(B($B$=$7$FM#0l$N(B)$B%U%#!<%k%I$H0l=o$K!"(B
-$B%Q%1%C%H$O(B
-.Nm
-$B$KEO$5$l$^$9!#(B
-$B$D$^$j!"30$+$iF~$C$F$/$k%Q%1%C%H$O(B
+.Pp
+$B%Q%1%C%H$,%9%?%C%/$rDL2a$9$k$K$D$l%X%C%@$,:o=|(B / $BDI2C$5$l$k(B
+$B2DG=@-$,$"$j!"%X%C%@$,%A%'%C%/$K;H$($?$j;H$($J$+$C$?$j$9$k(B
+$B$3$H$KCm0U$7$F2<$5$$!#(B
+$BNc$($P!"30$+$iF~$C$F$/$k%Q%1%C%H$O(B
 .Cm ether_demux()
 $B$+$i(B
 .Nm
@@ -385,29 +363,27 @@
 $B$+$i(B
 .Nm
 $B$,<B9T$5$l$?$H$-$K$O(B MAC $B%X%C%@$O<h$j=|$+$l$F$$$k$O$:$G$9!#(B
-.br
-.Nm
-$B$,<B9T$5$l$?>l=j$d!"%Q%1%C%H$N%=!<%9$K4X$o$j$J$/!"(B
-$B40A4$J%k!<%k%;%C%H$,>o$K;HMQ$5$l$^$9!#(B
+.Pp
+$B$^$?!"3F%Q%1%C%H$O>o$K%k!<%k%;%C%HA4BN$KBP$7%A%'%C%/$5$l$k$3$H$K$b(B
+$BCm0U$7$F$/$@$5$$!#(B
+$B$3$l$O!"%A%'%C%/$,@8$8$?>l=j!"%Q%1%C%H$N%=!<%9$K4X78$"$j$^$;$s!#(B
 $B<B9T$5$l$?2U=j$K$h$C$F$OL58z$H$J$k$h$&$J(B
 $B%^%C%A%Q%?!<%s$d%"%/%7%g%s(B
 ($BNc$($P!"(B
 .Cm ip_input()
-$B$+$i(B
-.Nm
-$B$,8F$S=P$5$l$?$H$-$K(B MAC $B%X%C%@$H%^%C%A$r;n$_$k$h$&$J$b$N(B)
+$BCf$G(B MAC $B%X%C%@$H%^%C%A$r;n$_$k$h$&$J$b$N(B)
 $B$r%k!<%k$,4^$s$G$$$k$J$i!"$=$N%Q%?!<%s$O%^%C%A$7$J$$$3$H$K$J$j$^$9!#(B
 $B$H$O$$$(!"$=$N$h$&$J%Q%?!<%s$NA0$K(B
 .Cm not
-$B%*%Z%l!<%?$r5-=R$9$l$P!"%Q%?!<%s$O(B
+$B%*%Z%l!<%?$r5-=R$9$l$P!"$3$N%Q%?!<%s$O(B
 .Em $B>o$K(B
-$B$=$N$h$&$J%Q%1%C%H$K%^%C%A$9$k$3$H$K$J$j!"K>$^$7$/$J$$7k2L$H$J$k$G$7$g$&!#(B
-$B$7$?$,$C$F!"I,MW$J$i$P!"2DG=@-$N$"$k2U=j$NCf$G<1JL$9$k$h$&$K!"(B
+$B$=$N$h$&$J%Q%1%C%H$K%^%C%A$9$k$3$H$K$J$j$^$9!#(B
+$B$7$?$,$C$F!"I,MW$K1~$8!"@8$8F@$k>l=j$N0c$$$rM}2r$7$F!"(B
 $BE,@Z$J%k!<%k%;%C%H$r5-=R$9$k$3$H$O%W%m%0%i%^$N@UG$$G$9!#(B
 $B$=$3$G(B
 .Cm skipto
 $B%k!<%k$,Lr$KN)$D$3$H$G$7$g$&!#(B
-$BNc$($P<!$N$h$&$K$7$^$9(B:
+$BNc$($P<!$N$h$&$K$7$^$9!#(B
 .Bd -literal -offset indent
 # ether_demux $B$^$?$O(B bdg_forward $B$+$i$N%Q%1%C%H(B
 ipfw add 10 skipto 1000 all from any to any layer2 in
@@ -423,7 +399,7 @@
 $B6hJL$9$kJ}K!$O$"$j$^$;$s(B)$B!#(B
 .Sh $B%k!<%k=q<0(B
 .Nm
-$B$N=q<0$O<!$NDL$j$G$9(B:
+$B%k!<%k$N=q<0$O<!$NDL$j$G$9!#(B
 .Bd -ragged -offset indent
 .Op Ar rule_number
 .Op Cm set Ar set_number
@@ -434,8 +410,8 @@
 .Ar body
 .Ed
 .Pp
-$B$3$3$G!"%k!<%k$N%\%G%#$O<!$N$h$&$K!"(B
-$B%Q%1%C%H$r%U%#%k%?$9$k$N$K$I$N>pJs$r;HMQ$9$k$N$+$r;XDj$7$^$9(B:
+$B$3$NCf$G!"%k!<%k$N%\%G%#(B (body) $B$O<!$NCf$+$i$I$N>pJs$r;HMQ$7$F(B
+$B%Q%1%C%H$r%U%#%k%?$9$k$+$r;XDj$7$^$9!#(B
 .Pp
 .Bl -tag -width "Source and dest. addresses and ports" -offset XXX -compact
 .It $B%l%$%d(B 2 $B%X%C%@%U%#!<%k%I(B
@@ -464,11 +440,11 @@
 $B%Q%1%C%H$r%m!<%+%k%=%1%C%H$K4XO"$E$1$k$3$H$,2DG=$J>l9g(B
 .El
 .Pp
-$B>e5-$N>pJs!"(B
+$B>e5-$N>pJs$N$&$A4v$D$+!"(B
 $BNc$($P!"Aw?.85(B MAC $B%"%I%l%9$^$?$O(B IP $B%"%I%l%9$H(B TCP/UDP $B%]!<%H(B
 $B$OMF0W$K:>>N$,2DG=$G$"$k$3$H$KCm0U$7$F2<$5$$!#(B
 $B$7$?$,$C$F!"$3$l$i$N%U%#!<%k%I$N$_$G%U%#%k%?$9$k$3$H$O(B
-$BI,$:$7$bK>$^$7$$7k2L$H$O$J$j$^$;$s!#(B
+$BI,$:$7$bK>$^$7$$7k2L$rJ]>Z$7$^$;$s!#(B
 .Bl -tag -width indent
 .It Ar rule_number
 $B3F%k!<%k$O!"(B1 $B$+$i(B 65535 $B$NHO0O$N(B
@@ -493,7 +469,7 @@
 $B$b$7!"$3$NA`:n$,(B
 ($BNc$($P5v2D$5$l$?:GBg%k!<%kHV9f$r1[$($k$H$$$C$?M}M3$G(B)
 $BIT2DG=$G$"$l$P!"(B
-$B:G8e$N%G%U%)%k%H$G$J$$CM$HF1$8HV9f$,Be$o$j$K;HMQ$5$l$^$9!#(B
+$B:G8e$N%G%U%)%k%H$G$J$$CM$,Be$o$j$K;HMQ$5$l$^$9!#(B
 .It Cm set Ar set_number
 $B3F%k!<%k$O(B 0 $B$+$i(B 31 $B$NHO0O$N(B
 .Ar set_number
@@ -504,19 +480,19 @@
 $B%;%C%H$O8DJL$KL58z2=$7$?$jM-8z2=$7$?$j$9$k$3$H$,$G$-$^$9!#(B
 $B$7$?$,$C$F!"$3$N%Q%i%a!<%?$O%"%H%_%C%/$J%k!<%k%;%C%HA`:n$r9T$&$?$a$K(B
 $BI,MWIT2D7g$J$b$N$G$9!#(B
-$B%k!<%k%;%C%H$rC1=c$K:o=|$9$k$3$H$b2DG=$G$9!#(B
-$B%;%C%HHV9f$r;XDj$;$:$K%k!<%k$,F~NO$5$l$?>l9g!"(B
+$B$3$N%Q%i%a!<%?$r;H$&$3$H$G!"%k!<%k$r$^$H$a$F:o=|$9$k$3$H$r(B
+$BC1=c$K$9$k$3$H$b$G$-$^$9!#(B
+$B%;%C%HHV9f$r;XDj$;$:$K%k!<%k$rF~NO$7$?>l9g!"(B
 $B%;%C%H(B 0 $B$,;HMQ$5$l$^$9!#(B
 .It Cm prob Ar match_probability
 $B;XDj$7$?3NN((B (0 $B$+$i(B 1 $B$^$G$NIbF0>.?tE@?t$G$9(B)
-$B$G$7$+%^%C%A$7$J$$%^%C%A$r@k8@$5$l$^$9!#(B
-$B%i%s%@%`$K%Q%1%C%H$rMn$H$9$7$?$j$9$k$h$&$J(B
-$BB?$/$N%"%W%j%1!<%7%g%s$d!"(B
+$B$G$7$+%^%C%A$7$J$$%^%C%A$r@k8@$7$^$9!#(B
+$B%i%s%@%`$K%Q%1%C%H$rMn$H$91~MQ$d!"(B
 (
 .Xr dummynet 4
 $B$H6&$K;HMQ$7$F(B)
-$B%Q%1%C%HE~C#=g=x$NMp$l$r0z$-5/$3$9J#?t7PO)$N8z2L$r%7%_%e%l!<%H$9$k:]$K(B
-$BM-MQ$G$9!#(B
+$B%Q%1%C%HE~C#=g=x$NMp$l$r0z$-5/$3$9J#?t7PO)$N8z2L$r%7%_%e%l!<%H$9$k(B
+$B1~MQ$J$I!"B?$/$N1~MQ$KM-MQ$G$9!#(B
 .It Cm log Op Cm logamount Ar number
 $B%Q%1%C%H$,(B
 .Cm log
@@ -590,7 +566,7 @@
 $B%^%C%A$7$?%Q%1%C%H$N<!$N%[%C%W$r(B
 .Ar ipaddr
 $B$KJQ99$7$^$9!#(B
-$B$3$l$K$O(B4$B$D$N?t;z$r%I%C%H$G6h@Z$C$?(B IP $B%"%I%l%9(B
+$B$3$l$K$O(B IP $B%"%I%l%9$H$7$F!"?t;z(B 4 $B$DAH7A<0(B
 $B$^$?$O%[%9%HL>$,;HMQ$G$-$^$9!#(B
 $B$3$N%k!<%k$K%^%C%A$7$?>l9g!"8!:w$O=*N;$7$^$9!#(B
 .Pp
@@ -616,12 +592,13 @@
 $B%"%/%7%g%s$O%Q%1%C%H$NFbMF$r$^$C$?$/JQ99$7$^$;$s!#(B
 $B<B:]!"08@h%"%I%l%9$,=$@5$5$l$:$K;D$k$N$G!"(B
 $BE>Aw@h%7%9%F%`$,$=$N$h$&$J%Q%1%C%H$r<h$j9~$`%k!<%k$r;}$?$J$$8B$j!"(B
-$BEv3:%Q%1%C%H$ODL>o$=$N%7%9%F%`$,5qH]$7$^$9!#(B
-$B%m!<%+%k$GE>Aw$5$l$k%Q%1%C%H$N$?$a$K!"(B
-$B%=%1%C%H$N%m!<%+%k%"%I%l%9$O%Q%1%C%H$N85$N08@h%"%I%l%9$K@_Dj$5$l$^$9!#(B
+$BB>$N%7%9%F%`$KE>Aw$5$l$?%Q%1%C%H$O!"DL>oE>Aw@h$N%7%9%F%`$G5qH]$5$l$^$9!#(B
+$B%m!<%+%k$KE>Aw$5$l$k%Q%1%C%H$N>l9g!"(B
+$B%=%1%C%H$N%m!<%+%k%"%I%l%9$O%Q%1%C%H$,85!9;}$C$F$$$?(B
+$B08@h%"%I%l%9$K@_Dj$5$l$^$9!#(B
 $B$3$N$3$H$K$h$C$F(B
 .Xr netstat 1
-$B%(%s%H%j$O$+$($C$F4qL/$J8+$(J}$K$J$j$^$9$,!"(B
+$B$,=PNO$9$k%(%s%H%j$O<c434qL/$J8+$(J}$K$J$j$^$9$,!"(B
 $B$3$l$OF)2a%W%m%-%7%5!<%P$G$N;HMQ$r0U?^$7$F$$$^$9!#(B
 .It Cm pipe Ar pipe_nr
 $B%Q%1%C%H$r(B
@@ -630,7 +607,7 @@
 ($B%P%s%II}@)8B!"CY1d$J$I$K;HMQ$5$l$^$9(B)
 $B$XEO$7$^$9!#(B
 $B>\$7$$>pJs$K$D$$$F$O(B
-.Sx $B%H%i%U%#%C%/%7%'%$%Q@_Dj(B
+.Sx $B%H%i%U%#%C%/%7%'%$%Q(B (DUMMYNET) $B@_Dj(B
 $B%;%/%7%g%s$r;2>H$7$F$/$@$5$$!#(B
 $B8!:w$O=*N;$7$^$9!#(B
 $B$7$+$7!"%Q%$%W$+$iH4$1$?$H$-$K(B
@@ -638,15 +615,16 @@
 $BJQ?t(B
 .Em net.inet.ip.fw.one_pass
 $B$,%;%C%H$5$l$F$$$J$$>l9g!"(B
-$B%Q%1%C%H$O%U%!%$%"%&%)!<%k%3!<%I$X:FEYEO$5$l$F<!$N%k!<%k$+$i3+;O$7$^$9!#(B
+$B%Q%1%C%H$O!"$9$0<!$N%k!<%k$+$i;O$^$k%U%!%$%"%&%)!<%k%3!<%I$X(B
+$B:FEYEO$5$l$^$9!#(B
 .It Cm queue Ar queue_nr
 $B%Q%1%C%H$r(B
 .Xr dummynet 4
 .Dq $B%-%e!<(B
-(WF2Q $B$r;H$C$?%P%s%II}@)8B$K;HMQ$5$l$^$9(B)
+(WF2Q+ $B$r;H$C$?%P%s%II}@)8B$K;HMQ$5$l$^$9(B)
 $B$XEO$7$^$9!#(B
 .It Cm reject
-($B2ACM$,Dc2<$7$F$$$^$9(B)$B!#(B
+($BHs?d>)(B)$B!#(B
 .Cm unreach host
 $B$HF15A$G$9!#(B
 .It Cm reset
@@ -655,8 +633,9 @@
 TCP $B%j%;%C%H(B (RST) $BDLCN$rAw=P$7$h$&$H;n$_$^$9!#(B
 $B8!:w$O=*N;$7$^$9!#(B
 .It Cm skipto Ar number
+$B$=$l0J9_$N%k!<%k$N$&$A(B
 .Ar number
-$B$h$j>.$5$JHV9f$N%k!<%k$rHt$S1[$7$F!"(B
+$B$h$j>.$5$JHV9f$N$b$N$9$Y$F$rHt$S1[$7$F!"(B
 .Ar number
 $B0J>e$NHV9f$N%k!<%k$G:G=i$KB8:_$9$k$b$N$+$i!"8!:w$r7QB3$7$^$9!#(B
 .It Cm tee Ar port
@@ -687,12 +666,12 @@
 $B8!:w$O=*N;$7$^$9!#(B
 .El
 .Ss $B%k!<%k%\%G%#(B
-$B%k!<%k$N%\%G%#$O(B 0 $B0J>e$N%Q%?!<%s(B
+$B%k!<%k$N%\%G%#$O(B 0 $B8D0J>e$N%Q%?!<%s(B
 ($BAw?.85$H08@h%"%I%l%9$d%]!<%H$N;XDj!"(B
 $B%W%m%H%3%k%*%W%7%g%s!"<u?.$^$?$OAw?.%$%s%?%U%'!<%9$N;XDj$J$I(B)
-$B$+$i@.$j$^$9!#(B
-$B%Q%1%C%H$O2r<a$5$l$k=g$K%^%C%A$7$J$1$l$P$J$j$^$;$s!#(B
-$BDL>o!"%Q%?!<%s$O(B ($B0EL[E*$K(B)
+$B$r4^$_$^$9!#$3$N%Q%?!<%s$O(B
+$B%Q%1%C%H$r<1JL$9$k$?$a$K%^%C%A$7$J$1$l$P$J$i$J$$$b$N$G$9!#(B
+$B0lHL$K!"%Q%?!<%s$O(B ($B0EL[E*$K(B)
 .Cm and
 $B%*%Z%l!<%?$G@\B3$5$l$^$9(B -- $B$D$^$j!"%k!<%k$,%^%C%A$9$k$?$a$K$O(B
 $BA4$F$,%^%C%A$7$J$1$l$P$J$j$^$;$s!#(B
@@ -720,13 +699,13 @@
 $B$7$?$,$C$F!"$=$N$h$&$J2r<a$,5/$3$i$J$$$h$&$K%P%C%/%9%i%C%7%e(B \\ $B$r(B
 $B$=$NA0$KCV$/$3$H$r4+$a$^$9!#(B
 .Pp
-$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%k!<%k$N%\%G%#$O!"0lHL$KAw?.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
-$B%k!<%k%\%G%#$O0J2<$N=q<0(B:
+$B%k!<%k%\%G%#$O0J2<$N=q<0$G;XDj$7$^$9!#(B
 .Bd -ragged -offset indent
 .Op Ar proto Cm from Ar src Cm to Ar dst
 .Op Ar options
@@ -742,13 +721,13 @@
 .Ar options
 $B%;%/%7%g%s$G;XDj$G$-$^$9!#(B
 .Pp
-$B%k!<%k%U%#!<%k%I$O0J2<$N0UL#$G$9(B:
+$B%k!<%k%U%#!<%k%I$O0J2<$N0UL#$r;}$A$^$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
+IPv4 $B$K$*$1$k%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
+$B$r!"?t;z$dL>A0$G;XDj$7$^$9(B
 ($B40A4$J%j%9%H$O(B
 .Pa /etc/protocols
 $B$r;2>H$7$F2<$5$$(B)$B!#(B
@@ -761,71 +740,84 @@
 .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
+$B$r;XDj$7$^$9!#%*%W%7%g%s$H$7$F!"$=$N8e$K(B
 .Ar ports
-$B;X<(;R$r%*%W%7%g%s$GCV$/$3$H$,$G$-$^$9!#(B
+$B;X<(;R$rB3$1$FCV$/$3$H$,$G$-$^$9!#(B
 .It Ar ip-address :
 $B<!$NJ}K!(B
-($B%*%W%7%g%s$G(B
+$B$N$$$:$l$+$G%"%I%l%9(B ($B$^$?$O%"%I%l%9$N=89g(B) $B$r;XDj$7$^$9(B
+($B%"%I%l%9$K$O!"%*%W%7%g%s$H$7$F(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):
+$B%*%Z%l!<%?$rA0CV$9$k$3$H$,$G$-$^$9(B)$B!#(B
 .Bl -tag -width indent
 .It Cm any
-$BG$0U$N(B IP $B%"%I%l%9$K%^%C%A$7$^$9!#(B
+$BG$0U$N(B IP $B%"%I%l%9$,%^%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%7%9%F%`$N%$%s%?%U%'!<%9$K@_Dj$5$l$?G$0U$N(B IP $B%"%I%l%9$,%^%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
+$B%I%C%H$G6h@Z$C$??t;z(B 4 $B$DAH$^$?$O%[%9%HL>$G;XDj$7$?!"(B
+1 $B$D$N(B IPv4 $B%"%I%l%9$,%^%C%A$7$^$9!#(B
+$B%[%9%HL>$NL>A02r7h$O!"$=$N%k!<%k$,%U%!%$%"%&%)!<%k$N%j%9%H$K(B
+$BDI2C$5$l$k$H$-$K9T$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%I%C%H$G6h@Z$C$??t;z(B 4$B$DAH$^$?$O%[%9%HL>$G;XDj$7$^$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
+$B$K0lCW$9$kA4$F$N%"%I%l%9$,%^%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
+$BA4$F$N(B IP $B%"%I%l%9$,%^%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%I%C%H$G6h@Z$C$??t;z(B 4$B$DAH$^$?$O%[%9%HL>$G;XDj$7$^$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
+$BA4$F$N%"%I%l%9$,%^%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
+$BNc$($P!"%"%I%l%9$r(B 1.2.3.4/24{128,35,55,89} $B$H$7$F;XDj$7$?>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
+$B%S%C%H%^%9%/$r;HMQ$7$F%^%C%A$r9T$&$N$G!"(B
+$BDj?t;~4V$G=hM}$G$-!"%k!<%k%;%C%H$NJ#;($5$,7`E*$K8:>/$7$^$9!#(B
+.It Ar addr Ns : Ns Ar mask
+$B%Y!<%9%"%I%l%9$,(B
+.Ar addr
+($B%I%C%H$G6h@Z$C$?(B 4 $B$D$N?t;z$^$?$O%[%9%HL>$G;XDj$5$l$^$9(B)
+$B$G$"$j!"%^%9%/$,(B
+.Ar mask
+($B%I%C%H$G6h@Z$C$?(B 4 $B$D$N?t;z$G;XDj$5$l$^$9(B)
+$B$G$"$kA4$F$N%"%I%l%9$K%^%C%A$7$^$9!#(B
+$BNc$($P!"(B1.2.3.4/255.0.255.0 $B$O!"(B1.*.3.* $B$K%^%C%A$7$^$9!#(B
+$B$3$N7A<0$O!"O"B3$G$J$$%^%9%/$N>l9g$K$@$1;HMQ$9$k$3$H$r?d>)$7$^$9!#(B
+$BO"B3$J%^%9%/$N>l9g$O!"$h$j%3%s%Q%/%H$G$h$j4V0c$$$K$/$$!"(B
+.Ar addr Ns / Ns Ar masklen
+$B$r;H$$$^$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
+(TCP $B$d(B UDP $B$J$I$N$h$&$K(B) $B%]!<%HHV9f$r%5%]!<%H$7$F$$$k(B
+$B%W%m%H%3%k$K$D$$$F!"%*%W%7%g%s$H$7$F!"(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
+$B$r;XDj$9$k$3$H$,$G$-$^$9!#(B
+1 $B$D0J>e$N%]!<%H$^$?$O%]!<%H$NHO0O$r6uGr$J$7$N%3%s%^6h@Z$j$G;XDj$7$^$9!#(B
+$B$5$i$K%*%W%7%g%s$H$7$F!"(B
 .Cm not
-$B%*%Z%l!<%?$rIU2C$7$F!"(B
-$B;XDj$9$k$3$H$,$G$-$^$9!#(B
+$B%*%Z%l!<%?$rIU2C$7$F;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
-$B%]!<%HHV9f$NBe$o$j$K(B ($B%U%!%$%k(B
+$B%]!<%H?tCM$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%]!<%H%j%9%H$ND9$5$O(B 30 $B%]!<%H$^$?$O%]!<%HHO0O$K@)8B$5$l$F$$$^$9$,!"(B
@@ -833,15 +825,16 @@
 .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$r;HMQ$9$k$3$H$K$h$j!"$h$j9-$$HO0O$r;XDj$9$k$3$H$,$G$-$^$9!#(B
+.Pp
 $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
+$B$r;HMQ$9$k$3$H$K$h$j!"%5!<%S%9L>Cf$N%@%C%7%e(B
 .Pq Ql -
 $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
+($B%7%'%k$+$iF~NO$9$k$H$-!"(B
+$B%7%'%k<+?H$,%(%9%1!<%WJ8;z$H$7$F;HMQ$5$l$J$$$h$&$K$9$k$?$a$K!"(B
+$B%P%C%/%9%i%C%7%e$r(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"
 .Pp
@@ -854,15 +847,15 @@
 .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
+$B$3$l$i$O%k!<%kFb$K(B 0 $B8D0J>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
+$B$H$7$F%0%k!<%W2=$9$k$3$H$,2DG=$G$9!#(B
 .Pp
-$B0J2<$N%^%C%A%Q%?!<%s$,;HMQ$G$-$^$9(B ($B%"%k%U%!%Y%C%H=g$KJB$Y$F$$$^$9(B):
+$B0J2<$N%^%C%A%Q%?!<%s$,;HMQ$G$-$^$9(B ($B%"%k%U%!%Y%C%H=g$KJB$Y$F$$$^$9(B)$B!#(B
 .Bl -tag -width indent
 .It Cm bridged
 $B%V%j%C%8$5$l$k%Q%1%C%H$K$N$_%^%C%A$7$^$9!#(B
@@ -887,12 +880,12 @@
 .Ar group
 $B$OL>A0$+?tCM$G;XDj$9$k$3$H$,$G$-$^$9!#(B
 .It Cm icmptypes Ar types
-ICMP $B%?%$%W$,(B
 .Ar types
-$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$G;XDj$7$?%j%9%HCf$KB8:_$9$k(B ICMP $B%?%$%W$r;}$D(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:
+$B%5%]!<%H$5$l$F$$$k(B ICMP $B%?%$%W$O<!$NDL$j$G$9!#(B
 .Pp
 $B%(%3!<1~Ez(B
 .Pq Cm 0 ,
@@ -945,9 +938,8 @@
 .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$G;XDj$7$?%3%s%^6h@Z$j%j%9%H%*%W%7%g%s$r4^$`(B IP $B%X%C%@$r;}$D(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
@@ -966,12 +958,12 @@
 .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
+$B$G;XDj$7$?%3%s%^6h@Z$j%j%9%H$N%5!<%S%9%?%$%W$r4^$`(B
+.Cm tos
+$B%U%#!<%k%I$r;}$D(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:
+$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 ,
@@ -999,22 +991,22 @@
 $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 (
+$B$3$N%k!<%k$K$OM-8B$N@8B8;~4V(B (
 .Xr sysctl 8
-$BJQ?t$N%;%C%H$G@)8f$5$l$^$9(B)
+$BJQ?t$N=89g$K$h$j@)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%l%$%d(B 2 $B$N%Q%1%C%H!"(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
+$B$XEO$5$l$k%Q%1%C%H$N$_$K%^%C%A$7$^$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
+$B$3$N%k!<%k$G;XDj$7$?$b$N$HF1$8%Q%i%a!<%?$N=89g$r;}$D@\B3$r!"(B
 .Ar N
-$B8D$N@\B3$N$_$r5v2D$7$^$9!#(B
+$B8D$@$15v2D$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
@@ -1022,12 +1014,12 @@
 $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
+$B%"%I%l%9$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
+$B%3%m%s$G6h@Z$C$?(B 16 $B?J?t(B 6 $B8D$NAH$G;XDj$7$^$9!#(B
+$B$3$N(B 6 $B8DAH%"%I%l%9$N8e$m$K$O!"%*%W%7%g%s$H$7$F!"<!$K<($9$h$&$J(B
+($B2?%S%C%H$,=EMW$+$rI=$9(B) $B%^%9%/$r$D$1$k$3$H$,$G$-$^$9!#(B
 .Pp
 .Dl "MAC 10:20:30:40:50:60/33 any"
 .Pp
@@ -1035,48 +1027,50 @@
 $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
+$B%$!<%5%M%C%H%?%$%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
+($B$D$^$j!"C10l$NCM$^$?$OHO0O$,!"(B1 $B8D0J>e%3%s%^$G6h@Z$i$l$?$b$N$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
+$B$N$h$&$J4{CN$NCM$KBP$7$F$O!"%7%s%\%kL>>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 (
+$B>o$K(B 16 $B?J?t$G=PNO$5$l$^$9(B ($B$3$l$O(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
+.Cm -N
+$B%*%W%7%g%s$,;HMQ$5$l$k$H%7%s%\%kL>>N$N2r7h$,;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
+$BBP1~$9$k(B IPv4 $B$N%W%m%H%3%k$r;}$D%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;XDj$7$?%$%s%?%U%'!<%9$+$i(B
+$B<u?.$7$?%Q%1%C%H!"Aw?.$7$?%Q%1%C%H!"DL2a$7$?%Q%1%C%H$,(B
 $B$=$l$>$l%^%C%A$7$^$9!#(B
-$B%$%s%?%U%'!<%9$O@53N$JL>A0(B
+$B%$%s%?%U%'!<%9$N;XDj$O!"@53N$JL>A0(B
 .Ns No ( Ar ifX Ns No ) $B!"(B
-$B%G%P%$%9L>(B
+$B$^$?$O%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
+IP $B%"%I%l%9$G9T$J$&$+!"(B
+$B$b$7$/$O2?$i$+$N%$%s%?%U%'!<%9$rDL$8$F9T$J$$$^$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
+$B%-!<%o!<%I$K$h$j!";XDj$7$?%$%s%?%U%'!<%9$,>o$K%A%'%C%/$5$l$k(B
+$B$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$=$l$>$l!"<u?.%$%s%?%U%'!<%9$N$_!"$^$?$OAw?.%$%s%?%U%'!<%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:
+$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
@@ -1093,7 +1087,7 @@
 .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%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
@@ -1103,9 +1097,11 @@
 .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
+$B0z?t$G;XDj$7$?%"%I%l%9$N(B 1 $B8D$rH/?.85(B IP $B$H$7$F;}$D(B
+IP $B%Q%1%C%H$,%^%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
+$B0z?t$G;XDj$7$?%]!<%H$N(B 1 $B8D$rH/?.85%]!<%H$H$7$F;}$D(B
+IP $B%Q%1%C%H$,%^%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
@@ -1116,7 +1112,7 @@
 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:
+$B%5%]!<%H$5$l$F$$$k(B TCP $B%U%i%0$O<!$NDL$j$G$9!#(B
 .Pp
 .Cm fin ,
 .Cm syn ,
@@ -1128,8 +1124,8 @@
 .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$N;XDj$r4^$`%k!<%k$O!"(B0 $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$"$j$($^$;$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
@@ -1148,7 +1144,7 @@
 .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:
+$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),
@@ -1159,7 +1155,7 @@
 .Cm ts
 (RFC1323 $B%?%$%`%9%?%s%W(B),
 .Cm cc
-(RFC1644 T/TCP $B%3%M%/%7%g%s%+%&%s%H(B)
+(RFC1644 T/TCP $B%3%M%/%7%g%s%+%&%s%H(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 uid Ar user
@@ -1170,9 +1166,9 @@
 $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
+$B3F%k!<%k$O(B 32 $B8D$N0[$J$k(B
 .Em $B%;%C%H(B
-$B$N$$$:$l$+$KB0$7$F$$$^$9!#(B
+$B$N$R$H$D$KB0$7$F$$$^$9!#%;%C%H$K$O(B 0 $B$+$i(B 31 $B$^$G$NHV9f$r$D$1$i$l$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
@@ -1181,110 +1177,108 @@
 $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
+$B$3$N5!9=$K$h$C$F!"%U%!%$%"%&%)!<%k$N@_Dj$rJ#?t8D3JG<$7!"(B
+$B$=$l$i$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
+$B%;%C%H$rM-8z2=(B/$BL58z2=$9$k%3%^%s%I$O<!$NDL$j$G$9!#(B
+.Bd -ragged -offset indent
 .Nm
-.Cm set disable Ar number ... Op Cm enable Ar number ...
+.Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ...
+.Ed
 .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$G;XDj$7$?%;%C%HA4$F$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
+$B%;%C%H$rL58z2=$9$k$H!"%U%!%$%"%&%)!<%k$N@_DjCf$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
+$B$?$@$7Nc30$,(B 1 $B$D$@$1$"$j$^$9!#(B
+.Bd -ragged -offset indent
+$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
+.Ed
 .Pp
+$B%k!<%k$N%;%C%HHV9f$O<!$N%3%^%s%I$GJQ99$G$-$^$9!#(B
+.Bd -ragged -offset indent
 .Nm
 .Cm set move
 .Brq Cm rule Ar rule-number | old-set
 .Cm to Ar new-set
+.Ed
 .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
+.Bd -ragged -offset indent
 .Nm
 .Cm set swap Ar first-set second-set
+.Ed
 .Pp
-$B%k!<%k$N%;%C%H$G;HMQ$G$-$k9`L\$O(B
+$B%k!<%k$N%;%C%H$N;H$$J}$N$$$/$D$+$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%U%!%$%"%&%)!<%k$,FCDj$N%U%m!<$K$D$$$F$N%k!<%k$rF0E*$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
+.Cm check-state , keep-state, 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
+$BF0E*%k!<%k$,@8@.$5$l$k$N$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 (
+$B%k!<%k$K%^%C%A$7$?$H$-$G!"$=$N7k2L!"(B
+$BM?$($i$l$?(B
+.Em protocol
+$B$r;}$A!"(B
+.Em src-ip/src-port dst-ip/dst-port
+$B$N%"%I%l%9$NAH$N4V$N%Q%1%C%HA4$F$N$_$K%^%C%A$9$k(B
+.Em $BF0E*(B
+$B%k!<%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
+$B$O$3$3$G$O:G=i$K%^%C%A$7$?%"%I%l%9$r6hJL$9$k$?$a$K$N$_(B
+$B;HMQ$7$F$$$^$9!#$=$N8e!"N><T$O40A4$KEy2A$K$J$j$^$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
+.Cm check-state, keep-state, limit
+$B$,@8$8$?$H$3$m$G%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
+$BF0E*%k!<%k$G$O!"%W%m%H%3%k!"(BIP $B%"%I%l%9!"%]!<%H0J30$N(B
+$BB0@-$,%A%'%C%/$5$l$J$$$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
+$B%U%!%$%"%&%)!<%k$N@_Dj$rJD$8$?>uBV$K$7$F$*$-$D$D!"(B
+$BFbIt%M%C%H%o!<%/$+$i$N:G=i$N(B TCP SYN $B%Q%1%C%H$K!"(B
+$B$=$N%U%m!<$KBP$9$kF0E*%k!<%k$r%$%s%9%H!<%k$5$;!"(B
+$B$=$N%;%C%7%g%s$KB0$9$k%Q%1%C%H$,%U%!%$%"%&%)!<%k$r(B
+$BDL2a$G$-$k$h$&$K$9$k$H$$$&$b$N$G$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:
+$BF1MM$J%"%W%m!<%A$,(B UDP $B$KBP$7$F$b;H$($^$9!#(B
+$BFbIt$+$iMh$?(B UDP $B%Q%1%C%H$KF0E*%k!<%k$r%$%s%9%H!<%k$5$;!"(B
+$B$=$N1~Ez$,%U%!%$%"%&%)!<%k$rDL2a$9$k$h$&$K$7$^$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
+$BF0E*%k!<%k$O!"$"$k;~4V$N8e!"4|8B@Z$l$H$J$j$^$9!#(B
 $B$=$N;~4V$O!"(B
 $B%U%m!<$N>uBV$H$$$/$D$+$N(B
 .Cm sysctl
@@ -1293,55 +1287,76 @@
 .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
+$BF0E*%k!<%k$KBP$7!"Dj4|E*$K%-!<%W%"%i%$%V%Q%1%C%H$rAw=P$5$;$k$h$&$K(B
+$B;X<($7!"4|8B@Z$l$K$J$k:"$K%k!<%k$N>uBV$r%j%U%l%C%7%e$5$;$k$3$H$,(B
+$B$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
+.Sh $B%H%i%U%#%C%/%7%'%$%Q(B (DUMMYNET) $B@_Dj(B
 .Nm
 $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
-$BE,MQ$9$k$3$H$K$h$j!"%Q%1%C%H$r(B
-.Em $B%U%m!<(B
-(flow) $B$KJ,3d$7$^$9!#(B
-$BF1$8%U%m!<$KB0$9$k%Q%1%C%H$O(B 2 $B$D$N0[$J$C$?%*%V%8%'%/%H$XEO$5$l$^$9!#(B
-$B$=$l$O(B
-.Em $B%Q%$%W(B
-(pipe) $B$^$?$O(B
-.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%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+ (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$N=q<0$O<!$NDL$j$G$9(B:
+.Nm dummynet
+$B$NF0:n$O!"$^$:%U%!%$%"%&%)!<%k$rMQ$$$F%Q%1%C%H$r%/%i%9J,$1$7!"(B
+$B$=$l$i$r(B
+.Em $B%U%m!<(B(flow)
+$B$KJ,3d$7$^$9!#$=$N:]$K!"(B
+.Nm
+$B%k!<%k$G;HMQ$G$-$kG!2?$J$k%^%C%A%Q%?!<%s$r$b;HMQ$G$-$^$9!#(B
+$B%m!<%+%k%]%j%7$K$h$j!"%U%m!<(B 1 $B8D$K(B TCP $B%3%M%/%7%g%s(B 1 $B8D$N(B
+$B%Q%1%C%H$r4^$a$k$3$H$b$G$-$^$9$7!";XDj$7$?%[%9%H$N%Q%1%C%H$G$b!"(B
+$B%5%V%M%C%HA4BN$N%Q%1%C%H$G$b!"$"$k%W%m%H%3%k%?%$%W$N%Q%1%C%H$G$b(B
+$B4^$a$k$3$H$,$G$-$^$9!#(B
+.Pp
+$BF10l$N%U%m!<$KB0$9$k%Q%1%C%H$O!"$=$N8e!"%H%i%U%#%C%/$X$N@)8B$r(B
+$B<BAu$9$k(B 2$B$D$N%*%V%8%'%/%H$N$$$:$l$+0lJ}$KEO$5$l$^$9!#(B
+.Bl -hang -offset XXXX
+.It Em pipe
+$B%Q%$%W(B (pipe) $B$O!";XDj$7$?%P%s%II}!"EAHBCY1d!"%-%e!<%5%$%:!"(B
+$B%Q%1%C%HB;<:N($r;}$D%j%s%/(B 1 $B8D$r%(%_%e%l!<%H$7$^$9!#(B
+$B%/%i%9J,$1$r<u$1$?8e!"%Q%1%C%H$O!"%Q%$%W$KF~$kA0$K%-%e!<$KC_$($i$l!"(B
+$B%Q%$%W$N%Q%i%a!<%?$K=>$$%Q%$%WCf$rEAAw$5$l$^$9!#(B
+.Pp
+.It Em queue
+$B%-%e!<(B (queue) $B$O!"(BWF2Q+ (Worst-case Fair Weighed Fair Queueing:
+$B:G0-6QEy=E$_IU$16QEyBT$A9TNs(B) $B%]%j%7$r<BAu$9$k$?$a$KMQ$$$kCj>]2=$G$9!#(B
+$B$3$N%]%j%7$O!"(BWFQ $B%]%j%7$N8zN(E*$JJQ<o$G$9!#(B
+.br
+$B%-%e!<$O(B
+.Em $B=E$_(B (weight)
+$B$H%Q%$%W$N;2>H$r!"8D!9$N%U%m!<$KBP1~IU$1$^$9!#(B
+$BF1$8%Q%$%W$K7k9g$5$l%P%C%/%m%0$r;}$D(B ($B%-%e!<$K%Q%1%C%H$,$"$k(B)
+$B%U%m!<A4$F$G!"$=$l$>$l$N=E$_$KHfNc$7$F$=$N%Q%$%W$N%P%s%II}$r(B
+$B;3J,$1$7$^$9!#(B
+$B=E$_$OM%@hEY$G$O$J$$$3$H$KCm0U$7$F2<$5$$!#Bg$-$$=E$_$r;}$D%U%m!<$,(B
+$B$:$C$H%P%C%/%m%0$rJz$($F$$$?$H$7$F$b!"$=$l$h$j7Z$$=E$_$r;}$D(B
+$B%U%m!<$b!"%P%s%II}$r<+J,$N3d9g$NJ,$OF@$k$3$H$OJ]>Z$5$l$^$9!#(B
+.Pp
+.El
+$B<B:]$N;H$$J}$H$7$F!"(B
+.Em pipe
+$B$r;H$$!"%U%m!<$,<h$jF@$k%P%s%II}$K%O!<%I%j%_%C%H$r@_$1$k$3$H$,$G$-$^$9!#(B
+$B0lJ}$G!"(B
+.Em queue
+$B$r;H$$!"0[$J$k%U%m!<$,$I$N$h$&$K$7$FMxMQ2DG=$J%P%s%II}$r;3J,$1$9$k$+$r(B
+$B7hDj$9$k$3$H$,$G$-$^$9!#(B
+.Pp
+.Em pipe
+$B$H(B
+.Em queue
+$B$N@_Dj%3%^%s%I$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$N=q<0$O<!$NDL$j$G$9(B:
-.Bd -ragged -offset indent
 .Cm queue Ar number Cm config Ar queue-configuration
 .Ed
 .Pp
-$B<!$N%Q%i%a!<%?$r%Q%$%W$KBP$7$F@_Dj2DG=$G$9(B:
+$B<!$N%Q%i%a!<%?$r%Q%$%W$KBP$7$F@_Dj2DG=$G$9!#(B
 .Pp
 .Bl -tag -width indent -compact
 .It Cm bw Ar bandwidth | device
@@ -1353,36 +1368,41 @@
 $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
+$BC10L$O!"<!$N(B
 .Pp
 .Dl "ipfw pipe 1 config bw 300Kbit/s"
 .Pp
-$B?tCM$NBe$j$K%G%P%$%9L>$,;XDj$5$l$?>l9g!"(B
+$B$N$h$&$K!"?tCM$ND>8e$KB3$1$F=q$/I,MW$,$"$j$^$9!#(B
+$B<!$N(B
+.Pp
+.Dl "ipfw ipie 1 config bw tun0"
+.Pp
+$B$N$h$&$K!"?tCM$NBe$j$K%G%P%$%9L>$r;XDj$7$?>l9g!"(B
 $BAw?.%/%m%C%/$O;XDj$7$?%G%P%$%9$+$iM?$($i$l$^$9!#(B
 $B8=:_$N$H$3$m!"(B
 .Xr tun 4
-$B%G%P%$%9$N$_$,(B
+$B%G%P%$%9$N$_$,$3$N5!G=$rDs6!$7$F$*$j!"(B
 .Xr ppp 8
-$B$HAH$_9g$o$;$F;HMQ$9$k$?$a$K!"$3$N5!G=$rDs6!$7$F$$$^$9!#(B
+$B$HAH$_9g$o$;$F;HMQ$7$^$9!#(B
 .Pp
 .It Cm delay Ar ms-delay
-$BCY1d;~4V$G$"$j!"%_%jICC10L$G;XDj$7$^$9!#(B
+$BEAC#CY1d;~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
 .Dq "options HZ=1000"
-$B$GF0:n$5$;$F@:EY$r(B 1ms $B0J2<$K$9$k$HNI$$(B
+$B$GF0:n$5$;$F@:EY$r(B 1ms $B$+$=$l0J2<$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
 .El
 .Pp
-$B<!$N%Q%i%a!<%?$r%-%e!<$KBP$7$F@_Dj2DG=$G$9(B:
+$B<!$N%Q%i%a!<%?$r%-%e!<$KBP$7$F@_Dj$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)
+($BF1$8=E$_$N>l9g$b0[$J$k=E$_$N>l9g$b$"$j$^$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
@@ -1392,9 +1412,9 @@
 $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:
+$B:G8e$K!"<!$N%Q%i%a!<%?$r%Q%$%W$d%-%e!<$KBP$7$F@_Dj$G$-$^$9!#(B
 .Pp
-.Bl -tag -width indent -compact
+.Bl -tag -width XXXX -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
@@ -1402,32 +1422,47 @@
 .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
+$B$K$h$C$F@)8f$5$l$^$9!#(B
+$B;XDj2DG=$JHO0O$O(B 16 $B$+$i(B 65536 $B$^$G$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
-$B%U%m!<<1JL;R$O!"%Q%$%W@_Dj$K$*$$$F;XDj$5$l$k(B
-IP $B%"%I%l%9!"%]!<%H!"%W%m%H%3%k%?%$%W$G%^%9%/$9$k$3$H$G9=C[$5$l$^$9!#(B
-$B%^%9%/8e$KF1$8<1JL;R$r;}$D%Q%1%C%H$O!"F1$8%-%e!<$KMn$A$^$9!#(B
-$B;HMQ2DG=$J%^%9%/;XDj;R$O!"<!$rAH$_9g$o$;$?$b$N$G$9(B:
+.Nm
+$B%k!<%k$K$h$j(B
+$B;XDj$7$?%Q%$%W$b$7$/$O%-%e!<$KBP$7$FAw$i$l$?%Q%1%C%H$r!"$5$i$K(B
+$BJ#?t$N%U%m!<$K%/%i%9J,$1$9$k$3$H$,$G$-$^$9!#$=$N8e!"$=$l$>$l$N(B
+$B%Q%1%C%H$O!"0[$J$k(B
+.Em $BF0E*$J(B
+$B%Q%$%W$b$7$/$O%-%e!<$KAw$i$l$^$9!#(B
+$B%U%m!<<1JL;R$O!"%Q%$%W$b$7$/$O%-%e!<$N@_DjCf$N(B
+.Cm mask
+$B%*%W%7%g%s$N;XDj$K1~$8$F(B
+IP $B%"%I%l%9!"%]!<%H!"%W%m%H%3%k%?%$%W$r%^%9%/$9$k$3$H$K$h$j(B
+$B9=C[$5$l$^$9!#(B
+$B0[$J$k%U%m!<<1JL;R$=$l$>$l$KBP$7!"?7$7$$%Q%$%W$b$7$/$O%-%e!<$,(B
+$B85$H$J$k%*%V%8%'%/%H$HF10l$N%Q%i%a!<%?$H$H$b$K@8@.$5$l!"(B
+$B%^%C%A$9$k%Q%1%C%H$,$=$3$KAw$i$l$^$9!#(B
+.Pp
+$B$3$N$h$&$K$7$F!"(B
+.Em $BF0E*%Q%$%W(B
+$B$r;HMQ$9$k$H$-!"%U%m!<$=$l$>$l$O%Q%$%W$G;XDj$7$?$b$N$H(B
+$BF1$8%P%s%II}$rF@$^$9!#0lJ}!"(B
+.Em $BF0E*%-%e!<(B
+$B$r;HMQ$9$k;~!"%U%m!<$=$l$>$l$O!"F1$8%-%e!<$K$h$j@8@.$5$l$?(B
+$BB>$N%U%m!<$H!"?F%Q%$%W$N%P%s%II}$r6QEy$K;3J,$1$7$^$9(B ($B0[$J$k=E$_$r(B
+$B;}$DB>$N%-%e!<$,F1$8%Q%$%W$K@\B3$5$l$k>l9g$,$"$k$3$H$K(B
+$BCm0U$7$F2<$5$$(B)$B!#(B
+.br
+$B;HMQ2DG=$J%^%9%/;XDj;R$O!"<!$rAH$_9g$o$;$?$b$N$G$9!#(B
+.Pp
 .Cm dst-ip Ar mask ,
 .Cm src-ip Ar mask ,
 .Cm dst-port Ar mask ,
 .Cm src-port Ar mask ,
 .Cm proto Ar mask ,
 .Cm all
-$B!#(B
+.Pp
 $B:G8e$N;XDj;R$O!"(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 $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
 .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
@@ -1445,10 +1480,11 @@
 $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
+0 $B$OB;<:$,$J$$$3$H$r!"(B1 $B$O(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
+$B%9%m%C%H?t(B
 .Ar slots
 $B$^$?$O(B
 .Cm KBytes
@@ -1456,12 +1492,13 @@
 $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
+$B$=$&$7$J$$$H%-%e!<$NCY1d$,%H%i%U%#%C%/$K5Z$\$91F6A$,(B
+$BCx$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
+$B$+$i%Q%1%C%H$r<u$1<h$k>l9g!"$5$i$K0-$$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
 RED (Random Early Detection) $B%-%e!<4IM}%"%k%4%j%:%`$r;HMQ$7$^$9!#(B
@@ -1479,7 +1516,7 @@
 $B$O!"(Bgentle RED $B$H$$$&JQ7?(B (gred) $B$b%5%]!<%H$7$^$9!#(B
 RED $B$NF0:n$r@)8f$9$k$?$a$K!"(B3 $B8D$N(B
 .Xr sysctl 8
-$BJQ?t$r;HMQ2DG=$G$9(B:
+$BJQ?t$r;HMQ2DG=$G$9!#(B
 .Bl -tag -width indent
 .It Em net.inet.ip.dummynet.red_lookup_depth
 $B%j%s%/$,%"%$%I%k$N;~$N!"J?6Q%-%e!<$N7W;;@:EY$r;XDj$7$^$9(B
@@ -1494,7 +1531,7 @@
 .El
 .El
 .Sh $B%A%'%C%/%j%9%H(B
-$B%k!<%k$r9=@.$9$k:]$K9MN8$9$Y$-=EMW$JE@$r=R$Y$^$9!#(B
+$B%k!<%k$r9=@.$9$k:]$K9MN8$9$Y$-=EMW$JE@$r$$$/$D$+=R$Y$^$9!#(B
 .Bl -bullet
 .It
 $B$+$J$i$:Aw?.%Q%1%C%H$H<u?.%Q%1%C%H$NN>J}$N%Q%1%C%H$r%U%#%k%?%j%s%0$7$^$9!#(B
@@ -1569,34 +1606,35 @@
 $B4XO"$9$k%b%8%e!<%k(B (
 .Nm dummynet, bridge
 ) $B$NF0:n$r@)8f$7$^$9!#(B
-$B%G%U%)%k%HCM(B ($B$I$NCM$,<B:]$K;HMQ$5$l$k$+$O(B
-.Nm sysctl
-$B$G3NG'$7$F$/$@$5$$(B) $B$H0UL#$H6&$K!"$3$l$i$r0J2<$KNs5s$7$^$9!#(B
+$B%G%U%)%k%HCM$H0UL#$H6&$K!"$3$l$i$r0J2<$KNs5s$7$^$9(B
+($B$I$NCM$,<B:]$K;HMQ$5$l$k$+$O(B
+.Xr sysctl 8
+$B$G3NG'$7$F$/$@$5$$(B)$B!#(B
 .Bl -tag -width indent
 .It Em net.inet.ip.dummynet.expire : No 1
-$BL$7hDj$N%H%i%U%#%C%/$,0lEY$b$J$+$C$?F0E*%Q%$%W(B/$B%-%e!<$rBUBF$K:o=|$7$^$9!#(B
+$BL$=hM}$N%H%i%U%#%C%/$r;}$?$J$$F0E*%Q%$%W(B/$B%-%e!<$rBUBF$K:o=|$7$^$9!#(B
 $B$3$NJQ?t$r(B 0 $B$K@_Dj$9$k$3$H$G$3$NF0:n$rL58z$K$9$k$3$H$,$G$-$^$9!#(B
 $B$3$N>l9g!"%Q%$%W(B/$B%-%e!<$OogCM$KC#$7$?>l9g$K$N$_:o=|$5$l$k$3$H$K$J$j$^$9!#(B
 .It Em net.inet.ip.dummynet.hash_size : No 64
 $BF0E*%Q%$%W(B/$B%-%e!<$K;HMQ$5$l$k%O%C%7%eI=$N%G%U%)%k%H$NBg$-$5$G$9!#(B
 $B$3$NCM$O%Q%$%W(B/$B%-%e!<$r@_Dj$9$k$H$-$K(B
 .Cm buckets
-$B%*%W%7%g%s$,(B 1 $B$D$b;XDj$5$l$J$+$C$?>l9g$K;HMQ$5$l$^$9!#(B
+$B%*%W%7%g%s$,;XDj$5$l$J$+$C$?>l9g$K;HMQ$5$l$^$9!#(B
 .It Em net.inet.ip.dummynet.max_chain_len : No 16
 $B%O%C%7%e%P%1%C%H(B (hash bucket) $BFb$N%Q%$%W(B/$B%-%e!<$N:GBg8D?t$NCM$G$9!#(B
 .Cm net.inet.ip.dummynet.expire=0
 $B$G$"$C$F$b!"@Q(B
 .Cm max_chain_len*hash_size
 $B$,6u$N%Q%$%W(B/$B%-%e!<$,4|8B@Z$l$K$J$C$?$H$9$kogCM$r7hDj$9$k$N$K;HMQ$5$l$^$9!#(B
-.It net.inet.ip.dummynet.red_lookup_depth : No 256
-.It net.inet.ip.dummynet.red_avg_pkt_size : No 512
-.It net.inet.ip.dummynet.red_max_pkt_size : No 1500
-RED $B%"%k%4%j%:%`$r;H$C$FMn$93NN($r7W;;$9$k$N$K;HMQ$5$l$k%Q%i%a!<%?$G$9!#(B
+.It Em net.inet.ip.dummynet.red_lookup_depth : No 256
+.It Em net.inet.ip.dummynet.red_avg_pkt_size : No 512
+.It Em net.inet.ip.dummynet.red_max_pkt_size : No 1500
+RED $B%"%k%4%j%:%`$G;H$&B;<:3NN($N7W;;$K;HMQ$5$l$k%Q%i%a!<%?$G$9!#(B
 .It Em net.inet.ip.fw.autoinc_step : No 100
-$B%k!<%kHV9f$r<+F0@8@.$9$k:]$N%k!<%kHV9f4V$N:9J,$G$9!#(B
-$B$3$NCM$O(B 1 $B$+$i(B 100 $B$NHO0O$G$J$1$l$P$J$j$^$;$s!#(B
+$B%k!<%kHV9f$r<+F0@8@.$9$k:]$N%k!<%kHV9f4V$NA}J,$G$9!#(B
+$B$3$NCM$O(B 1 $B$+$i(B 1000 $B$NHO0O$G$J$1$l$P$J$j$^$;$s!#(B
 .It Em net.inet.ip.fw.curr_dyn_buckets : Em net.inet.ip.fw.dyn_buckets
-$BF0E*%k!<%k$N%O%C%7%eI=Fb$N8=:_$N%P%1%C%H$N8D?t$G$9(B ($BFI$_=P$7$N$_(B)$B!#(B
+$BF0E*%k!<%k$N%O%C%7%eI=Fb$N8=:_$N%P%1%C%H$N8D?t$G$9(B ($BFI$_=P$7$N$_2DG=(B)$B!#(B
 .It Em net.inet.ip.fw.debug : No 1
 .Nm
 $B$,@8@.$9$k%G%P%C%0%a%C%;!<%8$r@)8f$7$^$9!#(B
@@ -1668,12 +1706,37 @@
 $B$,%V%j%C%8$5$l$?%Q%1%C%H$rDL$9$+$I$&$+$r@)8f$7$^$9!#(B
 $B%G%U%)%k%H$O(B no $B$G$9!#(B
 .El
+.Sh FreeBSD-STABLE $B$G(B IPFW2 $B$r;H$&(B
+.Nm ipfw2
+$B$O!"(B
+.Fx
+CURRENT $B$GI8=`$H$J$C$F$$$^$9$,!"(B
+.Fx
+STABLE $B$G$O!"(B
+$B%+!<%M%k$r(B
+.Cm options IPFW2
+$B$rIU$1$F%3%s%Q%$%k$7!"(B
+.Nm /sbin/ipfw
+$B$H(B
+.Nm /usr/lib/libalias
+$B$r(B
+.Cm -DIPFW2
+$B$rIU$1(B (buildworld $B$NA0$K(B
+.Nm /etc/make.conf
+$B$K(B
+.Cm IPFW2=TRUE
+$B$rDI2C$7$F$*$/$3$H$GF1$88z2L$rF@$k$3$H$,$G$-$^$9(B)
+$B:F%3%s%Q%$%k!":F%$%s%9%H!<%k$7$J$$8B$j!"(B
+$B:#$G$b(B
+.Nm ipfw1
+$B$r;HMQ$7$^$9!#(B
+.Pp
 .Sh IPFW2 $B3HD%(B
 $B$3$N%;%/%7%g%s$G$O(B
 .Nm ipfw2
 $B$GF3F~$5$l!"(B
 .Nm ipfw1
-$B$K$OL5$$5!G=$N0lMw$r<($7$^$9!#(B
+$B$K$OB8:_$7$J$+$C$?5!G=$N0lMw$r<($7$^$9!#(B
 $B$3$3$G$O%k!<%k%;%C%H$r5-=R$9$k:]$K1F6A$,Bg$-$$$H;W$o$l$k=g$K<($7$^$9!#(B
 $B$h$j8z2LE*$J$d$jJ}$G%k!<%k%;%C%H$r5-=R$9$k$?$a$K(B
 $B$3$l$i$N5!G=$r;HMQ$7$?$$$H;W$&$+$b$7$l$^$;$s!#(B
@@ -1684,20 +1747,20 @@
 .Nm ipfw1
 $B$O(B
 .Em net.link.ether.bridge_ipfw=1 Ns
-$B$N>l9g$K$N$_;2>H$7$^$9(B)$B!#(B
+$B$N>l9g$K$N$_Hs(B IPv4 $B%Q%1%C%H$r;2>H$7$^$9(B)$B!#(B
 .Nm ipfw2
 $B$O(B
 $BA4$F$N%Q%1%C%H(B ($BHs(B IPv4 $B%Q%1%C%H$r4^$`(B) $B$r(B
 $B%k!<%k%;%C%H$K$7$?$,$C$F%U%#%k%?$7$^$9!#(B
 .Nm ipfw1
 $B$HF1$8$h$&$JF0:n$r$5$;$?$$>l9g$O(B
-$B%k!<%k%;%C%H$N@hF,$G<!$N$h$&$K$7$^$9(B:
+$B%k!<%k%;%C%H$N@hF,$G<!$N$h$&$K$7$^$9!#(B
 .Pp
 .Dl "ipfw add 1 allow layer2 not mac-type ip"
 .Pp
 .Cm layer2
-$B%*%W%7%g%s$O>iD9$G$"$k$h$&$K8+$($^$9$,!"I,MW$G$9(B --
-$B%l%$%d(B 3 $B$+$i%U%!%$%"%&%)!<%k$rDL$k%Q%1%C%H$O(B MAC $B%X%C%@$rBT$?$J$$$N$G!"(B
+$B%*%W%7%g%s$O>iD9$G$"$k$h$&$K8+$($^$9$,!"I,MW$G$9!#(B
+$B%l%$%d(B 3 $B$+$i%U%!%$%"%&%)!<%k$rDL$k%Q%1%C%H$O(B MAC $B%X%C%@$r;}$?$J$$$N$G!"(B
 .Cm mac-type ip
 $B%Q%?!<%s$O%l%$%d(B3$B$N%Q%1%C%H$KBP$7$F>o$K<:GT$7$^$9!#(B
 $B$D$^$j!"(B
@@ -1710,25 +1773,13 @@
 $B$H$$$&7A<0$N$b$N(B)
 $B$r%5%]!<%H$7$F$$$^$;$s!#(B
 .Pp
-.Nm ipfw1
-$B$H(B
-.Nm ipfw2
-$B$K$O!"(B
-.Ar ipno:mask
-$B$N$h$&$J%"%I%l%9;XDj$G!"(B
-$BO"B3$9$k%S%C%HNs$NBe$o$j$KG$0U$N%S%C%H%^%9%/$r%^%9%/$K;XDj$9$k$3$H$,(B
-$B$G$-$k$H$$$&>.$5$J0c$$$,$"$j$^$9!#(B
-.Nm ipfw2
-$B$O$b$O$d$3$NJ8K!$r%5%]!<%H$7$F$$$^$;$s$,!"(B
-$B%+!<%M%k$NB&$G%5%]!<%H$5$l$F$$$k$N$G(B
-$B:3:Y$J$3$H$G$9$,:F$SF3F~$7$F$$$^$9!#(B
 .It $B%]!<%H$N;XDj(B
 .Nm ipfw1
 $B$G$O(B TCP $B$H(B UDP $B$N%]!<%H$r;XDj$9$k:]$K(B
 $B;XDj$G$-$k%]!<%HHO0O$O(B 1 $B$D$@$1$G$7$?!#(B
 $B$^$?!"(B
 .Nm ipfw2
-$B$G2DG=$J(B 15 $B%(%s%H%j$KBP$7$F(B 10 $B%(%s%H%j$K@)8B$5$l$F$$$^$7$?!#(B
+$B$G(B 15 $B%(%s%H%j2DG=$G$"$k$N$KBP$7!"(B10 $B%(%s%H%j$K@)8B$5$l$F$$$^$7$?!#(B
 $B$^$?!"(B
 .Nm ipfw1
 $B$G$O(B
@@ -1746,7 +1797,7 @@
 $B$G$O(B
 $B:G=i$N%]!<%H%(%s%H%j$r(B
 .Ar port:mask
-$B$H;XDj$9$k$3$H$,$G$-$^$9!#(B
+$B$H;XDj$9$k$3$H$,$G$-$^$7$?!#(B
 $B$3$3$G(B
 .Ar mask
 $B$OG$0U$N(B 16 $B%S%C%H%^%9%/$,;HMQ2DG=$G$9!#(B
@@ -1786,18 +1837,20 @@
 $B$5$i$K!"<!$N%*%W%7%g%s$O(B
 .Nm ipfw1
 (RELENG_4)
-$B$N%k!<%k$G$O%5%]!<%H$5$l$F$$$^$;$s(B:
+$B$N%k!<%k$G$O%5%]!<%H$5$l$F$$$^$;$s!#(B
+.Pp
 .Cm ipid, iplen, ipprecedence, iptos, ipttl,
 .Cm ipversion, tcpack, tcpseq, tcpwin
 .It dummynet $B%*%W%7%g%s(B
 .Nm dummynet
-$B%Q%$%W(B/$B%-%e!<MQ$N<!$N%*%W%7%g%s$O%5%]!<%H$5$l$F$$$^$;$s(B:
+$B%Q%$%W(B/$B%-%e!<MQ$N<!$N%*%W%7%g%s$O%5%]!<%H$5$l$F$$$^$;$s!#(B
+.Pp
 .Cm noerror
 .El
 .Sh $B;HMQNc(B
 .Nm
 $B$O$"$^$j$K$bB?$/$N;HMQJ}K!$,$"$k$N$G(B
-$B$3$N%;%/%7%g%s$G$O;HMQNc$N0lIt$r<($9$N$_$K$7$F$*$-$^$9!#(B
+$B$3$N%;%/%7%g%s$G$O;HMQNc$N$[$s$N0lIt$r<($9$N$_$K$7$F$*$-$^$9!#(B
 .Pp
 .Ss $B4pK\E*$J%Q%1%C%H%U%#%k%?%j%s%0(B
 $B<!$N%3%^%s%I$O(B
@@ -1831,12 +1884,12 @@
 $B%k!<%k$K$h$j5Q2<$5$l$^$9!#(B
 .Pp
 $B$b$7!"(B1 $B$D0J>e$N%5%V%M%C%H$N4IM}<T$J$i!"(B
-$B0J2<$N$h$&$K!"(B
-$B%"%I%l%9%;%C%H$HO@M}OB%V%m%C%/$r;XDj$7$F(B
-$B%/%i%$%"%s%H$N%V%m%C%/$K%5!<%S%9$rA*BrE*$KMxMQ2DG=$K$9$k(B
-$B6K$a$F%3%s%Q%/%H$J%k!<%k%;%C%H$r5-=R$9$k$H$$$&(B
 .Nm ipfw2
-$B$NJ8K!$NMxE@$r:NMQ$9$k$3$H$,$G$-$^$9!#(B
+$B$NJ8K!$NMxE@$r3hMQ$7$F(B
+$B%"%I%l%9%;%C%H$HO@M}OB%V%m%C%/$r;XDj$9$k$3$H$G!"(B
+$B<!$N$h$&$K!"(B
+$B%/%i%$%"%s%H$N%V%m%C%/$K%5!<%S%9$rA*BrE*$KMxMQ2DG=$H$9$k(B
+$B6K$a$F%3%s%Q%/%H$J%k!<%k%;%C%H$r5-=R$9$k$3$H$,$G$-$^$9!#(B
 .Pp
 .Dl "goodguys=\*q{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11} }\*q"
 .Dl "badguys=\*q10.1.2.0/24{8,38,60}\*q"
@@ -1851,7 +1904,7 @@
 .Pp
 .Ss $BF0E*%k!<%k(B
 $B$K$;$N(B TCP $B%Q%1%C%H$r4^$`E\Es$N967b(B (flood attack) $B$+$i(B
-$B%5%$%H$rJ]8n$9$k$?$a$K$O!"<!$NF0E*%k!<%k$rMQ$$$?J}$,0BA4$G$9!#(B
+$B%5%$%H$rJ]8n$9$k$?$a$K!"<!$NF0E*%k!<%k$rMQ$$$?J}$,0BA4$G$9!#(B
 .Pp
 .Dl "ipfw add check-state"
 .Dl "ipfw add deny tcp from any to any established"
@@ -1864,12 +1917,12 @@
 $B%k!<%k!"$^$?$O!"(B
 .Cm keep-state
 $B%k!<%k$KAx6x$7$?;~E@$G%A%'%C%/$5$l$^$9!#(B
-$B%k!<%k=89g$N%9%-%c%sNL$r:G>.$K$9$k$?$a$K!"(B
+$B%k!<%k%;%C%H$N%9%-%c%sNL$r:G>.$K$9$k$?$a$K!"(B
 .Cm check-state
-$B%k!<%k$O!"%k!<%k=89g$N:G=i$N$[$&$KCV$/$3$H$K$J$k$N$,IaDL$G$9!#(B
+$B%k!<%k$O!"%k!<%k%;%C%H$N:G=i$N$[$&$KCV$/$3$H$K$J$k$N$,IaDL$G$9!#(B
 $B<B:]$NG3Hq$OJQF0$7$^$9!#(B
 .Pp
-$B%f!<%6$,3+$1$k@\B3?t$r@)8B$9$k$K$O!"<!$N%?%$%W$N%k!<%k$r;HMQ2DG=$G$9(B:
+$B%f!<%6$,3+$1$k@\B3?t$r@)8B$9$k$K$O!"<!$N%?%$%W$N%k!<%k$r;HMQ2DG=$G$9!#(B
 .Pp
 .Dl "ipfw add allow tcp from my-net/24 to any setup limit src-addr 10"
 .Dl "ipfw add allow tcp from any to me setup limit src-addr 4"
@@ -1887,9 +1940,9 @@
 $BJQ?t$K=>$$%U%!%$%"%&%)!<%k$,F0:n$9$k$3$H$K$h$C$F!"(B
 $B$3$N$h$&$J967b$N1F6A$rItJ,E*$K$G$b@)8B$9$k$3$H$O$G$-$^$9!#(B
 .Pp
-$B<!$O%+%&%s%H$5$l$F$$$k>pJs$H%?%$%`%9%?%s%W>pJs$r8+$k(B
+$B$3$3$G!"%+%&%s%H$5$l$F$$$k>pJs$H%?%$%`%9%?%s%W>pJs$r8+$k(B
 .Cm list
-$B%3%^%s%I$N$h$$Nc$G$9!#(B
+$B%3%^%s%I$N$h$$Nc$r<($7$^$9!#(B
 .Pp
 .Dl ipfw -at list
 .Pp
@@ -1917,7 +1970,7 @@
 .Pp
 .Dl "ipfw add prob 0.05 deny ip from any to any in"
 .Pp
-$BF1MM$N8z2L$O(B dummynet $B%Q%$%W$G<B8=2DG=$G$9(B:
+$BF1MM$N8z2L$O(B dummynet $B%Q%$%W$G<B8=2DG=$G$9!#(B
 .Pp
 .Dl "ipfw add pipe 10 ip from any to any"
 .Dl "ipfw pipe 10 config plr 0.05"
@@ -1925,45 +1978,47 @@
 $B?M9)E*$K%P%s%II}$r@)8B$9$k$?$a$K%Q%$%W$r;HMQ2DG=$G$9!#(B
 $BNc$($P%k!<%?$H$7$FF0:n$9$k%^%7%s>e$G!"(B
 192.168.2.0/24 $B>e$N%m!<%+%k%/%i%$%"%s%H$+$i$N%H%i%U%#%C%/$r@)8B$7$?$$>l9g!"(B
-$B<!$N$h$&$K$7$^$9(B:
+$B<!$N$h$&$K$7$^$9!#(B
 .Pp
 .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out"
 .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes"
 .Pp
 .Cm out
-$B;X<(;R$r;HMQ$7$F$$$k$N$G!"%k!<%k$,(B 2 $BEY;H$o$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B
+$B;X<(;R$r;HMQ$7$F!"%k!<%k$,(B 2 $BEY;H$o$l$J$$$h$&$K$7$F$$$k$3$H$K(B
+$BCm0U$7$F$/$@$5$$!#(B
 .Nm
 $B%k!<%k$O!"<B:]$K$O!"(B
 $BF~NO%Q%1%C%H$H=PNO%Q%1%C%H$NN>J}$KE,MQ$5$l$k$3$H$r3P$($F$*$$$F$/$@$5$$!#(B
 .Pp
 $B%P%s%II}$K@)8B$,$"$kAPJ}8~%j%s%/$r%7%_%e%l!<%H$9$k>l9g!"(B
-$B@5$7$$J}K!$O<!$NDL$j$G$9(B:
+$B@5$7$$J}K!$O<!$NDL$j$G$9!#(B
 .Pp
 .Dl "ipfw add pipe 1 ip from any to any out"
 .Dl "ipfw add pipe 2 ip from any to any in"
 .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes"
 .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes"
 .Pp
-$B>e=R$NJ}K!$OHs>o$KM-MQ$J>l9g$,$"$j!"(B
-$BNc$($P$"$J$?$NAu>~E*$J%&%'%V%Z!<%8$,(B
+$BNc$($P!"$"$J$?$NAu>~E*$J%&%'%V%Z!<%8$,(B
 $BDcB.%j%s%/$N$_$G@\B3$5$l$F$$$k:_Bp%f!<%6$K$I$&8+$($F$$$k$+(B
-$BCN$j$?$$>l9g$KM-MQ$G$9!#(B
+$BCN$j$?$$>l9g$J$I$K!"(B
+$B>e=R$NJ}K!$OHs>o$KM-MQ$+$b$7$l$^$;$s!#(B
 $BH>Fs=E%a%G%#%"(B ($BNc$($P(B appletalk, Ethernet, IRDA) $B$r%7%_%e%l!<%H$7$?$$(B
 $B>l9g$r=|$-!"C10l$N%Q%$%W$rN>J}$NJ}8~$K;HMQ$9$Y$-$G$O$"$j$^$;$s!#(B
 $BN>J}$N%Q%$%W$,F1$8@_Dj$G$"$kI,MW$O$J$$$N$G!"(B
-$BHsBP>N%j%s%/$r%7%_%e%l!<%H2DG=$G$9!#(B
+$BHsBP>N%j%s%/$b%7%_%e%l!<%H2DG=$G$9!#(B
 .Pp
 RED $B%-%e!<4IM}%"%k%4%j%:%`$r;HMQ$7$F%M%C%H%o!<%/@-G=$r8!>Z$9$k$K$O!"(B
-$B<!$N$h$&$K$7$^$9(B:
+$B<!$N$h$&$K$7$^$9!#(B
 .Pp
 .Dl "ipfw add pipe 1 ip from any to any"
 .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1"
 .Pp
 $B%H%i%U%#%C%/%7%'%$%Q$NB>$NE57?E*$J1~MQ$O!"(B
 $B$$$/$P$/$+$NDL?.CY1d$rF3F~$9$k$3$H$G$9!#(B
-$B$3$l$O!"1s3V<jB3$-8F$S=P$7$rB?MQ$9$k%"%W%j%1!<%7%g%s$G!"(B
-$B%P%s%II}$h$j$b@\B3$N%i%&%s%I%H%j%C%W;~4V$,$7$P$7$P@)Ls>r7o$H$J$k(B
-$B%"%W%j%1!<%7%g%s$K!"Bg$-$J1F6A$rM?$($^$9(B:
+$B$3$l$O!"%P%s%II}$h$j$b@\B3$N%i%&%s%I%H%j%C%W;~4V$,@)LsMW0x$H$J$k(B
+$B$3$H$,$7$P$7$P$H$$$&>u672<$G!"(B
+$B1s3V<jB3$-8F$S=P$7$rB?MQ$9$k%"%W%j%1!<%7%g%s$KBP$7(B
+$BHs>o$KBg$-$J1F6A$rM?$($^$9!#(B
 .Pp
 .Dl "ipfw add pipe 1 ip from any to any out"
 .Dl "ipfw add pipe 2 ip from any to any in"
@@ -1971,7 +2026,7 @@
 .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s"
 .Pp
 $B%U%m!<$4$H$N%-%e!<$O$5$^$6$^$JMQES$KM-MQ$G$9!#(B
-$BHs>o$KC1=c$JMQES$O!"%H%i%U%#%C%/$N=87W$G$9(B:
+$BHs>o$KC1=c$JMQES$O!"%H%i%U%#%C%/$N=87W$G$9!#(B
 .Pp
 .Dl "ipfw add pipe 1 tcp from any to any"
 .Dl "ipfw add pipe 1 udp from any to any"
@@ -1984,29 +2039,31 @@
 $B:G8e$N%k!<%k$@$1$G$J$/(B 3 $B8D$N%k!<%k$,I,MW$J$3$H$KCm0U$7$F$/$@$5$$!#(B
 .Nm
 $B$,(B IP $B%Q%1%C%H$N%^%C%A$r;n$_$k$H$-$K%]!<%H$r9MN8$7$J$$$?$a!"(B
-$BJL!9$N%]!<%H>e$N@\B3$O2f!9$K$OF1$8$b$N$K8+$($^$9!#(B
+$BJL!9$N%]!<%H>e$N@\B3$,0c$&$b$N$H$7$F8+$($^$;$s!#(B
 .Pp
 $B$h$j@vN}$5$l$?Nc$O!"(B
 $B%M%C%H%o!<%/$N=PNO%H%i%U%#%C%/$r!"(B
-$B%M%C%H%o!<%/Kh$K@)Ls$9$k$N$G$O$J$/!"%[%9%HKh$K@)Ls$9$k$b$N$G$9(B:
+$B%M%C%H%o!<%/Kh$K@)Ls$9$k$N$G$O$J$/!"%[%9%HKh$K@)Ls$9$k$b$N$G$9!#(B
 .Pp
 .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out"
 .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in"
 .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes"
 .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes"
 .Ss $B%k!<%k%;%C%H(B
-$B%k!<%k%;%C%H$r<+F0E*$KDI2C$9$k$K$O!"Nc$($P%;%C%H(B 18 $B$J$i(B:
+$B%k!<%k%;%C%H$r%"%H%_%C%/$KDI2C$9$k$K$O!"(B
+$BNc$($P%;%C%H(B 18 $B$J$i!"<!$N$h$&$K$7$^$9!#(B
 .Pp
 .Dl "ipfw disable set 18"
 .Dl "ipfw add NN set 18 ...         # $BI,MW$K1~$8$F7+$jJV$9(B"
 .Dl "ipfw enable set 18"
 .Pp
-$B%k!<%k%;%C%H$r<+F0E*$K:o=|$9$k$K$O%3%^%s%I$OC1$K(B:
+$B%k!<%k%;%C%H$r%"%H%_%C%/$K:o=|$9$k$K$O!"C1$K<!$N%3%^%s%I$G$h$$$G$9!#(B
 .Pp
 .Dl "ipfw delete set 18"
 .Pp
 $B%k!<%k%;%C%H$N%F%9%H$r9T$C$?$j!"(B
-$B2?$+4V0c$$$,$"$C$?>l9g$K%k!<%k%;%C%H$r:o=|$7$F@)8f$r2sI|$9$k$K$O(B:
+$B2?$+4V0c$$$,$"$C$?>l9g$K%k!<%k%;%C%H$r:o=|$7$F@)8f$r2sI|$9$k$K$O!"(B
+$B<!$N$h$&$K$7$^$9!#(B
 .Pp
 .Dl "ipfw disable set 18"
 .Dl "ipfw add NN set 18 ...         # $BI,MW$K1~$8$F7+$jJV$9(B"
@@ -2017,9 +2074,8 @@
 $B%k!<%k%;%C%H$O3hF0>uBV$N$^$^$H$J$j$^$9!#(B
 $B$=$&$G$J$$>l9g!"(B
 $B$?$H$(H"$K%"%/%;%9$9$k$3$H$,$G$-$J$+$C$?$H$7$F$b!"(B
-$B%k!<%k%;%C%H$OC<Kv$,%9%j!<%W$7$?8e$GL58z$J>uBV$K$J$k$N$G(B
-$B0JA0$N>u67$,I|85$5$l$^$9!#(B
-.Pp
+$B%k!<%k%;%C%H$O(B sleep $B$,=*N;$7$?8e$GL58z$J>uBV$K$J$k$N$G(B
+$B0JA0$N>uBV$,I|85$5$l$^$9!#(B
 .Sh $B4XO"9`L\(B
 .Xr cpp 1 ,
 .Xr m4 1 ,
@@ -2035,50 +2091,27 @@
 .Xr reboot 8 ,
 .Xr sysctl 8 ,
 .Xr syslogd 8
-.Rs
-.%A "S. Floyd"
-.%A "V. Jacobson"
-.%T "Random Early Detection gateways for Congestion Avoidance"
-.%D "August 1993"
-.Re
-.Rs
-.%A "B. Braden"
-.%A "D. Clark"
-.%A "J. Crowcroft"
-.%A "B. Davie"
-.%A "S. Deering"
-.%A "D. Estrin"
-.%A "S. Floyd"
-.%A "V. Jacobson"
-.%A "G. Minshall"
-.%A "C. Partridge"
-.%A "L. Peterson"
-.%A "K. Ramakrishnan"
-.%A "S. Shenker"
-.%A "J. Wroclawski"
-.%A "L. Zhang"
-.%T "Recommendations on Queue Management and Congestion Avoidance in the Internet"
-.%D "April 1998"
-.%O "RFC 2309"
-.Re
 .Sh $B%P%0(B
-$BG/7n$H$H$b$KJ8K!$,Bg$-$/$J$j!"$H$-$I$-:.Mp$9$k$3$H$b$"$k$G$7$g$&!#(B
-$BIT9,$K$7$F!"8eJ}8_49@-$N$?$a$KJ8K!$NDj5A$N8m$j$rD{@5$G$-$J$$$G$$$^$9!#(B
+$BG/7n$H$H$b$KJ8K!$,Bg$-$/$J$j!"$H$-$I$-Lu$,$o$+$i$J$$$H$3$m$b(B
+$B$"$k$+$b$7$l$^$;$s!#(B
+$BIT9,$K$7$F!"8eJ}8_49@-$N$?$a$K@N$7$G$+$7$?J8K!Dj5A$N8m$j$r(B
+$BD{@5$G$-$J$$$G$$$^$9!#(B
 .Pp
 .Em !!! $B7Y9p(B !!!
 .Pp
 $B%U%!%$%"%&%)!<%k$r8m$C$F@_Dj$9$k$H%3%s%T%e!<%?$,(B
-$B;HMQITG=$J>uBV$K$J$k2DG=@-$,$"$j$^$9!#(B
-$B$3$H$K$h$k$H!"%M%C%H%o!<%/$N%5!<%S%9$rDd;_$7$F$7$^$$!"(B
-$B@)8f$r2sI|$9$k$?$a$K%3%s%=!<%k%"%/%;%9$,I,MW$H$J$C$F$7$^$&$G$7$g$&!#(B
+$B;HMQITG=$J>uBV$K$J$j!"(B
+$B$3$H$K$h$k$H!"%M%C%H%o!<%/%5!<%S%9$rDd;_$5$;$F$7$^$$!"(B
+$B@)8f$r2sI|$9$k$?$a$K%3%s%=!<%k%"%/%;%9$,I,MW$H$J$C$F$7$^$&(B
+$B2DG=@-$,$"$j$^$9!#(B
 .Pp
-$BF~$C$F$-$?%Q%1%C%H$NCGJR(B ($B%U%i%0%a%s%H(B) $B$,(B
 .Cm divert
 $B$K$h$C$F9T$-@h$rJQ99$5$l$k$+(B
 .Cm tee
-$B$5$l$k$H!"%=%1%C%H$KG[Aw$5$l$kA0$K%Q%1%C%H$O:F9=@.$5$l$^$9!#(B
+$B$5$l$?!"F~$C$F$-$?%Q%1%C%H$NCGJR(B ($B%U%i%0%a%s%H(B) $B$O!"(B
+$B%=%1%C%H$KG[Aw$5$l$kA0$K:F9=@.$5$l$^$9!#(B
 $B$3$l$i$N%Q%1%C%H$G;HMQ$5$l$k%"%/%7%g%s$O(B
-$B%Q%1%C%H$N:G=i$N%U%i%0%a%s%H$K%^%C%A$7$?%k!<%k$N(B 1 $B$D$G$9!#(B
+$B%Q%1%C%H$N:G=i$N%U%i%0%a%s%H$K%^%C%A$7$?%k!<%k$N$b$N$G$9!#(B
 .Pp
 .Cm tee
 $B%k!<%k$K%^%C%A$9$k%Q%1%C%H$O!"(B
