summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface-definitions/service-pppoe.xml.in1
-rwxr-xr-xsrc/conf_mode/interfaces-pppoe.py3
-rwxr-xr-xsrc/conf_mode/service-pppoe.py9
3 files changed, 9 insertions, 4 deletions
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/src/conf_mode/interfaces-pppoe.py b/src/conf_mode/interfaces-pppoe.py
index 52f0dde53..02d3cf3ce 100755
--- a/src/conf_mode/interfaces-pppoe.py
+++ b/src/conf_mode/interfaces-pppoe.py
@@ -90,6 +90,9 @@ usepeerdns
{% if ipv6_enable -%}
+ipv6
{% endif %}
+{% if service_name -%}
+rp_pppoe_service "{{ service_name }}"
+{% endif %}
"""
diff --git a/src/conf_mode/service-pppoe.py b/src/conf_mode/service-pppoe.py
index 4090cb953..22250d18b 100755
--- a/src/conf_mode/service-pppoe.py
+++ b/src/conf_mode/service-pppoe.py
@@ -234,7 +234,6 @@ ipv6-peer-intf-id={{ppp_options['ipv6-peer-intf-id']}}
ipv6-accept-peer-intf-id={{ppp_options['ipv6-accept-peer-intf-id']}}
{% endif %}
{% endif %}
-
mtu={{mtu}}
[pppoe]
@@ -251,9 +250,11 @@ interface=re:{{int}}\.\d+
{% endif %}
{% endfor -%}
{% endif -%}
+
{% if svc_name %}
-service-name={{svc_name}}
+service-name={{svc_name|join(',')}}
{% endif -%}
+
{% if pado_delay %}
pado-delay={{pado_delay}}
{% endif %}
@@ -343,7 +344,7 @@ def get_config():
'client_ipv6_pool': {},
'interface': {},
'ppp_gw': '',
- 'svc_name': '',
+ 'svc_name': [],
'dns': [],
'dnsv6': [],
'wins': [],
@@ -360,7 +361,7 @@ def get_config():
if c.exists(['access-concentrator']):
config_data['concentrator'] = c.return_value(['access-concentrator'])
if c.exists(['service-name']):
- config_data['svc_name'] = c.return_value(['service-name'])
+ config_data['svc_name'] = c.return_values(['service-name'])
if c.exists(['interface']):
for intfc in c.list_nodes(['interface']):
config_data['interface'][intfc] = {'vlans': []}