tests docs: update python3 venv packages
[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__(
9         self,
10         test,
11         mode,
12         lb=0,
13         numa_only=0,
14         enable_gso=0,
15         use_custom_mac=0,
16         mac_address="",
17         id=0xFFFFFFFF,
18     ):
19         """Create VPP Bond interface"""
20         super(VppBondInterface, self).__init__(test)
21         self.mode = mode
22         self.lb = lb
23         self.numa_only = numa_only
24         self.enable_gso = enable_gso
25         self.use_custom_mac = use_custom_mac
26         self.mac_address = mac_address
27         self.id = id
28
29     def add_vpp_config(self):
30         r = self.test.vapi.bond_create2(
31             self.mode,
32             self.lb,
33             self.numa_only,
34             self.enable_gso,
35             self.use_custom_mac,
36             self.mac_address,
37             self.id,
38         )
39         self.set_sw_if_index(r.sw_if_index)
40
41     def remove_vpp_config(self):
42         self.test.vapi.bond_delete(self.sw_if_index)
43
44     def add_member_vpp_bond_interface(
45         self, sw_if_index, is_passive=0, is_long_timeout=0
46     ):
47         self.test.vapi.bond_add_member(
48             sw_if_index, self.sw_if_index, is_passive, is_long_timeout
49         )
50
51     def detach_vpp_bond_interface(self, sw_if_index):
52         self.test.vapi.bond_detach_member(sw_if_index)
53
54     def is_interface_config_in_dump(self, dump):
55         for i in dump:
56             if i.sw_if_index == self.sw_if_index:
57                 return True
58         else:
59             return False