summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-04-01 12:30:48 +0000
committerChristian Poessinger <christian@poessinger.com>2021-04-01 14:33:50 +0200
commitd8c27642a3753513ae1d3c433fa46858a5ee946c (patch)
tree094e7e41830c4da40a3131d11502bd937cdb380a /interface-definitions
parenta90717e0eb4d57db6b9702860d10eeab57b20128 (diff)
downloadvyos-1x-d8c27642a3753513ae1d3c433fa46858a5ee946c.tar.gz
vyos-1x-d8c27642a3753513ae1d3c433fa46858a5ee946c.zip
static: route: arp: T3170: prevent empty node.def from beeing generated
Currently if there are XML nodes defined in multiple places it can and will happen that one overrides the other. In this case, the "protocols static arp" definition file overwrites the node.def file in the "protocols static" folder that had a priority - the priority is essential for l2tpv3 to work.
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/protocols-static-arp.xml.in37
-rw-r--r--interface-definitions/protocols-static.xml.in78
2 files changed, 52 insertions, 63 deletions
diff --git a/interface-definitions/protocols-static-arp.xml.in b/interface-definitions/protocols-static-arp.xml.in
deleted file mode 100644
index e5e8a9ad9..000000000
--- a/interface-definitions/protocols-static-arp.xml.in
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<interfaceDefinition>
- <node name="protocols">
- <children>
- <node name="static">
- <children>
- <tagNode name="arp" owner="${vyos_conf_scripts_dir}/arp.py">
- <properties>
- <help>Static ARP translation</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 destination address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- </properties>
- <children>
- <leafNode name="hwaddr">
- <properties>
- <help>Translation MAC address</help>
- <valueHelp>
- <format>macaddr</format>
- <description>Hardware (MAC) address</description>
- </valueHelp>
- <constraint>
- <validator name="mac-address"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </tagNode>
- </children>
- </node>
- </children>
- </node>
-</interfaceDefinition>
diff --git a/interface-definitions/protocols-static.xml.in b/interface-definitions/protocols-static.xml.in
index ab60649a0..2b1b0082a 100644
--- a/interface-definitions/protocols-static.xml.in
+++ b/interface-definitions/protocols-static.xml.in
@@ -2,32 +2,58 @@
<interfaceDefinition>
<node name="protocols">
<children>
- <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py">
- <properties>
- <help>Static route parameters</help>
- <priority>480</priority>
- </properties>
- <children>
- #include <include/static/static-route-map.xml.i>
- #include <include/static/static-route.xml.i>
- #include <include/static/static-route6.xml.i>
- <tagNode name="table">
- <properties>
- <help>Policy route table number</help>
- <valueHelp>
- <format>u32:1-200</format>
- <description>Policy route table number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-200"/>
- </constraint>
- </properties>
- <children>
- #include <include/static/static-route.xml.i>
- #include <include/static/static-route6.xml.i>
- </children>
- </tagNode>
- </children>
+ <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py">
+ <properties>
+ <help>Static route parameters</help>
+ <priority>480</priority>
+ </properties>
+ <children>
+ <tagNode name="arp" owner="${vyos_conf_scripts_dir}/arp.py">
+ <properties>
+ <help>Static ARP translation</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 destination address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="hwaddr">
+ <properties>
+ <help>Translation MAC address</help>
+ <valueHelp>
+ <format>macaddr</format>
+ <description>Hardware (MAC) address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="mac-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ #include <include/static/static-route-map.xml.i>
+ #include <include/static/static-route.xml.i>
+ #include <include/static/static-route6.xml.i>
+ <tagNode name="table">
+ <properties>
+ <help>Policy route table number</help>
+ <valueHelp>
+ <format>u32:1-200</format>
+ <description>Policy route table number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-200"/>
+ </constraint>
+ </properties>
+ <children>
+ #include <include/static/static-route.xml.i>
+ #include <include/static/static-route6.xml.i>
+ </children>
+ </tagNode>
+ </children>
</node>
</children>
</node>