# ** This is a *Partial* dhcpcd.conf for ConsolePi. Interfaces are configured
# ** dynamically by install script.  For customization touch dhcpcd.conf in
# ** in the overrides dir, then customize /etc/dhcpcd.conf as desired.
# ** The existence of the file in the overrides dir causes the upgrade script
# ** to bypass validation of the file (consolepi-upgrade won't make any changes)
#
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.
hostname

# Use the hardware address of the interface for the Client ID.
clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
#duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private

# Disable RFC3927 ipv4LL (169.) automatic addressing on dhcp failure
noipv4ll

{% if noipv6 %}
# Disable IPv6
noipv6rs
noipv6
{% endif %}

# ConsolePi vendorclassid
vendorclassid dhcpcd-ConsolePi

# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

# wlan static fallback profile
# will only apply if hotspot enabled in config
profile static_wlan0
{% if wlan_ip %}
static ip_address={{ wlan_ip }}/24
{% else %}
static ip_address=10.110.0.1/24
{% endif %}

# wired static fallback profile
# will only apply if wired_dhcp enabled in config
profile static_eth0
{% if wired_ip %}
static ip_address={{ wired_ip }}/24
{% else %}
static ip_address=10.30.110.1/24
{% endif %}

interface wlan0
{% if hotspot %}
fallback static_wlan0
{% else %}
# fallback static_wlan0
{% endif %}
vendorclassid "dhcpcd:ConsolePi"

interface eth0
{% if wired_dhcp %}
fallback static_eth0
{% else %}
# fallback static_eth0
{% endif %}
vendorclassid "dhcpcd:ConsolePi"

# For AutoHotSpotN
nohook wpa_supplicant
