1 from vpp_interface import VppInterface
4 class VppAFPacketInterface(VppInterface):
7 def host_if_name(self):
8 """Host interface name"""
9 return self._host_if_name
11 def __init__(self, test, host_if_name, mac_addr=None):
13 self._host_if_name = host_if_name
14 self._mac_addr = mac_addr
16 def get_vpp_dump(self):
17 dump = self._test.vapi.af_packet_dump()
19 if entry.sw_if_index == self.sw_if_index:
22 def add_vpp_config(self):
23 use_random_mac = True if self._mac_addr else False
24 reply = self._test.vapi.af_packet_create(
25 host_if_name=self._host_if_name,
26 use_random_hw_addr=use_random_mac,
27 hw_addr=self._mac_addr)
28 self.set_sw_if_index(reply.sw_if_index)
29 self._test.registry.register(self, self.test.logger)
31 def remove_vpp_config(self):
32 self._test.vapi.af_packet_delete(host_if_name=self._host_if_name)
34 def query_vpp_config(self):
35 dump = self.get_vpp_dump()
41 return "af_packet-%s" % self._host_if_name