summaryrefslogtreecommitdiff
path: root/interface-definitions/include
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-10-21 15:15:18 +0100
committerGitHub <noreply@github.com>2025-10-21 15:15:18 +0100
commit33099a929ad51b980b77d7427bbb89cd71a560b6 (patch)
tree12d7a2a95d8e42b7788ed81435d923a870f73577 /interface-definitions/include
parentfd8794f36b487ba2102cc50437056e93eb62f7f3 (diff)
parentd290b2661f0d71168a4d6b16691f48b7fb741a4c (diff)
downloadvyos-1x-33099a929ad51b980b77d7427bbb89cd71a560b6.tar.gz
vyos-1x-33099a929ad51b980b77d7427bbb89cd71a560b6.zip
Merge pull request #4783 from hedrok/T5942-failover-dhcp-gateway
T5942: Make failover support dhcp-interface
Diffstat (limited to 'interface-definitions/include')
-rw-r--r--interface-definitions/include/dhcp-interface-multi.xml.i22
-rw-r--r--interface-definitions/include/dhcp-interface-properties.xml.i13
-rw-r--r--interface-definitions/include/dhcp-interface.xml.i14
-rw-r--r--interface-definitions/include/failover/common-failover.xml.i105
-rw-r--r--interface-definitions/include/failover/protocol-common-config.xml.i110
5 files changed, 134 insertions, 130 deletions
diff --git a/interface-definitions/include/dhcp-interface-multi.xml.i b/interface-definitions/include/dhcp-interface-multi.xml.i
index 0db11cf79..5f5c54cfd 100644
--- a/interface-definitions/include/dhcp-interface-multi.xml.i
+++ b/interface-definitions/include/dhcp-interface-multi.xml.i
@@ -1,18 +1,8 @@
<!-- include start from dhcp-interface-multi.xml.i -->
-<leafNode name="dhcp-interface">
- <properties>
- <help>DHCP interface supplying next-hop IP address</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces</script>
- </completionHelp>
- <valueHelp>
- <format>txt</format>
- <description>DHCP interface name</description>
- </valueHelp>
- <constraint>
- #include <include/constraint/interface-name.xml.i>
- </constraint>
- <multi/>
- </properties>
+ <leafNode name="dhcp-interface">
+ <properties>
+ #include <include/dhcp-interface-properties.xml.i>
+ <multi/>
+ </properties>
</leafNode>
-<!-- include end --> \ No newline at end of file
+<!-- include end -->
diff --git a/interface-definitions/include/dhcp-interface-properties.xml.i b/interface-definitions/include/dhcp-interface-properties.xml.i
new file mode 100644
index 000000000..b184b8f0a
--- /dev/null
+++ b/interface-definitions/include/dhcp-interface-properties.xml.i
@@ -0,0 +1,13 @@
+<!-- include end -->
+ <help>DHCP interface supplying next-hop IP address</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces</script>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>DHCP interface name</description>
+ </valueHelp>
+ <constraint>
+ #include <include/constraint/interface-name.xml.i>
+ </constraint>
+<!-- include end -->
diff --git a/interface-definitions/include/dhcp-interface.xml.i b/interface-definitions/include/dhcp-interface.xml.i
index b5c94cb24..e056b3fe1 100644
--- a/interface-definitions/include/dhcp-interface.xml.i
+++ b/interface-definitions/include/dhcp-interface.xml.i
@@ -1,15 +1,7 @@
+<!-- include start from dhcp-interface.xml.i -->
<leafNode name="dhcp-interface">
<properties>
- <help>DHCP interface supplying next-hop IP address</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces</script>
- </completionHelp>
- <valueHelp>
- <format>txt</format>
- <description>DHCP interface name</description>
- </valueHelp>
- <constraint>
- #include <include/constraint/interface-name.xml.i>
- </constraint>
+ #include <include/dhcp-interface-properties.xml.i>
</properties>
</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/failover/common-failover.xml.i b/interface-definitions/include/failover/common-failover.xml.i
new file mode 100644
index 000000000..b147a0f8d
--- /dev/null
+++ b/interface-definitions/include/failover/common-failover.xml.i
@@ -0,0 +1,105 @@
+<!-- include start from include/failover/common-failover.xml.i -->
+<children>
+ <node name="check">
+ <properties>
+ <help>Check target options</help>
+ </properties>
+ <children>
+ <leafNode name="policy">
+ <properties>
+ <help>Policy for check targets</help>
+ <completionHelp>
+ <list>any-available all-available</list>
+ </completionHelp>
+ <valueHelp>
+ <format>all-available</format>
+ <description>All targets must be alive</description>
+ </valueHelp>
+ <valueHelp>
+ <format>any-available</format>
+ <description>Any target must be alive</description>
+ </valueHelp>
+ <constraint>
+ <regex>(all-available|any-available)</regex>
+ </constraint>
+ </properties>
+ <defaultValue>any-available</defaultValue>
+ </leafNode>
+ #include <include/port-number.xml.i>
+ <tagNode name="target">
+ <properties>
+ <help>Check target address</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Address to check</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ <children>
+ #include <include/interface/vrf.xml.i>
+ #include <include/generic-interface.xml.i>
+ </children>
+ </tagNode>
+ <leafNode name="timeout">
+ <properties>
+ <help>Timeout between checks</help>
+ <valueHelp>
+ <format>u32:1-300</format>
+ <description>Timeout in seconds between checks</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-255"/>
+ </constraint>
+ </properties>
+ <defaultValue>10</defaultValue>
+ </leafNode>
+ <leafNode name="type">
+ <properties>
+ <help>Check type</help>
+ <completionHelp>
+ <list>arp icmp tcp</list>
+ </completionHelp>
+ <valueHelp>
+ <format>arp</format>
+ <description>Check target by ARP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>icmp</format>
+ <description>Check target by ICMP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>tcp</format>
+ <description>Check target by TCP</description>
+ </valueHelp>
+ <constraint>
+ <regex>(arp|icmp|tcp)</regex>
+ </constraint>
+ </properties>
+ <defaultValue>icmp</defaultValue>
+ </leafNode>
+ </children>
+ </node>
+ #include <include/generic-interface.xml.i>
+ <leafNode name="metric">
+ <properties>
+ <help>Route metric for this gateway</help>
+ <valueHelp>
+ <format>u32:1-255</format>
+ <description>Route metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-255"/>
+ </constraint>
+ </properties>
+ <defaultValue>1</defaultValue>
+ </leafNode>
+ <leafNode name="onlink">
+ <properties>
+ <help>The next hop is directly connected to the interface, even if it does not match interface prefix</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+</children>
+<!-- include end -->
diff --git a/interface-definitions/include/failover/protocol-common-config.xml.i b/interface-definitions/include/failover/protocol-common-config.xml.i
index a106fdc74..56c9d8f90 100644
--- a/interface-definitions/include/failover/protocol-common-config.xml.i
+++ b/interface-definitions/include/failover/protocol-common-config.xml.i
@@ -22,109 +22,13 @@
<validator name="ipv4-address"/>
</constraint>
</properties>
- <children>
- <node name="check">
- <properties>
- <help>Check target options</help>
- </properties>
- <children>
- <leafNode name="policy">
- <properties>
- <help>Policy for check targets</help>
- <completionHelp>
- <list>any-available all-available</list>
- </completionHelp>
- <valueHelp>
- <format>all-available</format>
- <description>All targets must be alive</description>
- </valueHelp>
- <valueHelp>
- <format>any-available</format>
- <description>Any target must be alive</description>
- </valueHelp>
- <constraint>
- <regex>(all-available|any-available)</regex>
- </constraint>
- </properties>
- <defaultValue>any-available</defaultValue>
- </leafNode>
- #include <include/port-number.xml.i>
- <tagNode name="target">
- <properties>
- <help>Check target address</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Address to check</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- </properties>
- <children>
- #include <include/interface/vrf.xml.i>
- #include <include/generic-interface.xml.i>
- </children>
- </tagNode>
- <leafNode name="timeout">
- <properties>
- <help>Timeout between checks</help>
- <valueHelp>
- <format>u32:1-300</format>
- <description>Timeout in seconds between checks</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-255"/>
- </constraint>
- </properties>
- <defaultValue>10</defaultValue>
- </leafNode>
- <leafNode name="type">
- <properties>
- <help>Check type</help>
- <completionHelp>
- <list>arp icmp tcp</list>
- </completionHelp>
- <valueHelp>
- <format>arp</format>
- <description>Check target by ARP</description>
- </valueHelp>
- <valueHelp>
- <format>icmp</format>
- <description>Check target by ICMP</description>
- </valueHelp>
- <valueHelp>
- <format>tcp</format>
- <description>Check target by TCP</description>
- </valueHelp>
- <constraint>
- <regex>(arp|icmp|tcp)</regex>
- </constraint>
- </properties>
- <defaultValue>icmp</defaultValue>
- </leafNode>
- </children>
- </node>
- #include <include/generic-interface.xml.i>
- <leafNode name="metric">
- <properties>
- <help>Route metric for this gateway</help>
- <valueHelp>
- <format>u32:1-255</format>
- <description>Route metric</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-255"/>
- </constraint>
- </properties>
- <defaultValue>1</defaultValue>
- </leafNode>
- <leafNode name="onlink">
- <properties>
- <help>The next hop is directly connected to the interface, even if it does not match interface prefix</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
+ #include <include/failover/common-failover.xml.i>
+ </tagNode>
+ <tagNode name="dhcp-interface">
+ <properties>
+ #include <include/dhcp-interface-properties.xml.i>
+ </properties>
+ #include <include/failover/common-failover.xml.i>
</tagNode>
</children>
</tagNode>