diff --git a/Makefile b/Makefile index 26f591e29..834e8dd3f 100644 --- a/Makefile +++ b/Makefile @@ -1,99 +1,101 @@ TMPL_DIR := templates-cfg OP_TMPL_DIR := templates-op BUILD_DIR := build CFLAGS := src = $(wildcard interface-definitions/*.xml.in) obj = $(src:.xml.in=.xml) %.xml: %.xml.in @echo Generating $(BUILD_DIR)/$@ from $< # -ansi This turns off certain features of GCC that are incompatible # with ISO C90. Without this regexes containing '/' as in an URL # won't work # -x c By default GCC guesses the input language from its file extension, # thus XML is unknown. Force it to C language # -E Stop after the preprocessing stage # -undef Do not predefine any system-specific or GCC-specific macros. # -nostdinc Do not search the standard system directories for header files # -P Inhibit generation of linemarkers in the output from the # preprocessor @gcc -ansi -x c -E -undef -nostdinc -P -o $(BUILD_DIR)/$@ -c $< $(BUILD_DIR): install -d -m 0755 $(BUILD_DIR)/interface-definitions install -d -m 0755 $(BUILD_DIR)/op-mode-definitions .PHONY: interface_definitions .ONESHELL: interface_definitions: $(BUILD_DIR) $(obj) mkdir -p $(TMPL_DIR) find $(BUILD_DIR)/interface-definitions -type f -name "*.xml" | xargs -I {} $(CURDIR)/scripts/build-command-templates {} $(CURDIR)/schema/interface_definition.rng $(TMPL_DIR) || exit 1 # XXX: delete top level node.def's that now live in other packages 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 rm -f $(TMPL_DIR)/system/options/node.def rm -f $(TMPL_DIR)/vpn/node.def rm -f $(TMPL_DIR)/vpn/ipsec/node.def .PHONY: op_mode_definitions .ONESHELL: op_mode_definitions: mkdir -p $(OP_TMPL_DIR) find $(CURDIR)/op-mode-definitions/ -type f -name "*.xml" | xargs -I {} $(CURDIR)/scripts/build-command-op-templates {} $(CURDIR)/schema/op-mode-definition.rng $(OP_TMPL_DIR) || exit 1 # XXX: delete top level op mode node.def's that now live in other packages rm -f $(OP_TMPL_DIR)/clear/node.def rm -f $(OP_TMPL_DIR)/clear/interfaces/node.def rm -f $(OP_TMPL_DIR)/set/node.def rm -f $(OP_TMPL_DIR)/show/node.def rm -f $(OP_TMPL_DIR)/show/interfaces/node.def rm -f $(OP_TMPL_DIR)/show/ip/node.def rm -f $(OP_TMPL_DIR)/show/ip/route/node.def rm -f $(OP_TMPL_DIR)/show/ipv6/node.def rm -f $(OP_TMPL_DIR)/show/ipv6/route/node.def rm -f $(OP_TMPL_DIR)/restart/node.def rm -f $(OP_TMPL_DIR)/monitor/node.def rm -f $(OP_TMPL_DIR)/generate/node.def rm -f $(OP_TMPL_DIR)/show/vpn/node.def rm -f $(OP_TMPL_DIR)/show/system/node.def rm -f $(OP_TMPL_DIR)/delete/node.def rm -f $(OP_TMPL_DIR)/reset/vpn/node.def rm -f $(OP_TMPL_DIR)/show/system/node.def .PHONY: all all: clean interface_definitions op_mode_definitions .PHONY: clean clean: rm -rf $(BUILD_DIR) rm -rf $(TMPL_DIR) rm -rf $(OP_TMPL_DIR) .PHONY: test test: PYTHONPATH=python/ python3 -m "nose" --with-xunit src --with-coverage --cover-erase --cover-xml --cover-package src/conf_mode,src/op_mode,src/completion,src/helpers,src/validators,src/tests --verbose .PHONY: sonar sonar: sonar-scanner -X -Dsonar.login=${SONAR_TOKEN} .PHONY: docs .ONESHELL: docs: sphinx-apidoc -o sphinx/source/ python/ cd sphinx/ PYTHONPATH=../python make html 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 @@ -1,665 +1,263 @@ Bonding interface name 320 bond[0-9]+$ Bonding interface must be named bondN bondN Bonding interface name #include "include/address-ipv4-ipv6-dhcp.xml.i" ARP link monitoring parameters ARP link monitoring interval 0-4294967295 Specifies the ARP link monitoring frequency in milliseconds IP address used for ARP monitoring ipv4 Network Time Protocol (NTP) IPv4 address 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 Bonding transmit hash policy layer2 layer2+3 layer3+4 layer2 use MAC addresses to generate the hash (802.3ad, default) layer2+3 combine MAC address and IP address to make hash layer3+4 combine IP address and port to make hash (layer2\+3|layer3\+4|layer2) hash-policy must be layer2 layer2+3 or layer3+4 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 Bonding mode 802.3ad active-backup broadcast round-robin transmit-load-balance adaptive-load-balance xor-hash 802.3ad IEEE 802.3ad Dynamic link aggregation (Default) active-backup Fault tolerant: only one slave in the bond is active broadcast Fault tolerant: transmits everything on all slave interfaces round-robin Load balance: transmit packets in sequential order transmit-load-balance Load balance: adapts based on transmit load and speed adaptive-load-balance Load balance: adapts based on transmit and receive plus ARP xor-hash Distribute based on MAC address (802.3ad|active-backup|broadcast|round-robin|transmit-load-balance|adaptive-load-balance|xor-hash) mode must be 802.3ad, active-backup, broadcast, round-robin, transmit-load-balance, adaptive-load-balance, or xor Bridge member interfaces Member interface name Maximum Transmission Unit (MTU) 68-9000 Maximum Transmission Unit MTU must be between 68 and 9000 Primary device interface - - - 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 @@ -1,876 +1,377 @@ Ethernet interface name 318 ((eth|lan)[0-9]+|(eno|ens|enp|enx).+)$ Invalid Ethernet interface name ethN Ethernet interface name en[ospx]N Ethernet interface name #include "include/address-ipv4-ipv6-dhcp.xml.i" 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 Disable Ethernet flow control (pause frames) Ignore link state changes Disable this bridge interface Duplex mode auto half full auto Auto negotiation (default) half Half duplex full Full duplex (auto|half|full) duplex must be auto, half or full Media Access Control (MAC) address h:h:h:h:h:h Hardware (MAC) address 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 Configurable offload options Configure GRO (generic receive offload) on off on Enable GRO (generic receive offload) off Disable GRO (generic receive offload) (on|off) Must be either 'on' or 'off' Configure GSO (generic segmentation offload) on off on Enable GSO (generic segmentation offload) off Disable GSO (generic segmentation offload) (on|off) Must be either 'on' or 'off' Configure scatter-gather option on off on Enable scatter-gather off Disable scatter-gather (on|off) Must be either 'on' or 'off' Configure TSO (TCP segmentation offloading) on off on Enable TSO (TCP segmentation offloading) off Disable TSO (TCP segmentation offloading) (on|off) Must be either 'on' or 'off' Configure UDP fragmentation offloading on off on Enable UDP fragmentation offloading off Disable UDP fragmentation offloading (on|off) Must be either 'on' or 'off' CPU interrupt affinity mask auto 10 100 1000 2500 5000 10000 auto Auto negotiation (default) hex Bitmask representing CPUs that this NIC will interrupt hex,hex Bitmasks representing CPUs for interrupt and receive processing (auto) [0-9a-f]+(|,[0-9a-f]+)$ IRQ affinity mask must be hex value or auto Link speed auto 10 100 1000 2500 5000 10000 25000 40000 50000 100000 auto Auto negotiation (default) 10 10 Mbit/sec 100 100 Mbit/sec 1000 1 Gbit/sec 2500 2.5 Gbit/sec 5000 5 Gbit/sec 10000 10 Gbit/sec 25000 25 Gbit/sec 40000 40 Gbit/sec 50000 50 Gbit/sec 100000 100 Gbit/sec (auto|10|100|1000|2500|5000|10000|25000|40000|50000|100000) 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 @@ -1,935 +1,844 @@ Wireless network interface (WiFi/WLAN) 400 wlan[0-9]+$ Wireless interface must be named wlanN wlanN Wireless (WiFi/WLAN) interface name #include "include/address-ipv4-ipv6-dhcp.xml.i" HT and VHT capabilities for your card HT (High Throughput) settings 40MHz intolerance, use 20MHz only! Enable WMM-PS unscheduled automatic power aave delivery [U-APSD] Supported channel set width ht20 ht40+ ht40- ht20 Supported channel set width both 20 MHz only ht40+ Supported channel set width both 20 MHz and 40 MHz with secondary channel above primary channel ht40- Supported channel set width both 20 MHz and 40 MHz with secondary channel below primary channel (ht20|ht40\+|ht40-) Enable HT-delayed block ack Enable DSSS_CCK-40 Enable HT-greenfield Enable LDPC coding capability Enable L-SIG TXOP protection capability Set maximum A-MSDU length 3839 7935 3839 Set maximum A-MSDU length to 3839 octets 7935 Set maximum A-MSDU length to 7935 octets (3839|7935) Short GI capabilities 20 40 20 Short GI for 20 MHz 40 Short GI for 40 MHz (20|40) Spatial Multiplexing Power Save (SMPS) settings static dynamic static STATIC Spatial Multiplexing (SM) Power Save dynamic DYNAMIC Spatial Multiplexing (SM) Power Save (static|dynamic) Support for sending and receiving PPDU using STBC (Space Time Block Coding) Enable receiving PPDU using STBC (Space Time Block Coding) [1-3]+ Number of spacial streams that can use RX STBC [1-3]+ Invalid capability item Enable sending PPDU using STBC (Space Time Block Coding) Require stations to support HT PHY (reject association if they do not) Require stations to support VHT PHY (reject association if they do not) VHT (Very High Throughput) settings Number of antennas on this card 1-9 Number of antennas for this card Set if antenna pattern does not change during the lifetime of an association Beamforming capabilities single-user-beamformer single-user-beamformee multi-user-beamformer multi-user-beamformee single-user-beamformer Support for operation as single user beamformer single-user-beamformee Support for operation as single user beamformee multi-user-beamformer Support for operation as multi user beamformer multi-user-beamformee Support for operation as multi user beamformee (single-user-beamformer|single-user-beamformee|multi-user-beamformer|multi-user-beamformee) VHT operating channel center frequency VHT operating channel center frequency - center freq 1 (for use with 80, 80+80 and 160 modes) <34-173> 5Ghz (802.11 a/h/j/n/ac) center channel index (use 42 for primary 80MHz channel 36) Channel center value must be between 34 and 173 VHT operating channel center frequency - center freq 2 (for use with the 80+80 mode) 34-173 5Ghz (802.11 a/h/j/n/ac) center channel index (use 58 for primary 80MHz channel 52) Channel center value must be between 34 and 173 VHT operating Channel width 0 1 2 3 0 20 or 40 MHz channel width (default) 1 80 MHz channel width 2 160 MHz channel width 3 80+80 MHz channel width Enable LDPC (Low Density Parity Check) coding capability VHT link adaptation capabilities single-user-beamformer single-user-beamformee multi-user-beamformer multi-user-beamformee unsolicited Station provides only unsolicited VHT MFB both Station can provide VHT MFB in response to VHT MRQ and unsolicited VHT MFB (unsolicited|both) Invalid capability item Set the maximum length of A-MPDU pre-EOF padding that the station can receive <0-7> Maximum length of A-MPDU pre-EOF padding = 2 pow(13 + x) -1 octets Increase Maximum MPDU length to 7991 or 11454 octets (otherwise: 3895 octets) 7991 11454 7991 ncrease Maximum MPDU length to 7991 octets 11454 ncrease Maximum MPDU length to 11454 octets (7991|11454) Short GI capabilities 80 160 80 Short GI for 80 MHz 160 Short GI for 160 MHz (80|160) Support for sending and receiving PPDU using STBC (Space Time Block Coding) Enable receiving PPDU using STBC (Space Time Block Coding) [1-4]+ Number of spacial streams that can use RX STBC [1-4]+ Invalid capability item Enable sending PPDU using STBC (Space Time Block Coding) Enable VHT TXOP Power Save Mode Station supports receiving VHT variant HT Control field Wireless radio channel (use 0 for ACS auto channel selection) <1-14> 2.4Ghz (802.11 b/g/n) Channel <0,34-173> 5Ghz (802.11 a/h/j/n/ac) Channel 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 Disable broadcast of SSID from access-point Ignore link state changes Disable this bridge interface Disassociate stations based on excessive transmission failures Media Access Control (MAC) address h:h:h:h:h:h Hardware (MAC) address Isolate stations on the AP so they cannot see each other Media Access Control (MAC) address h:h:h:h:h:h Hardware (MAC) address Maximum number of wireless radio stations. Excess stations will be rejected upon authentication request. <1-2007> Number of allowed stations Number of stations must be between 1 and 2007 Management Frame Protection (MFP) according to IEEE 802.11w disabled optional required disabled no MFP (hostapd default) optional MFP optional required MFP enforced (disabled|optional|required) Wireless radio mode a b g n ac a 802.11a - 54 Mbits/sec b 802.11b - 11 Mbits/sec g 802.11g - 54 Mbits/sec (default) n 802.11n - 600 Mbits/sec ac 802.11ac - 1300 Mbits/sec (a|b|g|n|ac) Wireless physical device Transmission power reduction in dBm <0-255> TX power reduction in dBm dBm value must be between 0 and 255 Wireless security settings Wired Equivalent Privacy (WEP) parameters WEP encryption key <hexdigits> Wired Equivalent Privacy key ([a-fA-F0-9]{10}|[a-fA-F0-9]{26}|[a-fA-F0-9]{32}) Invalid WEP key Wifi Protected Access (WPA) parameters Cipher suite for WPA TKIP CCMP CCMP AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] TKIP Temporal Key Integrity Protocol [IEEE 802.11i/D7.0] (CCMP|TKIP) Invalid WEP key WPA mode wpa wpa2 both wpa WPA (IEEE 802.11i/D3.0) wpa2 WPA2 (full IEEE 802.11i/RSN) both Allow both WPA and WPA2 (wpa|wpa2|both) Unknown WPA mode WPA personal shared pass phrase. If you are using special characters in the WPA passphrase then single quotes are required. <text> Passphrase of at least 8 but not more than 63 printable characters .{8,63}$ Invalid WPA pass phrase, must be 8 to 63 printable characters! RADIUS specific configuration RADIUS client forced local IP address ipv4 IPv4 address of RADIUS server IP address of RADIUS server ipv4 IPv4 address of RADIUS server Enable RADIUS server to receive accounting info RADIUS server port (default: 1812) 1-65535 RADIUS server port RADIUS shared secret key Wireless access-point service set identifier (SSID) .{1,32}$ Invalid SSID Wireless device type for this interface access-point station monitor access-point Access-point forwards packets between other nodes station Connects to another access point monitor Passively monitor all packets on the frequency/channel (access-point|station|monitor) 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" Wireless regulatory domain (mandatory) 305 US EU JP DE UK CN <code%gt; Country code (ISO/IEC 3166-1) [A-Z][A-Z]$ invalid country code