From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Hajnoczi Subject: virtio message framing Date: Fri, 13 Apr 2012 15:50:50 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Linux Virtualization Cc: Anthony Liguori , "Michael S. Tsirkin" List-Id: virtualization@lists.linuxfoundation.org The virtio specification says: "The descriptors used for a buffer should not effect the semantics of the message, except for the total length of the buffer" and "In particular, no implementation should use the descriptor boundaries to determine the size of any header in a request" Why should descriptor layout not be specified? It seems that implementing arbitrary descriptor layout support (e.g. 1-byte descriptors) requires more code and makes input validation harder. Why bother with the flexibility of unspecified descriptor layouts? As long as the layout is specified clearly it makes everyone's lives easier to use a strict descriptor layout. The only reason I can think of is that virtio should work over transports that do not have the concept of "descriptors" (non-vring transports like pipes or streams). Stefan