{# j2lint: disable=operator-enclosed-by-spaces #}
### generated by ipoe.py ###
[modules]
log_syslog
ipoe
shaper
{# Common authentication backend definitions #}
{% include 'accel-ppp/config_modules_auth_mode.j2' %}
ipv6pool
ipv6_nd
ipv6_dhcp
ippool

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

[log]
syslog=accel-ipoe,daemon
copy=1
level=5

[ipoe]
verbose=1
{% if interface is vyos_defined %}
{%     for iface, iface_config in interface.items() %}
{%         set tmp = 'interface=' %}
{%         if iface_config.vlan is vyos_defined %}
{%             set tmp = tmp ~ 're:' ~ iface ~ '\.\d+' %}
{%         else %}
{%             set tmp = tmp ~ iface %}
{%         endif %}
{%         set shared = '' %}
{%         if iface_config.network is vyos_defined('shared') %}
{%             set shared = 'shared=1,' %}
{%         elif iface_config.network is vyos_defined('vlan') %}
{%             set shared = 'shared=0,' %}
{%         endif %}
{{ tmp }},{{ shared }}mode={{ iface_config.mode | upper }},ifcfg=1,range={{ iface_config.client_subnet }},start=dhcpv4,ipv6=1
{%     endfor %}
{% endif %}
{% if authentication.mode is vyos_defined('noauth') %}
noauth=1
{%     if client_ip_pool.name is vyos_defined %}
{%         for pool, pool_options in client_ip_pool.name.items() %}
{%             if pool_options.subnet is vyos_defined and pool_options.gateway_address is vyos_defined %}
ip-pool={{ pool }}
gw-ip-address={{ pool_options.gateway_address }}/{{ pool_options.subnet.split('/')[1] }}
{%             endif %}
{%         endfor %}
{%     endif %}
{% elif authentication.mode is vyos_defined('local') %}
username=ifname
password=csid
{% endif %}
proxy-arp=1

{% for interface in interfaces %}
{%     if (interface.shared == '0') and (interface.vlan_mon) %}
vlan-mon={{ interface.name }},{{ interface.vlan_mon | join(',') }}
{%     endif %}
{% endfor %}

{% if client_ip_pool.name is vyos_defined %}
[ip-pool]
{%     for pool, pool_options in client_ip_pool.name.items() %}
{%         if pool_options.subnet is vyos_defined and pool_options.gateway_address is vyos_defined %}
{{ pool_options.subnet }},name={{ pool }}
gw-ip-address={{ pool_options.gateway_address }}/{{ pool_options.subnet.split('/')[1] }}
{%         endif %}
{%     endfor %}
{% endif %}

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

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

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

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

[cli]
tcp=127.0.0.1:2002