From 1d2531075269ee627ff2a138f5bf65b1ed3933a5 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 13 May 2021 10:49:31 +0200 Subject: smoketest: bonding: test minimum link assignment (cherry picked from commit ca75162b3bbace38fcad5c91ad07c4fedac8444c) --- smoketest/scripts/cli/test_interfaces_bonding.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'smoketest/scripts/cli/test_interfaces_bonding.py') diff --git a/smoketest/scripts/cli/test_interfaces_bonding.py b/smoketest/scripts/cli/test_interfaces_bonding.py index b65d97d30..b98cc30f9 100755 --- a/smoketest/scripts/cli/test_interfaces_bonding.py +++ b/smoketest/scripts/cli/test_interfaces_bonding.py @@ -22,6 +22,7 @@ from base_interfaces_test import BasicInterfaceTest from vyos.ifconfig import Section from vyos.ifconfig.interface import Interface from vyos.configsession import ConfigSessionError +from vyos.util import get_json_iface_options from vyos.util import read_file class BondingInterfaceTest(BasicInterfaceTest.BaseTest): @@ -91,5 +92,24 @@ class BondingInterfaceTest(BasicInterfaceTest.BaseTest): state = Interface(remove_member).get_admin_state() self.assertEqual('up', state) + def test_bonding_min_links(self): + # configure member interfaces + min_links = len(self._interfaces) + for interface in self._interfaces: + for option in self._options.get(interface, []): + self.session.set(self._base_path + [interface] + option.split()) + + self.session.set(self._base_path + [interface, 'min-links', str(min_links)]) + + self.session.commit() + + # verify config + for interface in self._interfaces: + tmp = get_json_iface_options(interface) + + self.assertEqual(min_links, tmp['linkinfo']['info_data']['min_links']) + # check LACP default rate + self.assertEqual('slow', tmp['linkinfo']['info_data']['ad_lacp_rate']) + if __name__ == '__main__': unittest.main(verbosity=2) -- cgit v1.2.3