Date: Fri, 27 Oct 1995 10:10:51 -0400 From: "Garrett A. Wollman" <wollman@lcs.mit.edu> To: mikebo@tellabs.com Cc: bugs@freebsd.org Subject: Re: 2.1.0-951020-SNAP: Major bug in NFS again! Message-ID: <9510271410.AA22857@halloran-eldar.lcs.mit.edu> In-Reply-To: <199510262207.RAA00763@sunc210.tellabs.com> References: <9510261811.AA28231@olympus> <199510262207.RAA00763@sunc210.tellabs.com>
next in thread | previous in thread | raw e-mail | index | archive | help
<<On Thu, 26 Oct 1995 17:07:33 -0500 (CDT), mikebo@tellabs.com said: > I do have a question: > Would a FreeBSD server always respond to a client from the same interface > on which it received a request - even though its route table has a > different route to the clients network? No. Source address != interface. If the source address is already set in the outgoing IP packet, ip_output() will not change it even if the packet goes out an interface which does not have that address on it. (Otherwise forwarding would not work!) From ip_output: /* * If source address not specified yet, use address * of outgoing interface. */ if (ip->ip_src.s_addr == INADDR_ANY) ip->ip_src = IA_SIN(ia)->sin_addr; You can force UDP to fill in a specific source address by calling bind(). A correct implementation of ANY UDP-based protocol will get a list of interfaces and create a single, bound socket per interface address. (Half the glue to obviate this problem is present in the kernel.) -GAWollman -- Garrett A. Wollman | Shashish is simple, it's discreet, it's brief. ... wollman@lcs.mit.edu | Shashish is the bonding of hearts in spite of distance. Opinions not those of| It is a bond more powerful than absence. We like people MIT, LCS, ANA, or NSA| who like Shashish. - Claude McKenzie + Florent Vollant
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9510271410.AA22857>