svn commit: r240386 - head/share/man/man4
Gleb Smirnoff
glebius at FreeBSD.org
Wed Sep 12 10:09:35 UTC 2012
Author: glebius
Date: Wed Sep 12 10:09:34 2012
New Revision: 240386
URL: http://svn.freebsd.org/changeset/base/240386
Log:
Document conditions for IP_SENDSRCADDR socket option.
Obtained from: r167342 commit message
Modified:
head/share/man/man4/ip.4
Modified: head/share/man/man4/ip.4
==============================================================================
--- head/share/man/man4/ip.4 Wed Sep 12 09:50:17 2012 (r240385)
+++ head/share/man/man4/ip.4 Wed Sep 12 10:09:34 2012 (r240386)
@@ -32,7 +32,7 @@
.\" @(#)ip.4 8.2 (Berkeley) 11/30/93
.\" $FreeBSD$
.\"
-.Dd June 15, 2012
+.Dd September 12, 2012
.Dt IP 4
.Os
.Sh NAME
@@ -172,9 +172,7 @@ cmsg_type = IP_RECVDSTADDR
.Pp
The source address to be used for outgoing
.Tn UDP
-datagrams on a socket that is not bound to a specific
-.Tn IP
-address can be specified as ancillary data with a type code of
+datagrams on a socket can be specified as ancillary data with a type code of
.Dv IP_SENDSRCADDR .
The msg_control field in the msghdr structure should point to a buffer
that contains a
@@ -189,6 +187,22 @@ cmsg_level = IPPROTO_IP
cmsg_type = IP_SENDSRCADDR
.Ed
.Pp
+The socket should be bound to a local port.
+The socket may be bound or not bound to a local address.
+In the former case address supplied with
+.Dv IP_SENDSRCADDR
+overrides bound address.
+If the socket is bound to a local address and the address supplied with
+.Dv IP_SENDSRCADDR
+is
+.Dv INADDR_ANY ,
+then bound address is overriden via generic source address selection logic,
+which would choose IP address of interface closest to destination.
+If the socket is not bound to a local address, then address supplied with
+.Dv IP_SENDSRCADDR
+can't be
+.Dv INADDR_ANY .
+.Pp
For convenience,
.Dv IP_SENDSRCADDR
is defined to have the same value as
More information about the svn-src-head
mailing list