summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/interface-disable.xml.i2
-rw-r--r--interface-definitions/interfaces-openvpn.xml.in12
-rw-r--r--interface-definitions/interfaces-pppoe.xml.in174
-rw-r--r--interface-definitions/service-pppoe.xml.in1
-rw-r--r--interface-definitions/system-login-banner.xml.in6
-rw-r--r--interface-definitions/system-login-radius.xml.in67
-rw-r--r--interface-definitions/system-login.xml.in (renamed from interface-definitions/system-login-user.xml.in)77
7 files changed, 266 insertions, 73 deletions
diff --git a/interface-definitions/include/interface-disable.xml.i b/interface-definitions/include/interface-disable.xml.i
index c6c24f867..a4778859c 100644
--- a/interface-definitions/include/interface-disable.xml.i
+++ b/interface-definitions/include/interface-disable.xml.i
@@ -1,6 +1,6 @@
<leafNode name="disable">
<properties>
- <help>Set interface to Administratively down</help>
+ <help>Administratively disable interface</help>
<valueless/>
</properties>
</leafNode>
diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in
index bc1a159a9..cac0ee417 100644
--- a/interface-definitions/interfaces-openvpn.xml.in
+++ b/interface-definitions/interfaces-openvpn.xml.in
@@ -611,6 +611,18 @@
</constraint>
</properties>
</leafNode>
+ <leafNode name="crypt-file">
+ <properties>
+ <help>File containing encryption key to authenticate control channel</help>
+ <valueHelp>
+ <format>file</format>
+ <description>File in /config/auth directory</description>
+ </valueHelp>
+ <constraint>
+ <validator name="file-exists" argument="--directory /config/auth"/>
+ </constraint>
+ </properties>
+ </leafNode>
<leafNode name="tls-version-min">
<properties>
<help>Specify the minimum required TLS version</help>
diff --git a/interface-definitions/interfaces-pppoe.xml.in b/interface-definitions/interfaces-pppoe.xml.in
new file mode 100644
index 000000000..b6b54c915
--- /dev/null
+++ b/interface-definitions/interfaces-pppoe.xml.in
@@ -0,0 +1,174 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="interfaces">
+ <children>
+ <tagNode name="pppoe" owner="${vyos_conf_scripts_dir}/interfaces-pppoe.py">
+ <properties>
+ <help>Point-to-Point Protocol over Ethernet (PPPoE)</help>
+ <priority>321</priority>
+ <constraint>
+ <regex>pppoe[0-9]+$</regex>
+ <validator name="numeric" argument="--range 1-99"/>
+ </constraint>
+ <constraintErrorMessage>PPPoE interface must be named pppoeN</constraintErrorMessage>
+ <valueHelp>
+ <format>pppoeN</format>
+ <description>PPPoE interface name (1-15)</description>
+ </valueHelp>
+ </properties>
+ <children>
+ <leafNode name="access-concentrator">
+ <properties>
+ <help>Access concentrator name (only connect to this concentrator)</help>
+ <constraint>
+ <regex>[a-zA-Z0-9]+$</regex>
+ </constraint>
+ <constraintErrorMessage>Access concentrator name must be composed of uppper and lower case letters or numbers only</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <node name="authentication">
+ <properties>
+ <help>Authentication settings</help>
+ </properties>
+ <children>
+ <leafNode name="user">
+ <properties>
+ <help>User name</help>
+ </properties>
+ </leafNode>
+ <leafNode name="password">
+ <properties>
+ <help>Password</help>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="connect-on-demand">
+ <properties>
+ <help>Automatic establishment of PPPOE connection when traffic is sent</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="default-route">
+ <properties>
+ <help>Default route insertion behaviour (default: auto)</help>
+ <completionHelp>
+ <list>auto none force</list>
+ </completionHelp>
+ <constraint>
+ <regex>(auto|none|force)</regex>
+ </constraint>
+ <constraintErrorMessage>PPPoE default-route option must be 'auto', 'none', or 'force'</constraintErrorMessage>
+ <valueHelp>
+ <format>auto</format>
+ <description>Automatically install a default route</description>
+ </valueHelp>
+ <valueHelp>
+ <format>none</format>
+ <description>Do not install a default route</description>
+ </valueHelp>
+ <valueHelp>
+ <format>force</format>
+ <description>Replace existing default route</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ #include <include/interface-description.xml.i>
+ #include <include/interface-disable.xml.i>
+ <leafNode name="idle-timeout">
+ <properties>
+ <help>Delay before disconnecting idle session (in seconds)</help>
+ <valueHelp>
+ <format>n</format>
+ <description>Idle timeout in seconds</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <node name="ipv6">
+ <children>
+ <node name="address">
+ <properties>
+ <help>IPv6 address configuration modes</help>
+ </properties>
+ <children>
+ <leafNode name="autoconf">
+ <properties>
+ <help>Enable Stateless Address Autoconfiguration (SLAAC)</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="enable">
+ <properties>
+ <help>Activate IPv6 support on this connection</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="source-interface">
+ <properties>
+ <help>Physical Interface used for this PPPoE session</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --broadcast</script>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="local-address">
+ <properties>
+ <help>IPv4 address of local end of the PPPoE link</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Address of local end of the PPPoE link</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>68-1500</format>
+ <description>Maximum Transmission Unit (default 1492)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 68-1500"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 68 and 1500</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="no-peer-dns">
+ <properties>
+ <help>Do not use DNS servers provided by the peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="remote-address">
+ <properties>
+ <help>IPv4 address of remote end of the PPPoE link</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Address of remote end of the PPPoE link</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="service-name">
+ <properties>
+ <help>Service name, only connect to access concentrators advertising this</help>
+ <constraint>
+ <regex>[a-zA-Z0-9]+$</regex>
+ </constraint>
+ <constraintErrorMessage>Service name must be composed of uppper and lower case letters or numbers only</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/interface-definitions/service-pppoe.xml.in b/interface-definitions/service-pppoe.xml.in
index 7f93a6e2f..b4950ede1 100644
--- a/interface-definitions/service-pppoe.xml.in
+++ b/interface-definitions/service-pppoe.xml.in
@@ -436,6 +436,7 @@
<regex>[a-zA-Z0-9\-]{1,100}</regex>
</constraint>
<constraintErrorMessage>servicename can contain aplhanumerical characters and dashes only (max. 100)</constraintErrorMessage>
+ <multi/>
</properties>
</leafNode>
<node name="wins-servers">
diff --git a/interface-definitions/system-login-banner.xml.in b/interface-definitions/system-login-banner.xml.in
index b63a65d4d..c4bb14bd6 100644
--- a/interface-definitions/system-login-banner.xml.in
+++ b/interface-definitions/system-login-banner.xml.in
@@ -2,7 +2,11 @@
<interfaceDefinition>
<node name="system">
<children>
- <node name="login">
+ <node name="login" owner="${vyos_conf_scripts_dir}/system-login.py">
+ <properties>
+ <help>System User Login Configuration</help>
+ <priority>400</priority>
+ </properties>
<children>
<node name="banner" owner="${vyos_conf_scripts_dir}/system-login-banner.py">
<properties>
diff --git a/interface-definitions/system-login-radius.xml.in b/interface-definitions/system-login-radius.xml.in
deleted file mode 100644
index 00e85db3e..000000000
--- a/interface-definitions/system-login-radius.xml.in
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<interfaceDefinition>
- <node name="system">
- <children>
- <node name="login">
- <children>
- <node name="radius" owner="${vyos_conf_scripts_dir}/system-login-radius.py">
- <properties>
- <help>RADIUS based user authentication</help>
- </properties>
- <children>
- <leafNode name="source-address">
- <properties>
- <help>RADIUS client source address</help>
- <valueHelp>
- <format>ipv4</format>
- <description>TFTP IPv4 listen address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="server">
- <properties>
- <help>RADIUS server configuration</help>
- </properties>
- <children>
- <leafNode name="key">
- <properties>
- <help>RADIUS shared secret key</help>
- </properties>
- </leafNode>
- <leafNode name="port">
- <properties>
- <help>RADIUS authentication port</help>
- <valueHelp>
- <format>1-65535</format>
- <description>Numeric IP port (default: 1812)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="timeout">
- <properties>
- <help>Timeout for RADIUS session</help>
- <valueHelp>
- <format>1-30</format>
- <description>Session timeout in seconds (default: 2)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-30"/>
- </constraint>
- <constraintErrorMessage>Timeout must be between 1 and 30 seconds</constraintErrorMessage>
- </properties>
- </leafNode>
- </children>
- </tagNode>
- </children>
- </node>
- </children>
- </node>
- </children>
- </node>
-</interfaceDefinition>
diff --git a/interface-definitions/system-login-user.xml.in b/interface-definitions/system-login.xml.in
index c183e93e3..3ed85b8d3 100644
--- a/interface-definitions/system-login-user.xml.in
+++ b/interface-definitions/system-login.xml.in
@@ -2,15 +2,15 @@
<interfaceDefinition>
<node name="system">
<children>
- <node name="login">
+ <node name="login" owner="${vyos_conf_scripts_dir}/system-login.py">
<properties>
- <help>User Login</help>
+ <help>System User Login Configuration</help>
<priority>400</priority>
</properties>
<children>
- <tagNode name="user" owner="${vyos_conf_scripts_dir}/system-login-user.py">
+ <tagNode name="user">
<properties>
- <help>User account information</help>
+ <help>Local user account information</help>
<constraint>
<regex>[a-zA-Z0-9\-_\.]{1,100}</regex>
</constraint>
@@ -110,6 +110,75 @@
</leafNode>
</children>
</tagNode>
+ <node name="radius">
+ <properties>
+ <help>RADIUS based user authentication</help>
+ </properties>
+ <children>
+ <leafNode name="source-address">
+ <properties>
+ <help>RADIUS client source address</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>TFTP IPv4 listen address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <tagNode name="server">
+ <properties>
+ <help>RADIUS server configuration</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>RADIUS server IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="disable">
+ <properties>
+ <help>Temporary disable this server</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="key">
+ <properties>
+ <help>Shared secret key</help>
+ </properties>
+ </leafNode>
+ <leafNode name="port">
+ <properties>
+ <help>Authentication port</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port (default: 1812)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="timeout">
+ <properties>
+ <help>Session timeout</help>
+ <valueHelp>
+ <format>1-30</format>
+ <description>Session timeout in seconds (default: 2)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-30"/>
+ </constraint>
+ <constraintErrorMessage>Timeout must be between 1 and 30 seconds</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
</children>
</node>
</children>