[AFS3-std] Re: XCB union decoding & IPvN address Conversation
Jeffrey Hutzelman
jhutz@cmu.edu
Mon, 14 Feb 2011 17:28:22 -0500
--On Saturday, February 12, 2011 04:42:04 PM -0500 Jason Edgecombe
<jason@rampaginggeek.com> wrote:
> On 02/12/2011 03:28 PM, Andrew Deason wrote:
>> On Sat, 12 Feb 2011 09:15:59 -0500
>> Jason Edgecombe<jason@rampaginggeek.com> wrote:
>>
>>> I got a little confused. Was the IPvN address conversation put on
>>> hold because the encoding needs to be worked out first? If so, I'm
>>> assuming that the IPvN address discussion will be revisited when the
>>> encoding is resolved. Is that correct?
>> How are they different conversations? Discussing how we encode IPvN
>> addresses on the wire is always what we were trying to solve. The latest
>> discussions suggest putting them in a new primitive type (an 'extensible
>> union' or whatever you want to call it). As far as I can tell, there are
>> no more loose ends with the design of such a structure, and a draft
>> could be written now.
>>
>> I'd write it myself if I didn't think Derrick was going to do it (and if
>> I were better that writing these kinds of things).
>>
> We switched from "what to store" (address+port?) to "how to store it"
> (encoding and decoding).
Actually, not. We started with "how to store it", because Derrick's ubik
update draft proposed a wire protocol based on struct sockaddr_storage,
which clearly can't work. Interestingly, his next proposal was one that
represented only addresses, whereas struct sockaddr also includes ports.
I'm not sure whether it was Derrick's original intent to include ports, nor
am I sure it was his intent to drop them in the next iteration.
The remainder of the discussion has been almost entirely about
representation, though the what-to-store question has come up briefly once
or twice. I think we mostly have consensus that a new type should be about
addresses, and not something more complete, but I could be misreading -- I
have a fairly strong opinion on that particular question. I do not think
we have discussed the question of whether Ubik's UpdateInterfaceAddr()
needs ports.
To be honest, I remain unconvinced that an IPv6-aware version of this RPC
continues to be the best way to insure that all servers have compatible
configuration. However, it _is_ necessary for Ubik servers to be able to
discover the actual addresses at which their peers are reachable, and for
that purpose, an analogous-but-IPv6-capable RPC is needed, and it certainly
does need port information.
-- Jeff