Messages in this thread | | | From | Al Boldi <> | Subject | Re: [RFC] ip / ifconfig redesign | Date | Sat, 3 Dec 2005 16:46:45 +0300 |
| |
Pekka Savola wrote: > Al Boldi wrote: > > Consider this new approach for better address management: > > 1. Allow the definition of an address pool > > 2. Relate links to addresses > > 3. Implement to make things backward-compatible. > > > > The obvious benefit here, would be the transparent ability for apps to > > bind to addresses, regardless of the link existence. > > > That's called 'the loopback address', right? :)
Jan-Benedict Glaw wrote: > # echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind > > and/or bind to address 0 (aka 0.0.0.0) instead of a given IP address.
Ben Greear wrote: > > Another benefit includes the ability to scale the link level > > transparently, regardless of the application bind state. > > Can you do this with the current code by using scripts/whatever to move > virtual IPs around the interfaces?
Maybe, but wouldn't that be a workaround?
linux-os \(Dick Johnson\) wrote: > It really doesn't have anything to do with the kernel.
Maybe I shouldn't have cc'd kernel.
Marc Singer wrote: > It might make sense to allow the address to exist without a link in > order to allow a local port listener to continue to accept connections > even though the network moved to another link, e.g. wireless to > wired. Then again, perhaps, this shouldn't matter. > > What does Mr. Boldi propose?
Jesper Juhl wrote: > I'm only guessing since I'm not entirely sure what Mr. Boldi means, > but my guess is that he's proposing that an app can bind to an IP > address without that address being assigned to any currently available > interface and then later if that IP does get assigned to an interface > the app will start recieving traffic then. Also possibly allowing the > address to be removed from one interface and then later assigned to > another one without apps noticing. > I don't know /if/ that is what was meant, but that's how I read it.
Yes! And much more...
One reason why linux is great is because it's flexible. But flexibility sometimes leads you to fulfill requirements in a workaround fashion. Things get worse when you start building on these workarounds.
GNU/OpenSource is prone to such a development.
What I propose is to stop and think always; identify the problem and provide for a _scalable_ solution. Procrastinating using workarounds may make your development cycle seem faster, when in fact you are inhibiting it.
Here specifically, ip/ifconfig is implemented upside-down requiring a link/dev to exist for an address to be defined, in effect containing layer 3 inside layer 2, when an address should be allowed to be defined w/o a link/dev much like an app is allowed to be defined w/o an address.
Thanks for all your comments!
-- Al
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |