import socket
+from ipaddress import IPv4Network
import six
from vpp_object import VppObject
-from vpp_ip import VppIpPrefix
from vpp_papi import VppEnum
-class MEMIF_ROLE:
- MASTER = 0
- SLAVE = 1
-
-
-class MEMIF_MODE:
- ETHERNET = 0
- IP = 1
- PUNT_INJECT = 2
-
-
def get_if_dump(dump, sw_if_index):
for d in dump:
if (d.sw_if_index == sw_if_index):
rv = self._test.vapi.memif_socket_filename_add_del(
1, self.socket_id, self.socket_filename)
if self.add_default_folder:
- self.socket_filename = b"%s/%s" % (
- six.ensure_binary(self._test.tempdir, encoding='utf-8'),
- self.socket_filename)
+ self.socket_filename = "%s/%s" % (self._test.tempdir,
+ self.socket_filename)
return rv
def remove_vpp_config(self):
self.buffer_size = buffer_size
self.hw_addr = hw_addr
self.sw_if_index = None
- self.ip_prefix = VppIpPrefix("192.168.%d.%d" %
- (self.if_id + 1, self.role + 1), 24)
+ self.ip_prefix = IPv4Network("192.168.%d.%d/24" %
+ (self.if_id + 1, self.role + 1),
+ strict=False)
def add_vpp_config(self):
rv = self._test.vapi.memif_create(
return False
while True:
dump = self.query_vpp_config()
- if dump.link_up_down == 1:
+ f = VppEnum.vl_api_if_status_flags_t.IF_STATUS_API_FLAG_LINK_UP
+ if dump.flags & f:
return True
self._test.sleep(step)
timeout -= step
def config_ip4(self):
return self._test.vapi.sw_interface_add_del_address(
- sw_if_index=self.sw_if_index, prefix=self.ip_prefix.encode())
+ sw_if_index=self.sw_if_index, prefix=self.ip_prefix)
def remove_vpp_config(self):
self._test.vapi.memif_delete(self.sw_if_index)