<?xml version="1.0"?> <interfaceDefinition> <node name="service"> <children> <node name="ipoe-server" owner="${vyos_conf_scripts_dir}/service_ipoe-server.py"> <properties> <help>Internet Protocol over Ethernet (IPoE) Server</help> <priority>900</priority> </properties> <children> <tagNode name="interface"> <properties> <help>Interface to listen dhcp or unclassified packets</help> <completionHelp> <script>${vyos_completion_dir}/list_interfaces.py</script> </completionHelp> </properties> <children> <leafNode name="mode"> <properties> <help>Client connectivity mode</help> <completionHelp> <list>l2 l3</list> </completionHelp> <valueHelp> <format>l2</format> <description>Client located on same interface as server</description> </valueHelp> <valueHelp> <format>l3</format> <description>Client located behind a router</description> </valueHelp> <constraint> <regex>(l2|l3)</regex> </constraint> </properties> <defaultValue>l2</defaultValue> </leafNode> <leafNode name="network"> <properties> <help>Enables clients to share the same network or each client has its own vlan</help> <completionHelp> <list>shared vlan</list> </completionHelp> <constraint> <regex>(shared|vlan)</regex> </constraint> <valueHelp> <format>shared</format> <description>Multiple clients share the same network</description> </valueHelp> <valueHelp> <format>vlan</format> <description>One VLAN per client</description> </valueHelp> </properties> <defaultValue>shared</defaultValue> </leafNode> <leafNode name="client-subnet"> <properties> <help>Client address pool</help> <valueHelp> <format>ipv4net</format> <description>IPv4 address and prefix length</description> </valueHelp> <constraint> <validator name="ipv4-prefix"/> </constraint> </properties> </leafNode> <node name="external-dhcp"> <properties> <help>DHCP requests will be forwarded</help> </properties> <children> <leafNode name="dhcp-relay"> <properties> <help>DHCP Server the request will be redirected to.</help> <valueHelp> <format>ipv4</format> <description>IPv4 address of the DHCP Server</description> </valueHelp> <constraint> <validator name="ipv4-address"/> </constraint> </properties> </leafNode> <leafNode name="giaddr"> <properties> <help>Relay Agent IPv4 Address</help> <valueHelp> <format>ipv4</format> <description>Gateway IP address</description> </valueHelp> <constraint> <validator name="ipv4-address"/> </constraint> </properties> </leafNode> </children> </node> #include <include/accel-ppp/vlan.xml.i> </children> </tagNode> #include <include/name-server-ipv4-ipv6.xml.i> <node name="client-ip-pool"> <properties> <help>Client IP pools and gateway setting</help> </properties> <children> <tagNode name="name"> <properties> <help>Pool name</help> <valueHelp> <format>txt</format> <description>Name of IP pool</description> </valueHelp> <constraint> <regex>[-_a-zA-Z0-9.]+</regex> </constraint> </properties> <children> #include <include/accel-ppp/gateway-address.xml.i> #include <include/accel-ppp/client-ip-pool-subnet-single.xml.i> </children> </tagNode> </children> </node> #include <include/accel-ppp/client-ipv6-pool.xml.i> <node name="authentication"> <properties> <help>Client authentication methods</help> </properties> <children> <leafNode name="mode"> <properties> <help>Authetication mode</help> <completionHelp> <list>local radius noauth</list> </completionHelp> <constraint> <regex>(local|radius|noauth)</regex> </constraint> <valueHelp> <format>local</format> <description>Authentication based on local definition</description> </valueHelp> <valueHelp> <format>radius</format> <description>Authentication based on a RADIUS server</description> </valueHelp> <valueHelp> <format>noauth</format> <description>Authentication disabled</description> </valueHelp> </properties> </leafNode> <tagNode name="interface"> <properties> <help>Network interface for client MAC addresses</help> <completionHelp> <script>${vyos_completion_dir}/list_interfaces.py</script> </completionHelp> </properties> <children> <tagNode name="mac"> <properties> <help>Media Access Control (MAC) address</help> <valueHelp> <format>macaddr</format> <description>Hardware (MAC) address</description> </valueHelp> <constraint> <validator name="mac-address"/> </constraint> </properties> <children> <node name="rate-limit"> <properties> <help>Upload/Download speed limits</help> </properties> <children> <leafNode name="upload"> <properties> <help>Upload bandwidth limit in kbits/sec</help> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> </leafNode> <leafNode name="download"> <properties> <help>Download bandwidth limit in kbits/sec</help> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> </leafNode> </children> </node> <leafNode name="vlan"> <properties> <help>VLAN monitor for automatic creation of VLAN interfaces</help> <valueHelp> <format>u32:1-4094</format> <description>Client VLAN id</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-4094"/> </constraint> <constraintErrorMessage>VLAN IDs need to be in range 1-4094</constraintErrorMessage> </properties> </leafNode> </children> </tagNode> </children> </tagNode> <node name="radius"> <children> #include <include/accel-ppp/radius-additions-rate-limit.xml.i> </children> </node> #include <include/radius-server-ipv4.xml.i> #include <include/accel-ppp/radius-additions.xml.i> </children> </node> </children> </node> </children> </node> </interfaceDefinition>