summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorKyrylo Yatsenko <hedrok@gmail.com>2025-11-17 10:07:05 +0200
committerKyrylo Yatsenko <hedrok@gmail.com>2026-01-09 11:01:34 +0200
commita4b3cd33ca11aba579510456941f404839135af4 (patch)
tree282ee8efa47199e2d1c9b5f3441ff79e78cb0514 /interface-definitions
parentdffe642fee356b9063a269eb2d244f14d4cc2036 (diff)
downloadvyos-1x-a4b3cd33ca11aba579510456941f404839135af4.tar.gz
vyos-1x-a4b3cd33ca11aba579510456941f404839135af4.zip
T8046: traffic-engineering: support link-params
Add 'traffic-engineering' commands under 'protocols'. set protocols traffic-engineering admin-group ADMINGROUP bit-position 1 set protocols traffic-engineering interface INTERFACE admin-group ADMINGROUP set protocols traffic-engineering interface INTERFACE max-bandwidth 1280 set protocols traffic-engineering interface INTERFACE max-reservable-bandwidth 1280 Also add set protocols isis traffic-engineering export
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/isis/protocol-common-config.xml.i6
-rw-r--r--interface-definitions/protocols_traffic_engineering.xml.in108
2 files changed, 114 insertions, 0 deletions
diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i
index 459a048a2..359dbc3ce 100644
--- a/interface-definitions/include/isis/protocol-common-config.xml.i
+++ b/interface-definitions/include/isis/protocol-common-config.xml.i
@@ -266,6 +266,12 @@
</constraint>
</properties>
</leafNode>
+ <leafNode name="export">
+ <properties>
+ <help>Export Traffic Engineering Database, see options under protocols traffic-engineering</help>
+ <valueless/>
+ </properties>
+ </leafNode>
</children>
</node>
<node name="segment-routing">
diff --git a/interface-definitions/protocols_traffic_engineering.xml.in b/interface-definitions/protocols_traffic_engineering.xml.in
new file mode 100644
index 000000000..32e1793b1
--- /dev/null
+++ b/interface-definitions/protocols_traffic_engineering.xml.in
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<interfaceDefinition>
+ <node name="protocols">
+ <children>
+ <node name="traffic-engineering" owner="${vyos_conf_scripts_dir}/protocols_traffic_engineering.py">
+ <properties>
+ <help>Traffic Engineering link parameters</help>
+ <priority>605</priority>
+ </properties>
+ <children>
+ <tagNode name="admin-group">
+ <properties>
+ <help>Configure administrative groups that can be used in interface configuration</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Administrative group name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[-a-zA-Z0-9]+</regex>
+ </constraint>
+ <constraintErrorMessage>Administrative group must be alphanumeric and can contain hyphens</constraintErrorMessage>
+ </properties>
+ <children>
+ <leafNode name="bit-position">
+ <properties>
+ <help>Specify bit position of the admin group</help>
+ <valueHelp>
+ <format>u8:0-31</format>
+ <description>Admin group bit position</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-31"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ <tagNode name="interface">
+ <properties>
+ <help>Traffic engineering parameters for interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces</script>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface to configure name</description>
+ </valueHelp>
+ <constraint>
+ #include <include/constraint/interface-name.xml.i>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="metric">
+ <properties>
+ <help>TE metric</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>TE Metric (different from the OSPF or ISIS metric)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="max-bandwidth">
+ <properties>
+ <help>Maximum bandwidth (interface speed by default)</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Maximum bandwidth in Mbits/sec</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="max-reservable-bandwidth">
+ <properties>
+ <help>Maximum reservable bandwidth</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Maximum reservable bandwidth in Mbits/sec</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="admin-group">
+ <properties>
+ <help>Admin groups of interface</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Admin group of interface</description>
+ </valueHelp>
+ <completionHelp>
+ <path>protocols traffic-engineering admin-group</path>
+ </completionHelp>
+ <multi/>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>