Date: Wed, 6 Jan 1999 13:27:48 -0800 (PST) From: Julian Elischer <julian@whistle.com> To: Terry Lambert <tlambert@primenet.com> Cc: "Louis A. Mamakos" <louie@TransSys.COM>, dnelson@redwoodsoft.com, lem@cantv.net, freebsd-hackers@FreeBSD.ORG Subject: Re: Source address Message-ID: <Pine.BSF.3.95.990106132351.2734H-100000@current1.whistle.com> In-Reply-To: <199901062115.OAA27539@usr08.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 6 Jan 1999, Terry Lambert wrote: > > Except that in IOS, the "source-interface" commands cause the application > > in question (snmp trap generator, syslog generator, etc), to bind to > > a particular interface address on the router, rather than using whatever > > interface address is associated with the exit interface on the router. > > > > It doesn't smash an address in the packet on the way out, and neither > > should the FreeBSD kernel. There are a lot of applications that care FreeBSD doesn't "smash an address" onto a packet unless you have not bound to an address. If you bind to an address that address is used. > > about the end point addresses, and zapping something behind their back > > is probably going to manifest itself in interesting ways. > > > > Perhaps this is phrasing problem. If you were to add a sysctl to > > bias the operation of the socket code to choose a specified address of > > an interface, rather than the address of the outbound interface.. but > > then you have to worry about the interface being up and other details. > > This is a generic problem in the way sockets are bound. > > Similar fallout from the problem is that, when you change IP > addresses on interfaces, you have to restart daemons bound to > the IP addresses, etc.. > > In general, the best possible corrective action would be to allow > binding of sockets to interfaces instead of IP addresses. what about interfaces with multiple adresses? > > For a complete soloution, you'd want to be able to bind a socket > to all interfaces, a specific interface, an IP address regardless of > interfaces that have that address, and an interface/IP address pair. > > For an inetd style soloution, you'd want to add parameters on the > end of the protocol field, I believe. Something like: > > ftp stream tcp:ed0:10.0.0.1 nowait root /usr/libexec/ftpd ftpd -l -d /home/ftp > ftp stream tcp:*:141.168.5.12 nowait root /usr/libexec/ftpd ftpd -l -d /home/ftp/external > > Someone really needs to revisit the idea of sockets before IPV6 is > widely deployed. > > > Terry Lambert > terry@lambert.org > --- > Any opinions in this posting are my own and not those of my present > or previous employers. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.990106132351.2734H-100000>