diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-01-25 16:26:47 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-01-25 16:27:09 +0100 |
commit | 99f4140d1c5b1813c75790a8a99aae8fa84d13ee (patch) | |
tree | 70d82869ee4b7a4dd9e935b9ea3440e07c68f68f /smoketest/scripts/cli/base_interfaces_test.py | |
parent | 836c4724018e4d184b1b1bf21c6984f1adf57b04 (diff) | |
download | vyos-1x-99f4140d1c5b1813c75790a8a99aae8fa84d13ee.tar.gz vyos-1x-99f4140d1c5b1813c75790a8a99aae8fa84d13ee.zip |
smoketest: dhcpv6: add client smoketests
Diffstat (limited to 'smoketest/scripts/cli/base_interfaces_test.py')
-rw-r--r-- | smoketest/scripts/cli/base_interfaces_test.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/base_interfaces_test.py b/smoketest/scripts/cli/base_interfaces_test.py index 6a68bcc26..8fa757967 100644 --- a/smoketest/scripts/cli/base_interfaces_test.py +++ b/smoketest/scripts/cli/base_interfaces_test.py @@ -59,6 +59,7 @@ class BasicInterfaceTest: _test_qinq = False _test_ipv6 = False _test_ipv6_pd = False + _test_ipv6_dhcpc6 = False _test_mirror = False _base_path = [] @@ -401,6 +402,38 @@ class BasicInterfaceTest: tmp = read_file(f'/proc/sys/net/ipv6/conf/{interface}/dad_transmits') self.assertEqual(dad_transmits, tmp) + def test_dhcpv6_clinet_options(self): + if not self._test_ipv6_dhcpc6: + self.skipTest('not supported') + + for interface in self._interfaces: + duid = '00:01:00:01:27:71:db:f0:' + read_file(f'/sys/class/net/{interface}/address') + path = self._base_path + [interface] + for option in self._options.get(interface, []): + self.session.set(path + option.split()) + + # Enable DHCPv6 client + self.session.set(path + ['address', 'dhcpv6']) + self.session.set(path + ['dhcpv6-options', 'rapid-commit']) + self.session.set(path + ['dhcpv6-options', 'parameters-only']) + self.session.set(path + ['dhcpv6-options', 'duid', duid]) + + self.session.commit() + + for interface in self._interfaces: + duid = '00:01:00:01:27:71:db:f0:' + read_file(f'/sys/class/net/{interface}/address') + dhcpc6_config = read_file(f'/run/dhcp6c/dhcp6c.{interface}.conf') + self.assertIn(f'interface {interface} ' + '{', dhcpc6_config) + self.assertIn(f' request domain-name-servers;', dhcpc6_config) + self.assertIn(f' request domain-name;', dhcpc6_config) + self.assertIn(f' information-only;', dhcpc6_config) + self.assertIn(f' send ia-na 0;', dhcpc6_config) + self.assertIn(f' send rapid-commit;', dhcpc6_config) + self.assertIn(f' send client-id {duid};', dhcpc6_config) + self.assertIn('};', dhcpc6_config) + + # Check for running process + self.assertTrue(process_named_running('dhcp6c')) def test_dhcpv6pd_auto_sla_id(self): if not self._test_ipv6_pd: |