summaryrefslogtreecommitdiff
path: root/interface-definitions/protocols-static.xml.in
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/protocols-static.xml.in
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/protocols-static.xml.in')
-rw-r--r--interface-definitions/protocols-static.xml.in78
1 files changed, 52 insertions, 26 deletions
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>