summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/base_interfaces_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'smoketest/scripts/cli/base_interfaces_test.py')
-rw-r--r--smoketest/scripts/cli/base_interfaces_test.py33
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: