summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2024-09-12 14:18:01 +0100
committerGitHub <noreply@github.com>2024-09-12 14:18:01 +0100
commitad611f4c70b7f9cc9781cd7d350e261dbae8c077 (patch)
tree2c2a59696f515969c306d462eecbc511903d8cdd /interface-definitions
parent4339c093837a6bd7bbcd0874d8a402d7736f0394 (diff)
parentc9c37a56cdee45dfa7d4b2e677e88a19afde8ac7 (diff)
downloadvyos-1x-ad611f4c70b7f9cc9781cd7d350e261dbae8c077.tar.gz
vyos-1x-ad611f4c70b7f9cc9781cd7d350e261dbae8c077.zip
Merge pull request #4021 from natali-rs1985/T6652-current
openfabric: T6652: Add support for OpenFabric protocol
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/isis/protocol-common-config.xml.i20
-rw-r--r--interface-definitions/include/log-adjacency-changes.xml.i8
-rw-r--r--interface-definitions/include/net.xml.i14
-rw-r--r--interface-definitions/include/openfabric/password.xml.i20
-rw-r--r--interface-definitions/protocols_openfabric.xml.in218
5 files changed, 262 insertions, 18 deletions
diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i
index 0e79ca5f2..35ce80be9 100644
--- a/interface-definitions/include/isis/protocol-common-config.xml.i
+++ b/interface-definitions/include/isis/protocol-common-config.xml.i
@@ -86,12 +86,7 @@
</constraint>
</properties>
</leafNode>
-<leafNode name="log-adjacency-changes">
- <properties>
- <help>Log adjacency state changes</help>
- <valueless/>
- </properties>
-</leafNode>
+#include <include/log-adjacency-changes.xml.i>
<leafNode name="lsp-gen-interval">
<properties>
<help>Minimum interval between regenerating same LSP</help>
@@ -208,18 +203,7 @@
#include <include/isis/lfa-protocol.xml.i>
</children>
</node>
-<leafNode name="net">
- <properties>
- <help>A Network Entity Title for this process (ISO only)</help>
- <valueHelp>
- <format>XX.XXXX. ... .XXX.XX</format>
- <description>Network entity title (NET)</description>
- </valueHelp>
- <constraint>
- <regex>[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}</regex>
- </constraint>
- </properties>
-</leafNode>
+#include <include/net.xml.i>
<leafNode name="purge-originator">
<properties>
<help>Use the RFC 6232 purge-originator</help>
diff --git a/interface-definitions/include/log-adjacency-changes.xml.i b/interface-definitions/include/log-adjacency-changes.xml.i
new file mode 100644
index 000000000..a0628b8e2
--- /dev/null
+++ b/interface-definitions/include/log-adjacency-changes.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from log-adjacency-changes.xml.i -->
+<leafNode name="log-adjacency-changes">
+ <properties>
+ <help>Log changes in adjacency state</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/net.xml.i b/interface-definitions/include/net.xml.i
new file mode 100644
index 000000000..10b54ee49
--- /dev/null
+++ b/interface-definitions/include/net.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from net.xml.i -->
+<leafNode name="net">
+ <properties>
+ <help>A Network Entity Title for the process (ISO only)</help>
+ <valueHelp>
+ <format>XX.XXXX. ... .XXX.XX</format>
+ <description>Network entity title (NET)</description>
+ </valueHelp>
+ <constraint>
+ <regex>[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/openfabric/password.xml.i b/interface-definitions/include/openfabric/password.xml.i
new file mode 100644
index 000000000..fa34a4dab
--- /dev/null
+++ b/interface-definitions/include/openfabric/password.xml.i
@@ -0,0 +1,20 @@
+<!-- include start from openfabric/password.xml.i -->
+<leafNode name="plaintext-password">
+ <properties>
+ <help>Use plain text password</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Authentication password</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<leafNode name="md5">
+ <properties>
+ <help>Use MD5 hash authentication</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Authentication password</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/protocols_openfabric.xml.in b/interface-definitions/protocols_openfabric.xml.in
new file mode 100644
index 000000000..81200360e
--- /dev/null
+++ b/interface-definitions/protocols_openfabric.xml.in
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interfaceDefinition>
+ <node name="protocols">
+ <children>
+ <node name="openfabric" owner="${vyos_conf_scripts_dir}/protocols_openfabric.py">
+ <properties>
+ <help>OpenFabric protocol</help>
+ <priority>680</priority>
+ </properties>
+ <children>
+ #include <include/net.xml.i>
+ <tagNode name="domain">
+ <properties>
+ <help>OpenFabric process name</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Domain name</description>
+ </valueHelp>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>Interface params</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces</script>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface name</description>
+ </valueHelp>
+ <constraint>
+ #include <include/constraint/interface-name.xml.i>
+ </constraint>
+ </properties>
+ <children>
+ <node name="address-family">
+ <properties>
+ <help>Openfabric address family</help>
+ </properties>
+ <children>
+ <leafNode name="ipv4">
+ <properties>
+ <help>IPv4 OpenFabric</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="ipv6">
+ <properties>
+ <help>IPv6 OpenFabric</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="csnp-interval">
+ <properties>
+ <help>Complete Sequence Number Packets (CSNP) interval</help>
+ <valueHelp>
+ <format>u32:1-600</format>
+ <description>CSNP interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-600"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="hello-interval">
+ <properties>
+ <help>Hello interval</help>
+ <valueHelp>
+ <format>u32:1-600</format>
+ <description>Hello interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-600"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="hello-multiplier">
+ <properties>
+ <help>Multiplier for Hello holding time</help>
+ <valueHelp>
+ <format>u32:2-100</format>
+ <description>Multiplier for Hello holding time</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 2-100"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="metric">
+ <properties>
+ <help>Interface metric value</help>
+ <valueHelp>
+ <format>u32:0-16777215</format>
+ <description>Interface metric value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="passive">
+ <properties>
+ <help>Do not initiate adjacencies to the interface</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="password">
+ <properties>
+ <help>Authentication password for the interface</help>
+ </properties>
+ <children>
+ #include <include/openfabric/password.xml.i>
+ </children>
+ </node>
+ <leafNode name="psnp-interval">
+ <properties>
+ <help>Partial Sequence Number Packets (PSNP) interval</help>
+ <valueHelp>
+ <format>u32:0-120</format>
+ <description>PSNP interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-120"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="domain-password">
+ <properties>
+ <help>Authentication password for a routing domain</help>
+ </properties>
+ <children>
+ #include <include/openfabric/password.xml.i>
+ </children>
+ </node>
+ #include <include/log-adjacency-changes.xml.i>
+ <leafNode name="set-overload-bit">
+ <properties>
+ <help>Overload bit to avoid any transit traffic</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="purge-originator">
+ <properties>
+ <help>RFC 6232 purge originator identification</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="fabric-tier">
+ <properties>
+ <help>Static tier number to advertise as location in the fabric</help>
+ <valueHelp>
+ <format>u32:0-14</format>
+ <description>Static tier number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-14"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="lsp-gen-interval">
+ <properties>
+ <help>Minimum interval between regenerating same link-state packet (LSP)</help>
+ <valueHelp>
+ <format>u32:1-120</format>
+ <description>Minimum interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-120"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="lsp-refresh-interval">
+ <properties>
+ <help>Link-state packet (LSP) refresh interval</help>
+ <valueHelp>
+ <format>u32:1-65235</format>
+ <description>LSP refresh interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65235"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="max-lsp-lifetime">
+ <properties>
+ <help>Maximum link-state packet lifetime</help>
+ <valueHelp>
+ <format>u32:360-65535</format>
+ <description>Maximum LSP lifetime in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 360-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="spf-interval">
+ <properties>
+ <help>Minimum interval between SPF calculations</help>
+ <valueHelp>
+ <format>u32:1-120</format>
+ <description>Interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-120"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>