When an interface goes down - e.g. cable unplugged - the DHCPv6 assigned IPv6 address is not removed from said interface. We should provide the same behavior as with IPv4. IPv6 address should be removed and dhcpv6 client restarted once the interface goes operational up again.
After this implementation the process call chain would be:
root 2452 0.0 0.0 2484 1024 ? Ss 21:11 0:00 /sbin/netplugd -c /etc/netplug/netplugd.conf -p /run/netplugd.pid root 3611 0.0 0.0 6936 3200 ? S 21:15 0:00 \_ /bin/sh /etc/netplug/netplug eth1.1111 out root 3613 0.0 0.0 2472 1280 ? S 21:15 0:00 \_ run-parts --arg eth1.1111 --arg out /etc/netplug/linkdown.d root 3615 0.0 0.0 6936 3328 ? S 21:15 0:00 \_ /bin/sh /etc/netplug/linkdown.d/vyos-python-helper eth1.1111 out root 3619 0.6 1.0 55572 43448 ? S 21:15 0:00 \_ /usr/bin/python3 /etc/netplug/vyos-netplug-dhcp-client eth1.1111 out root 3700 0.0 0.1 16448 5888 ? S 21:15 0:00 \_ systemctl stop [email protected]
Test setup DHCP server
VyOS 1.4.2
set interfaces ethernet eth1 vif 1111 address '192.0.2.1/24' set interfaces ethernet eth1 vif 1111 address '2001:db8:1111::1/64' set service dhcp-server shared-network-name TEST subnet 192.0.2.0/24 default-router '192.0.2.1' set service dhcp-server shared-network-name TEST subnet 192.0.2.0/24 range 1 start '192.0.2.100' set service dhcp-server shared-network-name TEST subnet 192.0.2.0/24 range 1 stop '192.0.2.200' set service dhcpv6-server shared-network-name TEST subnet 2001:db8:1111::/64 address-range start 2001:db8:1111::f000 stop '2001:db8:1111::ffff'