In service_dhcpv6-server verify(), the is_subnet_connected() and overlap checks run outside the subnet loop and check only the last subnet.
set interfaces ethernet eth0 address 2001:db8:f::1/64 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 subnet-id 1 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 interface eth0 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 range 0 start 2001:db8:a::100 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 range 0 stop 2001:db8:a:1::ffff set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a:1::/64 subnet-id 2 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a:1::/64 range 0 start 2001:db8:a:1::100 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a:1::/64 range 0 stop 2001:db8:a:1::200 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:f::/64 subnet-id 3 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:f::/64 range 0 start 2001:db8:f::100 set service dhcpv6-server shared-network-name LAN subnet 2001:db8:f::/64 range 0 stop 2001:db8:f::200 commit
config validation passes and commit applied:
vyos@vyos# run sh conf comm|grep dhcp set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a:1::/64 range 0 start '2001:db8:a:1::100' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a:1::/64 range 0 stop '2001:db8:a:1::200' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a:1::/64 subnet-id '2' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 interface 'eth0' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 range 0 start '2001:db8:a::100' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 range 0 stop '2001:db8:a:1::ffff' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:a::/48 subnet-id '1' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:f::/64 range 0 start '2001:db8:f::100' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:f::/64 range 0 stop '2001:db8:f::200' set service dhcpv6-server shared-network-name LAN subnet 2001:db8:f::/64 subnet-id '3'