summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-11-29 22:07:05 +0100
committerChristian Poessinger <christian@poessinger.com>2020-02-23 14:36:56 +0100
commit38f31c805d7c79df7405a7b65d6775a4d762eb90 (patch)
treeda7e62070e126a2cc02bd74eab47671d908d5d86 /interface-definitions
parentceb4031b7647de742be078918085732783fad78d (diff)
downloadvyos-1x-38f31c805d7c79df7405a7b65d6775a4d762eb90.tar.gz
vyos-1x-38f31c805d7c79df7405a7b65d6775a4d762eb90.zip
pppoe: T1318: add first version of new XML/Python implementation
vyos@vyos# show interfaces pppoe pppoe pppoe0 { default-route force link eth2.7 mtu 400 name-server auto password 12345678 user-id vyos@vyos.io }
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/interfaces-pppoe.xml.in185
1 files changed, 185 insertions, 0 deletions
diff --git a/interface-definitions/interfaces-pppoe.xml.in b/interface-definitions/interfaces-pppoe.xml.in
new file mode 100644
index 000000000..f5431852a
--- /dev/null
+++ b/interface-definitions/interfaces-pppoe.xml.in
@@ -0,0 +1,185 @@
+<?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>320</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>
+ <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>Enable/Disable default route to peer when link comes up</help>
+ <completionHelp>
+ <list>auto none force</list>
+ </completionHelp>
+ <valueHelp>
+ <format>auto</format>
+ <description>Install default route when link comes up</description>
+ </valueHelp>
+ <valueHelp>
+ <format>none</format>
+ <description>Do not install default route when link comes up</description>
+ </valueHelp>
+ <valueHelp>
+ <format>force</format>
+ <description>Install default route and replace pre-existing when link comes up</description>
+ </valueHelp>
+ <constraint>
+ <regex>(auto|none|force)</regex>
+ </constraint>
+ <constraintErrorMessage>Must be either 'auto', 'none' or 'force'</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="disable">
+ <properties>
+ <help>Disable interface</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <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="link">
+ <properties>
+ <help>Physical Interface used for this PPPoE session</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --pppoelink</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="name-server">
+ <properties>
+ <help>Enable/Disable use of name server entries from peer</help>
+ <completionHelp>
+ <list>auto none</list>
+ </completionHelp>
+ <valueHelp>
+ <format>auto</format>
+ <description>Install default route when link comes up</description>
+ </valueHelp>
+ <valueHelp>
+ <format>none</format>
+ <description>Do not install default route when link comes up</description>
+ </valueHelp>
+ <constraint>
+ <regex>(auto|none)</regex>
+ </constraint>
+ <constraintErrorMessage>Must be either 'auto' or 'none'</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="password">
+ <properties>
+ <help>Password for authenticating local machine to PPPoE server</help>
+ </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>
+ <leafNode name="user-id">
+ <properties>
+ <help>Authentication name supplied to PPPoE server</help>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+</interfaceDefinition>