#
# RX-> TX->
#
- # pg2 ------+ +------pg0 (slave)
+ # pg2 ------+ +------pg0 (member)
# | |
# BondEthernet0 (10.10.10.1)
# | |
- # pg3 ------+ +------pg1 (slave)
+ # pg3 ------+ +------pg1 (memberx)
#
# create interface (BondEthernet0)
self.logger.info(self.vapi.cli("show interface address"))
self.logger.info(self.vapi.cli("show ip neighbors"))
- # enslave pg0 and pg1 to BondEthernet0
- self.logger.info("bond enslave interface pg0 to BondEthernet0")
- bond0.enslave_vpp_bond_interface(sw_if_index=self.pg0.sw_if_index)
- self.logger.info("bond enslave interface pg1 to BondEthernet0")
- bond0.enslave_vpp_bond_interface(sw_if_index=self.pg1.sw_if_index)
+ # add member pg0 and pg1 to BondEthernet0
+ self.logger.info("bond add member interface pg0 to BondEthernet0")
+ bond0.add_member_vpp_bond_interface(sw_if_index=self.pg0.sw_if_index)
+ self.logger.info("bond add_member interface pg1 to BondEthernet0")
+ bond0.add_member_vpp_bond_interface(sw_if_index=self.pg1.sw_if_index)
- # verify both slaves in BondEthernet0
- if_dump = self.vapi.sw_interface_slave_dump(bond0.sw_if_index)
+ # verify both members in BondEthernet0
+ if_dump = self.vapi.sw_member_interface_dump(bond0.sw_if_index)
self.assertTrue(self.pg0.is_interface_config_in_dump(if_dump))
self.assertTrue(self.pg1.is_interface_config_in_dump(if_dump))
bond0.remove_vpp_config()
- def test_bond_enslave(self):
- """ Bond enslave/detach slave test """
+ def test_bond_add_member(self):
+ """ Bond add_member/detach member test """
# create interface (BondEthernet0) and set bond mode to LACP
self.logger.info("create bond")
bond0.add_vpp_config()
bond0.admin_up()
- # verify that interfaces can be enslaved and detached two times
+ # verify that interfaces can be added as_member and detached two times
for i in range(2):
# verify pg0 and pg1 not in BondEthernet0
- if_dump = self.vapi.sw_interface_slave_dump(bond0.sw_if_index)
+ if_dump = self.vapi.sw_member_interface_dump(bond0.sw_if_index)
self.assertFalse(self.pg0.is_interface_config_in_dump(if_dump))
self.assertFalse(self.pg1.is_interface_config_in_dump(if_dump))
- # enslave pg0 and pg1 to BondEthernet0
- self.logger.info("bond enslave interface pg0 to BondEthernet0")
- bond0.enslave_vpp_bond_interface(sw_if_index=self.pg0.sw_if_index,
- is_passive=0,
- is_long_timeout=0)
-
- self.logger.info("bond enslave interface pg1 to BondEthernet0")
- bond0.enslave_vpp_bond_interface(sw_if_index=self.pg1.sw_if_index,
- is_passive=0,
- is_long_timeout=0)
- # verify both slaves in BondEthernet0
- if_dump = self.vapi.sw_interface_slave_dump(bond0.sw_if_index)
+ # add_member pg0 and pg1 to BondEthernet0
+ self.logger.info("bond add_member interface pg0 to BondEthernet0")
+ bond0.add_member_vpp_bond_interface(
+ sw_if_index=self.pg0.sw_if_index,
+ is_passive=0,
+ is_long_timeout=0)
+
+ self.logger.info("bond add_member interface pg1 to BondEthernet0")
+ bond0.add_member_vpp_bond_interface(
+ sw_if_index=self.pg1.sw_if_index,
+ is_passive=0,
+ is_long_timeout=0)
+ # verify both members in BondEthernet0
+ if_dump = self.vapi.sw_member_interface_dump(bond0.sw_if_index)
self.assertTrue(self.pg0.is_interface_config_in_dump(if_dump))
self.assertTrue(self.pg1.is_interface_config_in_dump(if_dump))
bond0.detach_vpp_bond_interface(sw_if_index=self.pg0.sw_if_index)
# verify pg0 is not in BondEthernet0, but pg1 is
- if_dump = self.vapi.sw_interface_slave_dump(bond0.sw_if_index)
+ if_dump = self.vapi.sw_member_interface_dump(bond0.sw_if_index)
self.assertFalse(self.pg0.is_interface_config_in_dump(if_dump))
self.assertTrue(self.pg1.is_interface_config_in_dump(if_dump))
bond0.detach_vpp_bond_interface(sw_if_index=self.pg1.sw_if_index)
# verify pg0 and pg1 not in BondEthernet0
- if_dump = self.vapi.sw_interface_slave_dump(bond0.sw_if_index)
+ if_dump = self.vapi.sw_member_interface_dump(bond0.sw_if_index)
self.assertFalse(self.pg0.is_interface_config_in_dump(if_dump))
self.assertFalse(self.pg1.is_interface_config_in_dump(if_dump))
self.assertIn('BondEthernet1', ifs)
# verify they are in the dump also
- if_dump = self.vapi.sw_interface_bond_dump()
+ if_dump = self.vapi.sw_bond_interface_dump(sw_if_index=0xFFFFFFFF)
self.assertTrue(bond0.is_interface_config_in_dump(if_dump))
self.assertTrue(bond1.is_interface_config_in_dump(if_dump))
self.assertNotIn('BondEthernet1', ifs)
# verify BondEthernet1 is not in the dump
- if_dump = self.vapi.sw_interface_bond_dump()
+ if_dump = self.vapi.sw_bond_interface_dump(sw_if_index=0xFFFFFFFF)
self.assertFalse(bond1.is_interface_config_in_dump(if_dump))
# verify BondEthernet0 is still in the dump
self.assertNotIn('BondEthernet0', ifs)
# verify BondEthernet0 is not in the dump
- if_dump = self.vapi.sw_interface_bond_dump()
+ if_dump = self.vapi.sw_bond_interface_dump(
+ sw_if_index=bond0.sw_if_index)
self.assertFalse(bond0.is_interface_config_in_dump(if_dump))