mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrey Savochkin <saw@saw.sw.com.sg>
To: Julian Anastasov <ja@ssi.bg>
Cc: Wietse Venema <wietse@porcupine.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: notion of a local address [was: Re: ioctl SIOCGIFNETMASK: ip aliasbug 2.4.9 and 2.2.19]
Date: Fri, 7 Sep 2001 12:42:20 +0400	[thread overview]
Message-ID: <20010907124220.A27338@castle.nmd.msu.ru> (raw)
In-Reply-To: <20010907115416.A26786@castle.nmd.msu.ru> <Pine.LNX.4.33.0109071053390.1692-100000@u.domain.uli>
In-Reply-To: <Pine.LNX.4.33.0109071053390.1692-100000@u.domain.uli>; from "Julian Anastasov" on Fri, Sep 07, 2001 at 11:09:57AM

On Fri, Sep 07, 2001 at 11:09:57AM +0000, Julian Anastasov wrote:
> 
> On Fri, 7 Sep 2001, Andrey Savochkin wrote:
> 
> > > 	It seems if connect() is called without bind() and the target
> > > is local address the selected source is the same (the preferred address
> > > is not used). The postfix guys simply can try this proposal (I don't
> >
> > I've just checked, you're right.
> > In the mainstream 2.4 kernels for local routes setting the source to be equal
> > to the target overrides the preferred source from the route.
> 
> 	I saw it in the 2.2 sources, so it is the same there.
> 
> > I personally consider it as a bug.
> 
> 	Agreed. OTOH, nobody plays with the preferred source in the
> local table. Now the question is whether this is a bug or a feature :)
> In any case, if the admins don't play with the prefsrc in table local
> the above assumption about connecting to local address still works
> for IP/32 (but not for targets in the 127/8 range different from

In my opinion, the priorities in address selection should be the following:
 1. always use prefsrc if it is specified
 2. then for local routes, use destination
 3. as a last resort, call that function guessing the address...

> 127.0.0.1). Hm, may be then a bind() call to the same IP will be required
> before connecting? If bind fails, then the address is not local. If
> not, connect() should succeed and getsockname should return the same
> IP (the preferred source will not be considered in this case from
> the kernel).

I would say that using of bound sockets is a bit risky.
I'm not sure whether such a connect may succeed with 2.2 kernels and
transparent proxy support, for example.

An unbound UDP connect, as autofs does, is a good solution if the mistakes are
acceptable.
The behavior of autofs in case of a mistake, as Peter explained, looks
reasonable and acceptable for me.

Using GETROUTE as Andi suggested is the other good alternative.
But it won't work without NETLINK socket support compiled in.

	Andrey

  reply	other threads:[~2001-09-07  8:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-07 10:10 Julian Anastasov
2001-09-07  7:54 ` Andrey Savochkin
2001-09-07 11:09   ` Julian Anastasov
2001-09-07  8:42     ` Andrey Savochkin [this message]
2001-09-07 12:08       ` Julian Anastasov
2001-09-07 16:39       ` Christopher Friesen
  -- strict thread matches above, loose matches on Subject: below --
2001-09-06 17:23 notion of a local address [was: Re: ioctl SIOCGIFNETMASK: ip alias bug " Andrey Savochkin
2001-09-06 17:39 ` Wietse Venema
2001-09-06 18:23   ` H. Peter Anvin
2001-09-07  5:48     ` notion of a local address [was: Re: ioctl SIOCGIFNETMASK: ip aliasbug " Ben Greear
2001-09-07  5:50       ` H. Peter Anvin
2001-09-17 21:39         ` Ben Greear
2001-09-07  6:26       ` Andrey Savochkin
2001-09-07  6:21         ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010907124220.A27338@castle.nmd.msu.ru \
    --to=saw@saw.sw.com.sg \
    --cc=ja@ssi.bg \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wietse@porcupine.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®