Re: [Nbd] nbd protocol specification?
- To: Andreas Klauer <Andreas.Klauer@...1264...>
- Cc: nbd-general@lists.sourceforge.net
- Subject: Re: [Nbd] nbd protocol specification?
- From: Alex Bligh <alex@...872...>
- Date: Mon, 14 Jan 2013 21:28:24 +0000
- Message-id: <7ABE7E30-D69C-4F2D-886F-1A7D05D0AEFF@...872...>
- In-reply-to: <20130114203847.GA28592@...1265...>
- References: <20130114124134.GA3700@...1265...> <20130114203847.GA28592@...1265...>
On 14 Jan 2013, at 20:38, Andreas Klauer wrote:
> And I'm an idiot, because I missed the obvious (doc/proto.txt).
>
> In my defense, for some reason this file appears to be missing
> from the official nbd-3.2.tar.bz2 download, and did not come up
> in my Google searches either. I found it browsing the source tree
> on SourceForge,
FWIW, I've implemented nbd compatible servers pretty simply.
The tricky part is the negotiation, which is not particularly
well defined and neither the existing client code nor the
server code are especially readable due in the main to the
support for lots of old protocol versions. Once you've
connected, understanding the protocol is easy. Determining
what you are and aren't permitted to do is marginally harder,
though the answer is basically 'whatever a linux block
device can do' - this is particularly relevant if you have
more than one outstanding command and want to complete
them out of sequence.
--
Alex Bligh
Reply to: