### generated by accel_pppoe.py ###
[modules]
log_syslog
pppoe
shaper
{# Common authentication backend definitions #}
{% include 'accel-ppp/config_modules_auth_mode.j2' %}
ippool
{# Common IPv6 definitions #}
{% include 'accel-ppp/config_modules_ipv6.j2' %}
{# Common authentication protocols (pap, chap ...) #}
{% include 'accel-ppp/config_modules_auth_protocols.j2' %}
{% if snmp is vyos_defined %}
net-snmp
{% endif %}
{% if limits is vyos_defined %}
connlimit
{% endif %}
{% if extended_scripts is vyos_defined %}
sigchld
pppd_compat
{% endif %}

[core]
thread-count={{ thread_count }}

[log]
syslog=accel-pppoe,daemon
copy=1
{% if log.level is vyos_defined %}
level={{ log.level }}
{% endif %}

[auth]
{% if authentication.mode is vyos_defined("noauth") %}
noauth=1
{% endif %}
{% if authentication.any_login is vyos_defined %}
any-login=1
{% endif %}

[client-ip-range]
0.0.0.0/0

[common]
{% if session_control is vyos_defined and session_control is not vyos_defined('disable') %}
single-session={{ session_control }}
{% endif %}
{% if max_concurrent_sessions is vyos_defined %}
max-starting={{ max_concurrent_sessions }}
{% endif %}

[pppoe]
verbose=1
ac-name={{ access_concentrator }}
{% if interface is vyos_defined %}
{%     for iface, iface_config in interface.items() %}
{%         if iface_config.vlan is not vyos_defined %}
interface={{ iface }}
{%         else %}
{%             for vlan in iface_config.vlan %}
interface=re:^{{ iface }}\.{{ vlan | range_to_regex }}$
{%             endfor %}
{%             if iface_config.vlan_mon is vyos_defined %}
vlan-mon={{ iface }},{{ iface_config.vlan | join(',') }}
{%             endif %}
{%         endif %}
{%     endfor %}
{% endif %}
{% if service_name %}
service-name={{ service_name | join(',') }}
{% endif %}
{% if accept_any_service is vyos_defined %}
accept-any-service=1
{% endif %}
{% if accept_blank_service is vyos_defined %}
accept-blank-service=1
{% endif %}
{% if pado_delay %}
{%     set delay_without_sessions = pado_delay.delays_without_sessions[0] | default('0') %}
{%     set pado_delay_param = namespace(value=delay_without_sessions) %}
{%     for delay, sessions in pado_delay.delays_with_sessions | sort(attribute='1') %}
{%         if not delay == 'disable' %}
{%             set pado_delay_param.value = pado_delay_param.value + ',' + delay + ':' + sessions | string %}
{%         else %}
{%             set pado_delay_param.value = pado_delay_param.value + ',-1:' + sessions | string %}
{%         endif %}
{%     endfor %}
pado-delay={{ pado_delay_param.value }}
{% endif %}
{% if authentication.radius.called_sid_format is vyos_defined %}
called-sid={{ authentication.radius.called_sid_format }}
{% endif %}
{% if authentication.mode is vyos_defined("noauth") %}
noauth=1
{% endif %}
{% if default_pool is vyos_defined %}
ip-pool={{ default_pool }}
{% endif %}
{% if default_ipv6_pool is vyos_defined %}
ipv6-pool={{ default_ipv6_pool }}
ipv6-pool-delegate={{ default_ipv6_pool }}
{% endif %}

{# Common IP pool definitions #}
{% include 'accel-ppp/config_ip_pool.j2' %}

{# Common IPv6 pool definitions #}
{% include 'accel-ppp/config_ipv6_pool.j2' %}

{# Common DNS name-server definition #}
{% include 'accel-ppp/config_name_server.j2' %}

{# Common wins-server definition #}
{% include 'accel-ppp/config_wins_server.j2' %}

{# Common chap-secrets and RADIUS server/option definitions #}
{% include 'accel-ppp/config_chap_secrets_radius.j2' %}

{# Common ppp-options definitions #}
{% include 'accel-ppp/ppp-options.j2' %}

{# Common RADIUS shaper configuration #}
{% include 'accel-ppp/config_shaper_radius.j2' %}

{# Common Extended scripts configuration #}
{% include 'accel-ppp/config_extended_scripts.j2' %}

{# Common Limits configuration #}
{% include 'accel-ppp/config_limits.j2' %}

{# Common SNMP definitions #}
{% include 'accel-ppp/config_snmp.j2' %}

[cli]
tcp=127.0.0.1:2001