summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorGrant Slater <github@firefishy.com>2025-11-10 15:16:38 +0000
committerGrant Slater <github@firefishy.com>2026-01-14 15:01:01 +0000
commit88b0c27a8d359d992e97c6043207dd877370295e (patch)
treebfe3985eecb2c7319440029ccaae5a2bc5746e99 /interface-definitions
parent0c373c7c9cf0fff573e5acc5642f6af63c311da2 (diff)
downloadvyos-1x-88b0c27a8d359d992e97c6043207dd877370295e.tar.gz
vyos-1x-88b0c27a8d359d992e97c6043207dd877370295e.zip
T7101: Add support for hardware watchdog support via systemd
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/system_watchdog.xml.in70
1 files changed, 70 insertions, 0 deletions
diff --git a/interface-definitions/system_watchdog.xml.in b/interface-definitions/system_watchdog.xml.in
new file mode 100644
index 000000000..c651bc652
--- /dev/null
+++ b/interface-definitions/system_watchdog.xml.in
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="system">
+ <children>
+ <node name="watchdog" owner="${vyos_conf_scripts_dir}/system_watchdog.py">
+ <properties>
+ <help>Hardware watchdog configuration</help>
+ <priority>9999</priority>
+ </properties>
+ <children>
+ <leafNode name="module">
+ <properties>
+ <help>Kernel module to load for watchdog device (optional)</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Module name (e.g. 'softdog', 'iTCO_wdt', 'sp5100_tco')</description>
+ </valueHelp>
+ <constraint>
+ <validator name="watchdog-module"/>
+ </constraint>
+ <constraintErrorMessage>Module must be an available watchdog kernel driver module</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="timeout">
+ <properties>
+ <help>Watchdog timeout for runtime in seconds (1-65535)</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ <constraintErrorMessage>Timeout must be between 1 and 65535 seconds</constraintErrorMessage>
+ </properties>
+ <defaultValue>10</defaultValue>
+ </leafNode>
+ <leafNode name="shutdown-timeout">
+ <properties>
+ <help>Watchdog timeout during shutdown in seconds (60-65535)</help>
+ <valueHelp>
+ <format>u32:60-65535</format>
+ <description>Seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 60-65535"/>
+ </constraint>
+ <constraintErrorMessage>Shutdown timeout must be between 60 and 65535 seconds</constraintErrorMessage>
+ </properties>
+ <defaultValue>120</defaultValue>
+ </leafNode>
+ <leafNode name="reboot-timeout">
+ <properties>
+ <help>Watchdog timeout during reboot in seconds (60-65535)</help>
+ <valueHelp>
+ <format>u32:60-65535</format>
+ <description>Seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 60-65535"/>
+ </constraint>
+ <constraintErrorMessage>Reboot timeout must be between 60 and 65535 seconds</constraintErrorMessage>
+ </properties>
+ <defaultValue>120</defaultValue>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>