> 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
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"