blob: 1c33e1cecd6c05dc0a9806ea1b1352fc1333bd65 [file] [log] [blame]
Steven9cd2d7a2017-12-20 12:43:01 -08001from vpp_object import VppObject
2from vpp_interface import VppInterface
3
4
5class VppBondInterface(VppInterface):
6 """VPP bond interface."""
7
8 def __init__(self, test, mode, lb=0,
9 use_custom_mac=0, mac_address=''):
10
11 """ Create VPP Bond interface """
12 self._test = test
13 self.mode = mode
14 self.lb = lb
15 self.use_custom_mac = use_custom_mac
16 self.mac_address = mac_address
17 self._sw_if_index = 0
18 super(VppBondInterface, self).__init__(test)
19
20 def add_vpp_config(self):
21 r = self.test.vapi.bond_create(self.mode,
22 self.lb,
23 self.use_custom_mac,
24 self.mac_address)
25 self._sw_if_index = r.sw_if_index
26
27 def remove_vpp_config(self):
28 self.test.vapi.bond_delete(self.sw_if_index)
29
30 def enslave_vpp_bond_interface(self,
31 sw_if_index,
32 is_passive,
33 is_long_timeout):
34 self.test.vapi.bond_enslave(sw_if_index,
35 self.sw_if_index,
36 is_passive,
37 is_long_timeout)
38
39 def detach_vpp_bond_interface(self,
40 sw_if_index):
41 self.test.vapi.bond_detach_slave(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