summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/templates/accel-ppp/ipoe.config.j24
-rw-r--r--interface-definitions/service_ipoe-server.xml.in24
2 files changed, 27 insertions, 1 deletions
diff --git a/data/templates/accel-ppp/ipoe.config.j2 b/data/templates/accel-ppp/ipoe.config.j2
index a10dcf2c1..34dfa529a 100644
--- a/data/templates/accel-ppp/ipoe.config.j2
+++ b/data/templates/accel-ppp/ipoe.config.j2
@@ -59,7 +59,9 @@ lua-file={{ lua_file }}
{% set relay = ',' ~ 'relay=' ~ iface_config.external_dhcp.dhcp_relay if iface_config.external_dhcp.dhcp_relay is vyos_defined else '' %}
{% set giaddr = ',' ~ 'giaddr=' ~ iface_config.external_dhcp.giaddr if iface_config.external_dhcp.giaddr is vyos_defined else '' %}
{% set username = ',' ~ 'username=lua:' ~ iface_config.lua_username if iface_config.lua_username is vyos_defined else '' %}
-{{ tmp }},{{ shared }}mode={{ iface_config.mode | upper }},ifcfg=1,{{ range }}start=dhcpv4,ipv6=1{{ relay }}{{ giaddr }}{{ username }}
+{% set start_map = {'dhcp': 'dhcpv4', 'unclassified-packet': 'up', 'auto': 'auto'} %}
+{% set start = start_map[iface_config.start_session] %}
+{{ tmp }},{{ shared }}mode={{ iface_config.mode | upper }},ifcfg=1,{{ range }}start={{ start }},ipv6=1{{ relay }}{{ giaddr }}{{ username }}
{% if iface_config.vlan_mon is vyos_defined %}
vlan-mon={{ iface }},{{ iface_config.vlan | join(',') }}
{% endif %}
diff --git a/interface-definitions/service_ipoe-server.xml.in b/interface-definitions/service_ipoe-server.xml.in
index 27a654f92..39cfb7889 100644
--- a/interface-definitions/service_ipoe-server.xml.in
+++ b/interface-definitions/service_ipoe-server.xml.in
@@ -131,6 +131,30 @@
</properties>
<defaultValue>shared</defaultValue>
</leafNode>
+ <leafNode name="start-session">
+ <properties>
+ <help>Start session options</help>
+ <completionHelp>
+ <list>auto dhcp unclassified-packet</list>
+ </completionHelp>
+ <valueHelp>
+ <format>auto</format>
+ <description>Start session with username as the interface name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dhcp</format>
+ <description>Start session on DHCPv4 Discover</description>
+ </valueHelp>
+ <valueHelp>
+ <format>unclassified-packet</format>
+ <description>Start session on unclassified-packet</description>
+ </valueHelp>
+ <constraint>
+ <regex>(auto|dhcp|unclassified-packet)</regex>
+ </constraint>
+ </properties>
+ <defaultValue>dhcp</defaultValue>
+ </leafNode>
<leafNode name="client-subnet">
<properties>
<help>Client address pool</help>