summaryrefslogtreecommitdiff
path: root/src/conf_mode/dhcpv6_server.py
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-12-28 13:07:41 +0100
committerGitHub <noreply@github.com>2023-12-28 13:07:41 +0100
commitb0fc2507aab533c1d6c4472667f39f9c11f40e69 (patch)
treeaf1adf71a752cb3cdfd8a7f5dfe2d977ddd0bd7a /src/conf_mode/dhcpv6_server.py
parent957c99f20f9c08b0fc5dd51664a06cae16bc52c1 (diff)
parent8ed44ecef860601ff82e4c5102fd11e88fe040c5 (diff)
downloadvyos-1x-b0fc2507aab533c1d6c4472667f39f9c11f40e69.tar.gz
vyos-1x-b0fc2507aab533c1d6c4472667f39f9c11f40e69.zip
Merge pull request #2650 from indrajitr/kea-reservation-fix
dhcp: T3316: Support hostname, DUID and MAC address in reservation
Diffstat (limited to 'src/conf_mode/dhcpv6_server.py')
-rwxr-xr-xsrc/conf_mode/dhcpv6_server.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/conf_mode/dhcpv6_server.py b/src/conf_mode/dhcpv6_server.py
index b01f510e5..f9da3d84a 100755
--- a/src/conf_mode/dhcpv6_server.py
+++ b/src/conf_mode/dhcpv6_server.py
@@ -135,6 +135,11 @@ def verify(dhcpv6):
if ip_address(mapping_config['ipv6_address']) not in ip_network(subnet):
raise ConfigError(f'static-mapping address for mapping "{mapping}" is not in subnet "{subnet}"!')
+ if ('mac' not in mapping_config and 'duid' not in mapping_config) or \
+ ('mac' in mapping_config and 'duid' in mapping_config):
+ raise ConfigError(f'Either MAC address or Client identifier (DUID) is required for '
+ f'static mapping "{mapping}" within shared-network "{network}, {subnet}"!')
+
if 'vendor_option' in subnet_config:
if len(dict_search('vendor_option.cisco.tftp_server', subnet_config)) > 2:
raise ConfigError(f'No more then two Cisco tftp-servers should be defined for subnet "{subnet}"!')