<?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> </constraint> <constraintErrorMessage>PPPoE interface must be named pppoeN</constraintErrorMessage> <valueHelp> <format>pppoeN</format> <description>PPPoE dialer interface name</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> #include <include/interface-dial-on-demand.xml.i> <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> <defaultValue>auto</defaultValue> </leafNode> #include <include/dhcpv6-options.xml.i> #include <include/interface-description.xml.i> #include <include/interface-disable.xml.i> #include <include/interface-vrf.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="ip"> <properties> <help>IPv4 routing parameters</help> </properties> <children> #include <include/interface-source-validation.xml.i> </children> </node> <node name="ipv6"> <properties> <help>IPv6 routing parameters</help> </properties> <children> <node name="address"> <properties> <help>IPv6 address configuration modes</help> </properties> <children> #include <include/ipv6-address-autoconf.xml.i> </children> </node> </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> #include <include/interface-mtu-68-1500.xml.i> <leafNode name="mtu"> <defaultValue>1492</defaultValue> </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>