Subject: Re: CVS commit: src/sys
To: Matt Thomas <matt@3am-software.com>
From: Kurt J. Lidl <lidl@pix.net>
List: tech-net
Date: 12/06/2004 22:31:21
On Mon, Dec 06, 2004 at 01:53:43PM -0800, Matt Thomas wrote:
> At 01:44 PM 12/6/2004, Jonathan Stone wrote:
> >In message <29627.1102368412@munnari.OZ.AU>Robert Elz writes
> > >No, you're debating a different question.
> >
> >I don't think so. I'm not even sure if multiple-loopback devices was a
> >deliberate design decision, or if it predates the functional/semantic
> >  split of`needs-count' vs. ``needs-flag''.
> >
> >I've also seen no rationale for multiple loopback devices, given that
> >a single loopback device can support multiple addresses for a given
> >family.  Christos guessed at a couple of possible uses, but they make
> >no technical sense. (Link aggregation, for example, requires so much
> >additional effort that it makes no sense at all to lump it in with a
> >loopback device).
> 
> Actually, multiple loopback devices can be useful for tcpdump or
> just keeping statistics.  It'd be nice if you set a loopback device
> as a null interface.  (ifconfig lo1 media null)  Then you have an
> easy to collect counters.  (you could do the same with a reject mode).

Other people have pointed out useful purposes for multiple loopback
devices, I'll add a few more.  I added multiple loopback addresses
to BSD/OS in 1998 or so, so as to make some redundent services
easier to manage.  Using gated as a routing daemon, it was useful to
be able to 'ifconfig down' a loopback interface, to have it withdraw
the route from the routing announcement.

When I worked for ISC, I convinced them that using multiple loopback
addresses was cleaner than adding and deleting addresses to a single
loopback address.  Here's how ISC uses multiple loopback addresses
for the f.root-servers.net cluster of computers.
http://www.isc.org/pubs/tn/isc-tn-2004-1.html (see section 4)

-Kurt