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