{%- from "isc_dhcp/map.jinja" import server with context %}

{%- for subnet_name, subnet in server.subnet.iteritems() %}

subnet {{ subnet.network }} netmask {{ subnet.netmask }} {
  {%- if subnet.range is defined %}
  pool
  {
	#failover peer "dhcp-failover";
    range {{ subnet.range }};
  }
  {%- endif %}

  option subnet-mask {{ subnet.netmask }};
  {%- if subnet.gateway is defined %}
  option routers {{ subnet.gateway }};
  {%- endif %}
  {%- if subnet.pxeserver is defined %}
  next-server {{ subnet.pxeserver }};
  {%- endif %}
}

{%- endfor %}