From owner-svn-src-all@FreeBSD.ORG Wed Sep 12 10:09:35 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 425831065675; Wed, 12 Sep 2012 10:09:35 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2C5168FC16; Wed, 12 Sep 2012 10:09:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CA9ZhW043061; Wed, 12 Sep 2012 10:09:35 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CA9Y2Y043059; Wed, 12 Sep 2012 10:09:34 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209121009.q8CA9Y2Y043059@svn.freebsd.org> From: Gleb Smirnoff Date: Wed, 12 Sep 2012 10:09:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240386 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 10:09:35 -0000 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