vhost: Add event index for interrupt notification to driver

VPP only supports a poor man's approach for interrupt notification to the
driver. It uses a simple binary flag for "interrupt needed" or "interrupt
not needed". Most drivers support more sophisticated event index already.
This feature is to add the long due missing feature and make it configurable,
off by default.

Type: feature

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I68dab7dd07045cafb49af97b7f70db9b8131ae03
diff --git a/test/vpp_vhost_interface.py b/test/vpp_vhost_interface.py
index fd2928e..8fa2d71 100644
--- a/test/vpp_vhost_interface.py
+++ b/test/vpp_vhost_interface.py
@@ -5,8 +5,9 @@
     """VPP vhost interface."""
 
     def __init__(self, test, sock_filename, is_server=0, renumber=0,
-                 disable_mrg_rxbuf=0, disable_indirect_desc=0, gso=0,
-                 packed_ring=0, custom_dev_instance=0, use_custom_mac=0,
+                 disable_mrg_rxbuf=0, disable_indirect_desc=0, enable_gso=0,
+                 enable_packed_ring=0, enable_event_idx=0,
+                 custom_dev_instance=0xFFFFFFFF, use_custom_mac=0,
                  mac_address='', tag=''):
 
         """ Create VPP Vhost interface """
@@ -16,25 +17,27 @@
         self.renumber = renumber
         self.disable_mrg_rxbuf = disable_mrg_rxbuf
         self.disable_indirect_desc = disable_indirect_desc
-        self.gso = gso
-        self.packed_ring = packed_ring
+        self.enable_gso = enable_gso
+        self.enable_packed_ring = enable_packed_ring
+        self.enable_event_idx = enable_event_idx
         self.custom_dev_instance = custom_dev_instance
         self.use_custom_mac = use_custom_mac
         self.mac_address = mac_address
         self.tag = tag
 
     def add_vpp_config(self):
-        r = self.test.vapi.create_vhost_user_if(self.is_server,
-                                                self.sock_filename,
-                                                self.renumber,
-                                                self.disable_mrg_rxbuf,
-                                                self.disable_indirect_desc,
-                                                self.gso,
-                                                self.packed_ring,
-                                                self.custom_dev_instance,
-                                                self.use_custom_mac,
-                                                self.mac_address,
-                                                self.tag)
+        r = self.test.vapi.create_vhost_user_if_v2(self.is_server,
+                                                   self.sock_filename,
+                                                   self.renumber,
+                                                   self.disable_mrg_rxbuf,
+                                                   self.disable_indirect_desc,
+                                                   self.enable_gso,
+                                                   self.enable_packed_ring,
+                                                   self.enable_event_idx,
+                                                   self.custom_dev_instance,
+                                                   self.use_custom_mac,
+                                                   self.mac_address,
+                                                   self.tag)
         self.set_sw_if_index(r.sw_if_index)
 
     def remove_vpp_config(self):