virtio: support virtio 1.1 packed ring in vhost
[vpp.git] / test / vpp_vhost_interface.py
1 from vpp_interface import VppInterface
2
3
4 class VppVhostInterface(VppInterface):
5     """VPP vhost interface."""
6
7     def __init__(self, test, sock_filename, is_server=0, renumber=0,
8                  disable_mrg_rxbuf=0, disable_indirect_desc=0, gso=0,
9                  packed_ring=0, custom_dev_instance=0, use_custom_mac=0,
10                  mac_address='', tag=''):
11
12         """ Create VPP Vhost interface """
13         super(VppVhostInterface, self).__init__(test)
14         self.is_server = is_server
15         self.sock_filename = sock_filename
16         self.renumber = renumber
17         self.disable_mrg_rxbuf = disable_mrg_rxbuf
18         self.disable_indirect_desc = disable_indirect_desc
19         self.gso = gso
20         self.packed_ring = packed_ring
21         self.custom_dev_instance = custom_dev_instance
22         self.use_custom_mac = use_custom_mac
23         self.mac_address = mac_address
24         self.tag = tag
25
26     def add_vpp_config(self):
27         r = self.test.vapi.create_vhost_user_if(self.is_server,
28                                                 self.sock_filename,
29                                                 self.renumber,
30                                                 self.disable_mrg_rxbuf,
31                                                 self.disable_indirect_desc,
32                                                 self.gso,
33                                                 self.packed_ring,
34                                                 self.custom_dev_instance,
35                                                 self.use_custom_mac,
36                                                 self.mac_address,
37                                                 self.tag)
38         self.set_sw_if_index(r.sw_if_index)
39
40     def remove_vpp_config(self):
41         self.test.vapi.delete_vhost_user_if(self.sw_if_index)
42
43     def is_interface_config_in_dump(self, dump):
44         for i in dump:
45             if i.sw_if_index == self.sw_if_index:
46                 return True
47         else:
48             return False