diff options
| author | Daniil Baturin <daniil@vyos.io> | 2025-10-21 15:15:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-21 15:15:18 +0100 |
| commit | 33099a929ad51b980b77d7427bbb89cd71a560b6 (patch) | |
| tree | 12d7a2a95d8e42b7788ed81435d923a870f73577 /interface-definitions/include | |
| parent | fd8794f36b487ba2102cc50437056e93eb62f7f3 (diff) | |
| parent | d290b2661f0d71168a4d6b16691f48b7fb741a4c (diff) | |
| download | vyos-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')
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> |
