Eric, On 11 Apr 2016, at 21:14, Eric Blake <eblake@...696...> wrote: > Current qemu NBD server implementation does NOT send a reply to > NBD_OPT_ABORT, but immediately closes the connection. I don't know if > that is a bug in qemu (especially given the discussion on NBD_CMD_DISC), > but it is an independent issue from TLS documentation, so may be better > discussed on that thread. Ha, neither does mine, despite my reading of the protocol being that it should. Reference nbd-server.c doesn't either. > Likewise, current qemu NBD client implementation does NOT send > NBD_OPT_ABORT at all, so it's hard to say whether waiting around for a > reply is worthwhile. :-) nbd-client.c only appears to send it after asking for a list, and not in any error conditions. >> >> Obviously NBD_OPT_ABORT and aborting the connection needs >> more clearing up, but I'm loathe to do it in the TLS patch. >> >> In order not to make things worse, how about: >> >>> There is no requirement for the client or server to complete a >>> negotiation if it does not wish to do so. Either end may simply >>> close the TCP connection (though see below re prior use > > Not sure if the use of "re" is ideal (are you abbreviating for "regarding")? OK will fix that if Wouter likes the words. >>> of NBD_OPT_ABORT). Under certain circumstances either >>> the client or the server may be required by this document to close >>> the TCP connection. In each case, this is referred to as 'terminate >>> the session'. >>> >>> If the client wishes to terminate the session in the negotiation >>> phase, and is not doing so because it is required to do so >>> by this document, it SHOULD send NBD_OPT_ABORT first if the protocol >>> permits. There are instances where this is impossible, such as after >>> an NBD_OPT_EXPORTNAME has been issued, or on an unsuccessful >>> negotiation of TLS. For instance, if the client does not find an >>> export it is looking for, it may simply send an NBD_OPT_ABORT >>> and close the TCP connection. > > Otherwise, this seems reasonable, other than the fact that qemu needs > patches to actually start sending NBD_OPT_ABORT where possible. I'd suggest waiting for a definitive answer on whether it's meant to have a reply. -- Alex Bligh
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail