From 2d96dbe667de57bc90eb4dc826cce3ed19e94823 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 3 Dec 2019 22:36:32 +0100 Subject: T1843: use include files for VIF/VIF-S interfaces 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 VIF and VIF-S interfaces to this new style. It implementes it for the following types: * bond * ethernet * wireless --- Makefile | 2 + interface-definitions/include/vif-s.xml.i | 276 +++++++++++++ interface-definitions/include/vif.xml.i | 185 +++++++++ interface-definitions/interfaces-bonding.xml.in | 406 +----------------- interface-definitions/interfaces-ethernet.xml.in | 503 +---------------------- interface-definitions/interfaces-wireless.xml.in | 93 +---- 6 files changed, 468 insertions(+), 997 deletions(-) create mode 100644 interface-definitions/include/vif-s.xml.i create mode 100644 interface-definitions/include/vif.xml.i diff --git a/Makefile b/Makefile index 26f591e29..834e8dd3f 100644 --- a/Makefile +++ b/Makefile @@ -35,12 +35,14 @@ interface_definitions: $(BUILD_DIR) $(obj) rm -f $(TMPL_DIR)/firewall/node.def rm -f $(TMPL_DIR)/interfaces/node.def rm -f $(TMPL_DIR)/interfaces/bonding/node.tag/ip/node.def + rm -f $(TMPL_DIR)/interfaces/bonding/node.tag/vif/node.tag/ip/node.def rm -f $(TMPL_DIR)/interfaces/bridge/node.tag/ip/node.def rm -f $(TMPL_DIR)/interfaces/ethernet/node.tag/ip/node.def rm -f $(TMPL_DIR)/interfaces/ethernet/node.tag/vif/node.tag/ip/node.def rm -f $(TMPL_DIR)/interfaces/ethernet/node.tag/vif-s/node.tag/ip/node.def rm -f $(TMPL_DIR)/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/ip/node.def rm -f $(TMPL_DIR)/interfaces/vxlan/node.tag/ip/node.def + rm -f $(TMPL_DIR)/interfaces/wireless/node.tag/vif/node.tag/ip/node.def rm -f $(TMPL_DIR)/protocols/node.def rm -f $(TMPL_DIR)/protocols/static/node.def rm -f $(TMPL_DIR)/system/node.def diff --git a/interface-definitions/include/vif-s.xml.i b/interface-definitions/include/vif-s.xml.i new file mode 100644 index 000000000..9726e9156 --- /dev/null +++ b/interface-definitions/include/vif-s.xml.i @@ -0,0 +1,276 @@ + + + QinQ TAG-S Virtual Local Area Network (VLAN) ID + + + + VLAN ID must be between 0 and 4094 + + + + + IP address + + dhcp dhcpv6 + + + ipv4net + IPv4 address and prefix length + + + ipv6net + IPv6 address and prefix length + + + dhcp + Dynamic Host Configuration Protocol + + + dhcpv6 + Dynamic Host Configuration Protocol for IPv6 + + + + (dhcp|dhcpv6) + + + + + + + Interface description + + ^.{1,256}$ + + Interface description too long (limit 256 characters) + + + + + DHCP options + + + + + DHCP client identifier + + + + + DHCP client host name (overrides the system host name) + + + + + DHCP client vendor type + + + + + + + DHCPv6 options + 319 + + + + + Acquire only config parameters, no address + + + + + + IPv6 "temporary" address + + + + + + + + Ignore link state changes + + + + + + Disable this bridge interface + + + + + + Set Ethertype + + 0x88A8 0x8100 + + + 0x88A8 + 802.1ad + + + 0x8100 + 802.1q + + + (0x88A8|0x8100) + + Ethertype must be 0x88A8 or 0x8100 + + + + + Media Access Control (MAC) address + + h:h:h:h:h:h + Hardware (MAC) address + + + + + + + + + Maximum Transmission Unit (MTU) + + 68-9000 + Maximum Transmission Unit + + + + + MTU must be between 68 and 9000 + + + + + QinQ TAG-C Virtual Local Area Network (VLAN) ID + + + + VLAN ID must be between 0 and 4094 + + + + + IP address + + dhcp dhcpv6 + + + ipv4net + IPv4 address and prefix length + + + ipv6net + IPv6 address and prefix length + + + dhcp + Dynamic Host Configuration Protocol + + + dhcpv6 + Dynamic Host Configuration Protocol for IPv6 + + + + (dhcp|dhcpv6) + + + + + + + Interface description + + ^.{1,256}$ + + Interface description too long (limit 256 characters) + + + + + DHCP options + + + + + DHCP client identifier + + + + + DHCP client host name (overrides the system host name) + + + + + DHCP client vendor type + + + + + + + DHCPv6 options + 319 + + + + + Acquire only config parameters, no address + + + + + + IPv6 "temporary" address + + + + + + + + Ignore link state changes + + + + + + Disable this bridge interface + + + + + + Media Access Control (MAC) address + + h:h:h:h:h:h + Hardware (MAC) address + + + + + + + + + Maximum Transmission Unit (MTU) + + 68-9000 + Maximum Transmission Unit + + + + + MTU must be between 68 and 9000 + + + + + + diff --git a/interface-definitions/include/vif.xml.i b/interface-definitions/include/vif.xml.i new file mode 100644 index 000000000..c6268dbe5 --- /dev/null +++ b/interface-definitions/include/vif.xml.i @@ -0,0 +1,185 @@ + + + Virtual Local Area Network (VLAN) ID + + 0-4094 + Virtual Local Area Network (VLAN) ID + + + + + VLAN ID must be between 0 and 4094 + + + + + IP address + + dhcp dhcpv6 + + + ipv4net + IPv4 address and prefix length + + + ipv6net + IPv6 address and prefix length + + + dhcp + Dynamic Host Configuration Protocol + + + dhcpv6 + Dynamic Host Configuration Protocol for IPv6 + + + + (dhcp|dhcpv6) + + + + + + + Interface description + + ^.{1,256}$ + + Interface description too long (limit 256 characters) + + + + + DHCP options + + + + + DHCP client identifier + + + + + DHCP client host name (overrides system host name) + + + + + DHCP client vendor type + + + + + + + DHCPv6 options + 319 + + + + + Acquire only config parameters, no address + + + + + + IPv6 "temporary" address + + + + + + + + Ignore link state changes + + + + + + Disable this bridge interface + + + + + + VLAN egress QoS + + + + + [:0-7 ]+$ + + QoS mapping should be in the format of '0:7 2:3' with numbers 0-9 + + + + + VLAN ingress QoS + + + + + [:0-7 ]+$ + + QoS mapping should be in the format of '0:7 2:3' with numbers 0-9 + + + + + + + ARP cache entry timeout in seconds + + 1-86400 + ARP cache entry timout in seconds (default 30) + + + + + ARP cache entry timeout must be between 1 and 86400 seconds + + + + + Enable proxy-arp on this interface + + + + + + Enable private VLAN proxy ARP on this interface + + + + + + + + Media Access Control (MAC) address + + h:h:h:h:h:h + Hardware (MAC) address + + + + + + + + + Maximum Transmission Unit (MTU) + + 68-9000 + Maximum Transmission Unit + + + + + MTU must be between 68 and 9000 + + + + diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in index 12df69364..2f32c7263 100644 --- a/interface-definitions/interfaces-bonding.xml.in +++ b/interface-definitions/interfaces-bonding.xml.in @@ -254,410 +254,8 @@ - - - QinQ TAG-S Virtual Local Area Network (VLAN) ID - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCP options - - - - - DHCP client identifier - - - - - DHCP client host name (overrides the system host name) - - - - - DHCP client vendor type - - - - - - - DHCPv6 options - 319 - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - Set Ethertype - - 0x88A8 0x8100 - - - 0x88A8 - 802.1ad - - - 0x8100 - 802.1q - - - (0x88A8|0x8100) - - Ethertype must be 0x88A8 or 0x8100 - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - - Maximum Transmission Unit (MTU) - - 68-9000 - Maximum Transmission Unit - - - - - MTU must be between 68 and 9000 - - - - - QinQ TAG-C Virtual Local Area Network (VLAN) ID - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCP options - - - - - DHCP client identifier - - - - - DHCP client host name (overrides the system host name) - - - - - DHCP client vendor type - - - - - - - DHCPv6 options - 319 - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - - Maximum Transmission Unit (MTU) - - 68-9000 - Maximum Transmission Unit - - - - - MTU must be between 68 and 9000 - - - - - - - - - Virtual Local Area Network (VLAN) ID - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCP options - - - - - DHCP client identifier - - - - - DHCP client host name (overrides the system host name) - - - - - DHCP client vendor type - - - - - - - DHCPv6 options - 319 - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - - Maximum Transmission Unit (MTU) - - 68-9000 - Maximum Transmission Unit - - - - - MTU must be between 68 and 9000 - - - - + #include "include/vif-s.xml.i" + #include "include/vif.xml.i" diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in index 92cfcd2c2..fee17840c 100644 --- a/interface-definitions/interfaces-ethernet.xml.in +++ b/interface-definitions/interfaces-ethernet.xml.in @@ -368,507 +368,8 @@ Speed must be auto, 10, 100, 1000, 2500, 5000, 10000, 25000, 40000, 50000 or 100000 - - - QinQ TAG-S Virtual Local Area Network (VLAN) ID - - 0-4094 - QinQ TAG-S Virtual Local Area Network (VLAN) ID - - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCP options - - - - - DHCP client identifier - - - - - DHCP client host name (overrides system host name) - - - - - DHCP client vendor type - - - - - - - DHCPv6 options - 319 - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - Set Ethertype - - 0x88A8 0x8100 - - - 0x88A8 - 802.1ad - - - 0x8100 - 802.1q - - - (0x88A8|0x8100) - - Ethertype must be 0x88A8 or 0x8100 - - - - - - - Enable proxy-arp on this interface - - - - - - Enable private VLAN proxy ARP on this interface - - - - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - - Maximum Transmission Unit (MTU) - - 68-9000 - Maximum Transmission Unit - - - - - MTU must be between 68 and 9000 - - - - - QinQ TAG-C Virtual Local Area Network (VLAN) ID - - 0-4094 - QinQ TAG-C Virtual Local Area Network (VLAN) ID - - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCP options - - - - - DHCP client identifier - - - - - DHCP client host name (overrides system host name) - - - - - DHCP client vendor type - - - - - - - DHCPv6 options - 319 - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - - - Enable proxy-arp on this interface - - - - - - Enable private VLAN proxy ARP on this interface - - - - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - - Maximum Transmission Unit (MTU) - - 68-9000 - Maximum Transmission Unit - - - - - MTU must be between 68 and 9000 - - - - - - - - - Virtual Local Area Network (VLAN) ID - - 0-4094 - Virtual Local Area Network (VLAN) ID - - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCP options - - - - - DHCP client identifier - - - - - DHCP client host name (overrides system host name) - - - - - DHCP client vendor type - - - - - - - DHCPv6 options - 319 - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - VLAN egress QoS - - - - - [:0-7 ]+$ - - QoS mapping should be in the format of '0:7 2:3' with numbers 0-9 - - - - - VLAN ingress QoS - - - - - [:0-7 ]+$ - - QoS mapping should be in the format of '0:7 2:3' with numbers 0-9 - - - - - - - ARP cache entry timeout in seconds - - 1-86400 - ARP cache entry timout in seconds (default 30) - - - - - ARP cache entry timeout must be between 1 and 86400 seconds - - - - - Enable proxy-arp on this interface - - - - - - Enable private VLAN proxy ARP on this interface - - - - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - - Maximum Transmission Unit (MTU) - - 68-9000 - Maximum Transmission Unit - - - - - MTU must be between 68 and 9000 - - - - + #include "include/vif-s.xml.i" + #include "include/vif.xml.i" diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in index d8779cf72..4d7e5735a 100644 --- a/interface-definitions/interfaces-wireless.xml.in +++ b/interface-definitions/interfaces-wireless.xml.in @@ -815,98 +815,7 @@ Type must be access-point, station or monitor - - - Virtual Local Area Network (VLAN) ID - - - - VLAN ID must be between 0 and 4094 - - - - - IP address - - dhcp dhcpv6 - - - ipv4net - IPv4 address and prefix length - - - ipv6net - IPv6 address and prefix length - - - dhcp - Dynamic Host Configuration Protocol - - - dhcpv6 - Dynamic Host Configuration Protocol for IPv6 - - - - (dhcp|dhcpv6) - - - - - - - Interface description - - ^.{1,256}$ - - Interface description too long (limit 256 characters) - - - - - DHCPv6 options - - - - - Acquire only config parameters, no address - - - - - - IPv6 "temporary" address - - - - - - - - Ignore link state changes - - - - - - Disable this bridge interface - - - - - - Media Access Control (MAC) address - - h:h:h:h:h:h - Hardware (MAC) address - - - - - - - - + #include "include/vif.xml.i" -- cgit v1.2.3