Page MenuHomeVyOS Platform

Reconfigure DHCP client interface causes brief outages
Closed, ResolvedPublicBUG

Description

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.

Details

Difficulty level
Hard (possibly days)
Version
1.3.0
Why the issue appeared?
Design mistake
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

c-po changed the task status from Open to Confirmed.Jan 22 2022, 9:07 AM
c-po triaged this task as Normal priority.
c-po created this task.
c-po changed the task status from Confirmed to Needs testing.Feb 20 2022, 5:59 PM
c-po edited projects, added VyOS 1.3 Equuleus ( 1.3.1); removed VyOS 1.3 Equuleus.
c-po changed Why the issue appeared? from Will be filled on close to Design mistake.
c-po moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.
c-po moved this task from Need Triage to Finished on the VyOS 1.3 Equuleus ( 1.3.1) board.