diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-28 13:07:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-28 13:07:41 +0100 |
commit | b0fc2507aab533c1d6c4472667f39f9c11f40e69 (patch) | |
tree | af1adf71a752cb3cdfd8a7f5dfe2d977ddd0bd7a /src/conf_mode/dhcpv6_server.py | |
parent | 957c99f20f9c08b0fc5dd51664a06cae16bc52c1 (diff) | |
parent | 8ed44ecef860601ff82e4c5102fd11e88fe040c5 (diff) | |
download | vyos-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-x | src/conf_mode/dhcpv6_server.py | 5 |
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}"!') |