summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordannyboy <dannyboy@FreeBSD.org>2003-07-08 13:24:42 +0000
committerdannyboy <dannyboy@FreeBSD.org>2003-07-08 13:24:42 +0000
commit63315d41e1f565621b288ce693a6e855c460f821 (patch)
treefe391934efc3eb39f57db8cf5b7eccea7eca887b
parent8104ded441c9e7786d10bbbf408fe78882903b95 (diff)
downloadFreeBSD-src-63315d41e1f565621b288ce693a6e855c460f821.zip
FreeBSD-src-63315d41e1f565621b288ce693a6e855c460f821.tar.gz
Correct to match reality regarding interface names.
PR: 51006 Submitted by: "Dmitry Pryanishnikov" <dmitry@atlantis.dp.ua> mdoc clue by: "Simon L. Nielsen" <simon@nitro.dk> MFC after: 10 days
-rw-r--r--sbin/ipfw/ipfw.810
-rw-r--r--share/man/man4/divert.47
2 files changed, 11 insertions, 6 deletions
diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8
index 4c4fd5f..2cc2a69 100644
--- a/sbin/ipfw/ipfw.8
+++ b/sbin/ipfw/ipfw.8
@@ -2119,9 +2119,13 @@ going through the rule list.
This may be fixed in a later version.
.Pp
Packets diverted to userland, and then reinserted by a userland process
-(such as
-.Xr natd 8 )
-will lose various packet attributes, including their source interface.
+may lose various packet attributes.
+The packet source interface name
+will be preserved if it is shorter than 8 bytes and the userland process
+saves and reuses the sockaddr_in
+(as does
+.Xr natd 8 ) ;
+otherwise, it may be lost.
If a packet is reinserted in this manner, later rules may be incorrectly
applied, making the order of
.Cm divert
diff --git a/share/man/man4/divert.4 b/share/man/man4/divert.4
index 0087ace..73a6cb1 100644
--- a/share/man/man4/divert.4
+++ b/share/man/man4/divert.4
@@ -50,9 +50,10 @@ and the IP address set to the (first) address of
the interface on which the packet was received (if the packet
was incoming) or
.Dv INADDR_ANY
-(if the packet was outgoing). In the case of an incoming packet the interface
-name will also be placed in the 8 bytes following the address,
-(assuming it fits).
+(if the packet was outgoing).
+The interface name (if defined
+for the packet) will be placed in the 8 bytes following the address,
+if it fits.
.Sh WRITING PACKETS
Writing to a divert socket is similar to writing to a raw IP socket;
the packet is injected ``as is'' into the normal kernel IP packet
OpenPOWER on IntegriCloud