### Autogenerated by interfaces-pppoe.py ###

{% if description %}
# {{ description }}
{% endif %}

# 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 }}
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 and ipv6.enable is defined -%}
+ipv6
ipv6cp-use-ipaddr
{% endif %}

{% if service_name is defined -%}
rp_pppoe_service "{{ service_name }}"
{% 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 %}