Zeroconfig and Multicast DNS

Pat Lashley patl at volant.org
Thu Aug 24 21:37:57 UTC 2006


> > 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 


More information about the freebsd-net mailing list