Re: [Qemu-devel] [PATCH v2 1/3] vhost-user: update the protocol.

2015-02-14 Thread Linhaifeng


On 2015/2/15 5:03, Michael S. Tsirkin wrote:
> On Fri, Feb 13, 2015 at 09:45:37PM +0800, linhaifeng wrote:
>> @@ -35,7 +39,7 @@ consists of 3 header fields and a payload:
>>  
>>   * Request: 32-bit type of the request
>>   * Flags: 32-bit bit field:
>> -   - Lower 2 bits are the version (currently 0x01)
>> +   - Lower 2 bits are the version (currently 0x06)
>> - Bit 2 is the reply flag - needs to be sent on each reply from the slave
>>   * Size - 32-bit size of the payload
>>  
> 
> How do you encode 0x6 in a 2 bit field?
> 

I think the reply flag is unnecessary,so i remove it and let all the field as 
version.
The existing version is 0x5 now.

Sorry, i need to update the vhost-user.txt to describe it.


-- 
Regards,
Haifeng




Re: [Qemu-devel] [PATCH v2 1/3] vhost-user: update the protocol.

2015-02-14 Thread Michael S. Tsirkin
On Fri, Feb 13, 2015 at 09:45:37PM +0800, linhaifeng wrote:
> @@ -35,7 +39,7 @@ consists of 3 header fields and a payload:
>  
>   * Request: 32-bit type of the request
>   * Flags: 32-bit bit field:
> -   - Lower 2 bits are the version (currently 0x01)
> +   - Lower 2 bits are the version (currently 0x06)
> - Bit 2 is the reply flag - needs to be sent on each reply from the slave
>   * Size - 32-bit size of the payload
>  

How do you encode 0x6 in a 2 bit field?

-- 
MST



[Qemu-devel] [PATCH v2 1/3] vhost-user: update the protocol.

2015-02-13 Thread linhaifeng
From: Linhaifeng 

Every messages need reply.
This path just update the vhost-user.txt to version 0x6.

Signed-off-by: Linhaifeng 
---
 docs/specs/vhost-user.txt | 17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/docs/specs/vhost-user.txt b/docs/specs/vhost-user.txt
index 650bb18..448babc 100644
--- a/docs/specs/vhost-user.txt
+++ b/docs/specs/vhost-user.txt
@@ -23,6 +23,10 @@ be a software Ethernet switch running in user space, such as 
Snabbswitch.
 Master and slave can be either a client (i.e. connecting) or server (listening)
 in the socket communication.
 
+version 0x1: Supply base communication between master and slave.
+version 0x6: Add reply for more robust.
+
+
 Message Specification
 -
 
@@ -35,7 +39,7 @@ consists of 3 header fields and a payload:
 
  * Request: 32-bit type of the request
  * Flags: 32-bit bit field:
-   - Lower 2 bits are the version (currently 0x01)
+   - Lower 2 bits are the version (currently 0x06)
- Bit 2 is the reply flag - needs to be sent on each reply from the slave
  * Size - 32-bit size of the payload
 
@@ -144,6 +148,7 @@ Message types
   Id: 2
   Ioctl: VHOST_SET_FEATURES
   Master payload: u64
+  Slave payload: u64 0:success else:fail
 
   Enable features in the underlying vhost implementation using a bitmask.
 
@@ -171,6 +176,7 @@ Message types
   Id: 5
   Equivalent ioctl: VHOST_SET_MEM_TABLE
   Master payload: memory regions description
+  Slave payload: u64 0:success else:fail
 
   Sets the memory map regions on the slave so it can translate the vring
   addresses. In the ancillary data there is an array of file descriptors
@@ -182,6 +188,7 @@ Message types
   Id: 6
   Equivalent ioctl: VHOST_SET_LOG_BASE
   Master payload: u64
+  Slave payload: u64 0:success else:fail
 
   Sets the logging base address.
 
@@ -190,6 +197,7 @@ Message types
   Id: 7
   Equivalent ioctl: VHOST_SET_LOG_FD
   Master payload: N/A
+  Slave payload: u64 0:success else:fail
 
   Sets the logging file descriptor, which is passed as ancillary data.
 
@@ -198,6 +206,7 @@ Message types
   Id: 8
   Equivalent ioctl: VHOST_SET_VRING_NUM
   Master payload: vring state description
+  Slave payload: u64 0:success else:fail
 
   Sets the number of vrings for this owner.
 
@@ -206,7 +215,7 @@ Message types
   Id: 9
   Equivalent ioctl: VHOST_SET_VRING_ADDR
   Master payload: vring address description
-  Slave payload: N/A
+  Slave payload: u64 0:success else:fail
 
   Sets the addresses of the different aspects of the vring.
 
@@ -215,6 +224,7 @@ Message types
   Id: 10
   Equivalent ioctl: VHOST_SET_VRING_BASE
   Master payload: vring state description
+  Slave payload: u64 0:success else:fail
 
   Sets the base offset in the available vring.
 
@@ -232,6 +242,7 @@ Message types
   Id: 12
   Equivalent ioctl: VHOST_SET_VRING_KICK
   Master payload: u64
+  Slave payload: u64 0:success else:fail
 
   Set the event file descriptor for adding buffers to the vring. It
   is passed in the ancillary data.
@@ -245,6 +256,7 @@ Message types
   Id: 13
   Equivalent ioctl: VHOST_SET_VRING_CALL
   Master payload: u64
+  Slave payload: u64 0:success else:fail
 
   Set the event file descriptor to signal when buffers are used. It
   is passed in the ancillary data.
@@ -258,6 +270,7 @@ Message types
   Id: 14
   Equivalent ioctl: VHOST_SET_VRING_ERR
   Master payload: u64
+  Slave payload: u64 0:success else:fail
 
   Set the event file descriptor to signal when error occurs. It
   is passed in the ancillary data.
-- 
1.7.12.4