### Autogenerated by interfaces-pppoe.py ###
{{ '# ' ~ description if description is defined else '' }}

# Require peer to provide the local IP address if it is not
# specified explicitly in the config file.
noipdefault

# Don't show the password in logfiles:
hide-password

# Standard Link Control Protocol (LCP) parameters:
lcp-echo-interval 20
lcp-echo-failure 3

# RFC 2516, paragraph 7 mandates that the following options MUST NOT be
# requested and MUST be rejected if requested by the peer:
# Address-and-Control-Field-Compression (ACFC)
noaccomp

# Asynchronous-Control-Character-Map (ACCM)
default-asyncmap

# Override any connect script that may have been set in /etc/ppp/options.
connect /bin/true

# Don't try to authenticate the remote node
noauth

# Don't try to proxy ARP for the remote endpoint. User can set proxy
# arp entries up manually if they wish.  More importantly, having
# the "proxyarp" parameter set disables the "defaultroute" option.
noproxyarp

# Unlimited connection attempts
maxfail 0

plugin rp-pppoe.so {{ source_interface }}
{% if access_concentrator is defined and access_concentrator is not none %}
rp_pppoe_ac '{{ access_concentrator }}'
{% endif %}
{% if service_name is defined and service_name is not none %}
rp_pppoe_service '{{ service_name }}'
{% endif %}

persist
ifname {{ ifname }}
ipparam {{ ifname }}
debug
mtu {{ mtu }}
mru {{ mtu }}

{% if authentication is defined %}
{{ 'user "' + authentication.user + '"' if authentication.user is defined }}
{{ 'password "' + authentication.password + '"' if authentication.password is defined }}
{% endif %}

{{ "usepeerdns" if no_peer_dns is not defined }}

{% if ipv6 is defined %}
+ipv6
{%   if ipv6.address is defined and ipv6.address.autoconf is defined %}
ipv6cp-use-ipaddr
{%   endif %}
{% endif %}

{% if connect_on_demand is defined %}
demand
# See T2249. PPP default route options should only be set when in on-demand
# mode. As soon as we are not in on-demand mode the default-route handling is
# passed to the ip-up.d/ip-down.s scripts which is required for VRF support.
{%   if 'auto' in default_route %}
defaultroute
{%   elif 'force' in default_route %}
defaultroute
replacedefaultroute
{%   endif %}
{% endif %}