Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Sep 2012 10:09:34 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r240386 - head/share/man/man4
Message-ID:  <201209121009.q8CA9Y2Y043059@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209121009.q8CA9Y2Y043059>