bonding: add support for numa-only in lacp mode
[vpp.git] / test / vpp_bond_interface.py
1 from vpp_object import VppObject
2 from vpp_interface import VppInterface
3
4
5 class VppBondInterface(VppInterface):
6     """VPP bond interface."""
7
8     def __init__(self, test, mode, lb=0, numa_only=0,
9                  use_custom_mac=0, mac_address=''):
10
11         """ Create VPP Bond interface """
12         super(VppBondInterface, self).__init__(test)
13         self.mode = mode
14         self.lb = lb
15         self.numa_only = numa_only
16         self.use_custom_mac = use_custom_mac
17         self.mac_address = mac_address
18
19     def add_vpp_config(self):
20         r = self.test.vapi.bond_create(self.mode,
21                                        self.lb,
22                                        self.numa_only,
23                                        self.use_custom_mac,
24                                        self.mac_address)
25         self.set_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