diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-12-03 22:25:43 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-12-06 20:58:56 +0100 |
commit | 939c7c16a5add4443aebc37a55c2a33e4fccb8d0 (patch) | |
tree | 22048cc7ba4b40beeeb9cc314cb6df5c932a4ab1 /interface-definitions | |
parent | 0d4d4dd840e06c18250d73f27de61261ff141944 (diff) | |
download | vyos-1x-939c7c16a5add4443aebc37a55c2a33e4fccb8d0.tar.gz vyos-1x-939c7c16a5add4443aebc37a55c2a33e4fccb8d0.zip |
T1843: use include files for IPv4/IPv6 interface address configuration
As 219779bc6151 ("T1843: run interface-definitions though GCC preprocessor")
implemented the foundation of using the GCC preprocessor to make our XML
definitions more lightweight this commit transforms the configuration of
an IPv4/IPv6 address to this new style. It implementes it for the following
interface types:
* bond
* bridge
* dummy
* ethernet
* geneve
* loopback
* vxlan
* wireguard
* wireless
Diffstat (limited to 'interface-definitions')
-rw-r--r-- | interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i | 29 | ||||
-rw-r--r-- | interface-definitions/include/address-ipv4-ipv6.xml.i | 17 | ||||
-rw-r--r-- | interface-definitions/interfaces-bonding.xml.in | 30 | ||||
-rw-r--r-- | interface-definitions/interfaces-bridge.xml.in | 30 | ||||
-rw-r--r-- | interface-definitions/interfaces-dummy.xml.in | 18 | ||||
-rw-r--r-- | interface-definitions/interfaces-ethernet.xml.in | 30 | ||||
-rw-r--r-- | interface-definitions/interfaces-geneve.xml.in | 18 | ||||
-rw-r--r-- | interface-definitions/interfaces-loopback.xml.in | 15 | ||||
-rw-r--r-- | interface-definitions/interfaces-vxlan.xml.in | 18 | ||||
-rw-r--r-- | interface-definitions/interfaces-wireguard.xml.in | 18 | ||||
-rw-r--r-- | interface-definitions/interfaces-wireless.xml.in | 30 |
11 files changed, 55 insertions, 198 deletions
diff --git a/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i b/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i new file mode 100644 index 000000000..fb46f2c09 --- /dev/null +++ b/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i @@ -0,0 +1,29 @@ +<leafNode name="address"> + <properties> + <help>IP address</help> + <completionHelp> + <list>dhcp dhcpv6</list> + </completionHelp> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 address and prefix length</description> + </valueHelp> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <valueHelp> + <format>dhcp</format> + <description>Dynamic Host Configuration Protocol</description> + </valueHelp> + <valueHelp> + <format>dhcpv6</format> + <description>Dynamic Host Configuration Protocol for IPv6</description> + </valueHelp> + <constraint> + <validator name="ip-cidr"/> + <regex>(dhcp|dhcpv6)</regex> + </constraint> + <multi/> + </properties> +</leafNode> diff --git a/interface-definitions/include/address-ipv4-ipv6.xml.i b/interface-definitions/include/address-ipv4-ipv6.xml.i new file mode 100644 index 000000000..aa84a5640 --- /dev/null +++ b/interface-definitions/include/address-ipv4-ipv6.xml.i @@ -0,0 +1,17 @@ +<leafNode name="address"> + <properties> + <help>IP address</help> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 address and prefix length</description> + </valueHelp> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <constraint> + <validator name="ip-cidr"/> + </constraint> + <multi/> + </properties> +</leafNode> diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in index 821dd15fa..12df69364 100644 --- a/interface-definitions/interfaces-bonding.xml.in +++ b/interface-definitions/interfaces-bonding.xml.in @@ -16,35 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <completionHelp> - <list>dhcp dhcpv6</list> - </completionHelp> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>dhcp</format> - <description>Dynamic Host Configuration Protocol</description> - </valueHelp> - <valueHelp> - <format>dhcpv6</format> - <description>Dynamic Host Configuration Protocol for IPv6</description> - </valueHelp> - <constraint> - <validator name="ip-cidr"/> - <regex>(dhcp|dhcpv6)</regex> - </constraint> - <multi/> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6-dhcp.xml.i" <node name="arp-monitor"> <properties> <help>ARP link monitoring parameters</help> diff --git a/interface-definitions/interfaces-bridge.xml.in b/interface-definitions/interfaces-bridge.xml.in index 40505d7de..4dbfa7d91 100644 --- a/interface-definitions/interfaces-bridge.xml.in +++ b/interface-definitions/interfaces-bridge.xml.in @@ -16,35 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <completionHelp> - <list>dhcp dhcpv6</list> - </completionHelp> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>dhcp</format> - <description>Dynamic Host Configuration Protocol</description> - </valueHelp> - <valueHelp> - <format>dhcpv6</format> - <description>Dynamic Host Configuration Protocol for IPv6</description> - </valueHelp> - <constraint> - <validator name="ip-cidr"/> - <regex>(dhcp|dhcpv6)</regex> - </constraint> - <multi/> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6-dhcp.xml.i" <leafNode name="aging"> <properties> <help>MAC address aging interval</help> diff --git a/interface-definitions/interfaces-dummy.xml.in b/interface-definitions/interfaces-dummy.xml.in index 3bc4330e4..a253bfe81 100644 --- a/interface-definitions/interfaces-dummy.xml.in +++ b/interface-definitions/interfaces-dummy.xml.in @@ -16,23 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <multi/> - <constraint> - <validator name="ip-cidr"/> - </constraint> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6.xml.i" <leafNode name="description"> <properties> <help>Interface description</help> diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in index 2c89c3604..92cfcd2c2 100644 --- a/interface-definitions/interfaces-ethernet.xml.in +++ b/interface-definitions/interfaces-ethernet.xml.in @@ -20,35 +20,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <completionHelp> - <list>dhcp dhcpv6</list> - </completionHelp> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>dhcp</format> - <description>Dynamic Host Configuration Protocol</description> - </valueHelp> - <valueHelp> - <format>dhcpv6</format> - <description>Dynamic Host Configuration Protocol for IPv6</description> - </valueHelp> - <constraint> - <validator name="ip-cidr"/> - <regex>(dhcp|dhcpv6)</regex> - </constraint> - <multi/> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6-dhcp.xml.i" <leafNode name="description"> <properties> <help>Interface description</help> diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in index e65ce6826..7b27c46f3 100644 --- a/interface-definitions/interfaces-geneve.xml.in +++ b/interface-definitions/interfaces-geneve.xml.in @@ -16,23 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <multi/> - <constraint> - <validator name="ip-cidr"/> - </constraint> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6.xml.i" <leafNode name="description"> <properties> <help>Interface description</help> diff --git a/interface-definitions/interfaces-loopback.xml.in b/interface-definitions/interfaces-loopback.xml.in index 0f003bc64..074a5c7cb 100644 --- a/interface-definitions/interfaces-loopback.xml.in +++ b/interface-definitions/interfaces-loopback.xml.in @@ -16,20 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <multi/> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6.xml.i" <leafNode name="description"> <properties> <help>Interface description</help> diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in index f93711741..7cc6cd35a 100644 --- a/interface-definitions/interfaces-vxlan.xml.in +++ b/interface-definitions/interfaces-vxlan.xml.in @@ -16,23 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <multi/> - <constraint> - <validator name="ip-cidr"/> - </constraint> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6.xml.i" <leafNode name="description"> <properties> <help>Interface description</help> diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in index 0c32a3bc1..dd19d4ec0 100644 --- a/interface-definitions/interfaces-wireguard.xml.in +++ b/interface-definitions/interfaces-wireguard.xml.in @@ -17,23 +17,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <constraint> - <validator name="ip-cidr"/> - </constraint> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <multi/> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6.xml.i" <leafNode name="description"> <properties> <help>description</help> diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in index 6bc49dddb..d8779cf72 100644 --- a/interface-definitions/interfaces-wireless.xml.in +++ b/interface-definitions/interfaces-wireless.xml.in @@ -16,35 +16,7 @@ </valueHelp> </properties> <children> - <leafNode name="address"> - <properties> - <help>IP address</help> - <completionHelp> - <list>dhcp dhcpv6</list> - </completionHelp> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 address and prefix length</description> - </valueHelp> - <valueHelp> - <format>dhcp</format> - <description>Dynamic Host Configuration Protocol</description> - </valueHelp> - <valueHelp> - <format>dhcpv6</format> - <description>Dynamic Host Configuration Protocol for IPv6</description> - </valueHelp> - <constraint> - <validator name="ip-cidr"/> - <regex>(dhcp|dhcpv6)</regex> - </constraint> - <multi/> - </properties> - </leafNode> + #include "include/address-ipv4-ipv6-dhcp.xml.i" <node name="capabilities"> <properties> <help>HT and VHT capabilities for your card</help> |