[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Nbd] [PATCH] Ensure all options have option length



On Mon, May 16, 2011 at 10:35:07AM +0100, Alex Bligh wrote:
> This is a documentation only patch to the new handshake protocol, but
> changes the protocol in completely back compatible manner.
> 
> Under the current handshake protocol, it is impliedly necessary for the
> server to understand every option presented by the client, as there is
> no way for the server to skip options it does not understand (as the
> length field is not always part of the option).
> 
> My proposal is to include the length field as a 32 bit unsigned length
> in the same way that it currently forms the first 4 octets of the
> NBD_OPT_EXPORT_NAME. So the length field has technically moved out
> of the option data and into the option header (obviously there is
> no code change required). This will allow servers to skip options
> presented by clients that the server does not understand.

Mm. My idea was that the client would need to set a flag in the reserved
field if it wanted to use an option that maybe the server might not
understand, but I guess this could work too, and it would allow us to
not waste reserved bits quite as badly..

However, it would require that the server sends some sort of
confirmation upon completing negotiation, so that the client knows
whether its option has been accepted or ignored. Currently the server
doesn't do that. I guess we can add a flag for that.

-- 
The volume of a pizza of thickness a and radius z can be described by
the following formula:

pi zz a



Reply to: