From https://forum.vyos.io/t/vyos-1-3-configuring-interface-causes-brief-outage/8357
Hello,
Wondering if this normal behavior because it does not seem it should be. With VyOS 1.3 whenever I make a configuration change on my WAN eth0 interface, no matter what the change is, it causes the interface DHCP (IPv4 and IPv6) to stop/release/restart and causes an brief outage. It does not seem right that configuring, for instance, a description or traffic policy should cause the interface to reset. Shouldn’t that only happen if I’m actually changing the interface addressing?
WAN config:
set interfaces ethernet eth0 address 'dhcp' set interfaces ethernet eth0 address 'dhcpv6' set interfaces ethernet eth0 description 'WAN' set interfaces ethernet eth0 dhcpv6-options pd 0 interface eth1 address '1' set interfaces ethernet eth0 dhcpv6-options pd 0 interface eth1 sla-id '1' set interfaces ethernet eth0 dhcpv6-options pd 0 length '60' set interfaces ethernet eth0 dhcpv6-options rapid-commit
Reproduce issue - Start ping from LAN to something on the WAN (8.8.8.8 for example if WAN is the internet) and while ping is running change description or set traffic policy on eth0 interface. Notice ping drops and view logs to see DHCP client releasing/stopping/restarting for eth0 interface.
Background
The bahavior was introduced in https://github.com/vyos/vyos-1x/commit/dd2eb5e5686655c996ae95285b8ad7eb73d63d0b which stops the DHCP client service and restarts it even if there is no change in metric.
Another commit worked on parts of this in addition which now shows another bug while revising the code.
https://github.com/vyos/vyos-1x/commit/05aa22dcb4ce54e3fb9909eddaa2aca3a6ac206e
If a static routing is modified - the DHCP interface will always end up with metric 210. Maybe it's time to deprecate the DHCP helper script and move everything about routing and metrics to src/conf_mode/protocols_static.py and simply call this script from the DHCP hook.