vhost: binary API changes for interrupt mode

Add operation_mode for create_vhost_user_if, modify_vhost_user_if,
and sw_interface_vhost_user_details. Only polling mode is supported
for these APIs. Other mode is rejected and gets
VNET_API_ERROR_UNIMPLEMENTED error.

Change-Id: I0596f4e2c087aa2b6f78eb3e0b63910b1859641e
Signed-off-by: Steven <sluong@cisco.com>
diff --git a/src/vnet/devices/virtio/vhost_user.api b/src/vnet/devices/virtio/vhost_user.api
index 21e4229..4f604e4 100644
--- a/src/vnet/devices/virtio/vhost_user.api
+++ b/src/vnet/devices/virtio/vhost_user.api
@@ -19,6 +19,7 @@
     @param sock_filename - unix socket filename, used to speak with frontend
     @param use_custom_mac - enable or disable the use of the provided hardware address
     @param mac_address - hardware address to use if 'use_custom_mac' is set
+    @param operation_mode - polling=0, interrupt=1, or adaptive=2
 */
 define create_vhost_user_if
 {
@@ -31,6 +32,7 @@
   u8 use_custom_mac;
   u8 mac_address[6];
   u8 tag[64];
+  u8 operation_mode;
 };
 
 /** \brief vhost-user interface create response
@@ -49,6 +51,7 @@
     @param client_index - opaque cookie to identify the sender
     @param is_server - our side is socket server
     @param sock_filename - unix socket filename, used to speak with frontend
+    @param operation_mode - polling=0, interrupt=1, or adaptive=2
 */
 define modify_vhost_user_if
 {
@@ -59,6 +62,7 @@
   u8 sock_filename[256];
   u8 renumber;
   u32 custom_dev_instance;
+  u8 operation_mode;
 };
 
 /** \brief vhost-user interface modify response
@@ -99,6 +103,7 @@
     @param is_server - vhost-user server socket
     @param sock_filename - socket filename
     @param num_regions - number of used memory regions
+    @param operation_mode - polling=0, interrupt=1, or adaptive=2
 */
 define sw_interface_vhost_user_details
 {
@@ -111,6 +116,7 @@
   u8 sock_filename[256];
   u32 num_regions;
   i32 sock_errno;
+  u8 operation_mode;
 };
 
 define sw_interface_vhost_user_dump