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