Page MenuHomeVyOS Platform

Hardware watchdog timeout validation fix - watchdog may report 0 min/max timeout if hardware limit is unknown
Closed, ResolvedPublic

Description

Some hardware watchdogs report a timeout of 0 which causes vyos watchout timeout validation to fail.

Test senario:

# Confirm watchdog is available:
$ wdctl
> Device:        /dev/watchdog0
> Identity:      iTCO_wdt [version 0]
> Timeout:       30 seconds
> Timeleft:       2 seconds

# Check kernel reported timeout
grep '' /sys/class/watchdog/watchdog0/*_timeout
> /sys/class/watchdog/watchdog0/max_timeout:0
> /sys/class/watchdog/watchdog0/min_timeout:0

# Setup watchdog in VyOS:
set system watchdog
confirm
> [ system watchdog ]
> 'timeout' must be <= 0 seconds (driver maximum)

Expectation is the watchdog should be enabled, but currently rejected because default timeout is not accepted. No value of set system watchdog timeout 30 is accepted because VyOS is reading 0 timeout from kernel.

VyOS should ignore 0 values of timeout

/sys/class/watchdog/watchdog0/max_timeout:0
/sys/class/watchdog/watchdog0/min_timeout:0

Link: https://vyos.dev/T7101 (introduction of watchdog feature)

Details

Version
-
Is it a breaking change?
Stricter validation
Issue type
Bug (incorrect behavior)