When two DHCPv6 static mappings within the same subnet reserve the same IPv6 address, rejections come from KEA it would be nice to add our own validation.
base config:
set listen-interface 'eth1' set shared-network-name TEST subnet 2001:db8:1::/64 interface 'eth1' set shared-network-name TEST subnet 2001:db8:1::/64 lease-time default '120' set shared-network-name TEST subnet 2001:db8:1::/64 lease-time maximum '120' set shared-network-name TEST subnet 2001:db8:1::/64 lease-time minimum '120' set shared-network-name TEST subnet 2001:db8:1::/64 option set shared-network-name TEST subnet 2001:db8:1::/64 range 1 start '2001:db8:1::100' set shared-network-name TEST subnet 2001:db8:1::/64 range 1 stop '2001:db8:1::200' set shared-network-name TEST subnet 2001:db8:1::/64 static-mapping vyos-client duid '00:04:f1:1b:0b:5f:96:54:5d:46:ad:f0:fd:bf:3d:89:55:f4' set shared-network-name TEST subnet 2001:db8:1::/64 static-mapping vyos-client ipv6-address '2001:db8:1::11' set shared-network-name TEST subnet 2001:db8:1::/64 static-mapping vyos-client ipv6-address '2001:db8:1::10' set shared-network-name TEST subnet 2001:db8:1::/64 static-mapping vyos-client ipv6-prefix '2001:db8:3::/64' set shared-network-name TEST subnet 2001:db8:1::/64 static-mapping vyos-client ipv6-prefix '2001:db8:2::/64' set shared-network-name TEST subnet 2001:db8:1::/64 subnet-id '1'
than
set service dhcpv6-server shared-network-name TEST subnet 2001:db8:1::/64 static-mapping conflict-client duid '00:01:00:01:aa:bb:cc:dd:11:22:33:44:55:66' set service dhcpv6-server shared-network-name TEST subnet 2001:db8:1::/64 static-mapping conflict-client ipv6-address '2001:db8:1::10' commit [ service dhcpv6-server ] Unexpected error with Kea configuration: failed to add address reservation for host using the HW address '(null) and DUID '00:04:f1:1b:0b:5f:96:54:5d:46:ad:f0:fd:bf:3d:89:55:f4' to the IPv6 subnet id '1' for address/prefix 2001:db8:1::10: There's already reservation for this address/prefix (/run/kea/kea-dhcp6.conf:33:5) [[service dhcpv6-server]] failed Commit failed