Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Aug 2006 14:36:58 -0400
From:      Pat Lashley <patl@volant.org>
To:        Brooks Davis <brooks@one-eyed-alien.net>
Cc:        freebsd-net@freebsd.org, Doug Barton <dougb@freebsd.org>, Fredrik Lindberg <fli+freebsd-net@shapeshifter.se>
Subject:   Re: Zeroconfig and Multicast DNS
Message-ID:  <806B67472BBA47707142E56E@garrett.local>
In-Reply-To: <20060824193127.GA38855@lor.one-eyed-alien.net>
References:  <44ED3BD1.3030206@shapeshifter.se> <AC5769F16F9730CABCCC4E61@garrett.local> <44EDA9A5.2050108@shapeshifter.se> <BE1059C6974AD43BC382E107@garrett.local> <44EDBDD0.4050000@shapeshifter.se> <7CC9AC69410B69EBD31122E4@garrett.local> <44EDDB8C.9090504@shapeshifter.se> <0EC404BA0CA363942D250766@garrett.local> <20060824182640.GA37561@lor.one-eyed-alien.net> <B69C016E0D5F0C26B40BE4C0@garrett.local> <20060824193127.GA38855@lor.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> > Actually, it is quite possible for multiple interfaces to be on the same
> > LLA link/subnet; so we can't make any assumptions either way.  We -do- need
> > to be able to handle the case where they are on different links.  That
> > really isn't an 'unless', it's a 'when'.
>
> I can't see how it's worth worrying about the case they are on the same
> network.  I'm pretty sure that if you act as though they are on separate
> networks things will work just as well weather they are or not.

I'd have to go dig through the RFCs. I suspect that it wouldn't make any 
difference to the normal interface usage; but might be significant to the LLA 
and/or mDNS protocol handling.

And we most certainly don't want to allow bridging to be enabled between the 
interfaces if they -are- on the same segment.

> > We also need to be able to handle the case where they are on physically
> > different links; but the host is acting as a bridge between them to make
> > one logical link sharing a single LLA subnet.  (We don't need to explicitly
> > handle the case where the bridging is being handled externally because that
> > should be virtually indistinguishable from a single physical link.)
>
> If there's a bridge (only considering if_bridge here) then the bridge
> interface should have the LLA.  Configuring LLAs on the physical
> interfaces would be wrong and isn't worth supporting.

It's been a long time since I've set up a bridge; so I'm a bit rusty on all of 
the details. But from the if_bridge man page, it doesn't look like the bridge 
interface has an IP address of its own. (And I can't see why it would want one.)


Also, I was using 'bridge' as a short-hand which would include any sort of 
proxying or routing that would make two physical segments operate as one local 
link for address negotiation.

Overall, I don't really expect that to be a big issue; just one of those less 
common setups that we need to ensure does something reasonable by default.

> The right way to deal with this is almost certainly to adopt the KAME
> %interface decoration for link local addresses.  LLAs are meaningless
> outside the context of an interface.  Unless you only have one interface
> with an LLA, you must know which interface you are addressing to know
> where to send the packet.  While you can hack around this in some cases
> by trying all of them and hoping there aren't any collisions, I think
> that's the wrong way to go.

Except in the case where multiple interfaces are on the same segment for 
redundancy.  But in general, I suspect that you are right that using a 
%interface notation is the way to go.

Now, how do we handle the problem in DNS-SD ? The service records just have a 
domain name.



-Pat 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?806B67472BBA47707142E56E>