# Managed by ci-framework/dnsmasq {% if cifmw_dnsmasq_network_definition.ranges | selectattr('start_v6', 'defined') | rejectattr('start_v6', 'none') | rejectattr('start_v6', 'match', '^$') -%} enable-ra {% endif -%} {% for range in cifmw_dnsmasq_network_definition['ranges'] -%} {% if range.start_v4 is defined and range.start_v4 -%} dhcp-range=set:{{ range.label }},{{ range.start_v4 }},static,{{ (range.start_v4 + "/" + range.prefix_length_v4 | default(24) | string) | ansible.utils.ipaddr('netmask') }},{{ range.ttl | default('1h') }} {% if range.domain is defined and range.domain -%} {% set range_v4_allowed = (range.start_v4 ~ "/" ~ range.prefix_length_v4 | default('24')) | ansible.utils.ipaddr('range_usable') | replace("-",",") %} domain={{ range.domain }},{{ range_v4_allowed }},local {% endif %} {% endif %} {% if range.start_v6 is defined and range.start_v6 -%} dhcp-range=set:{{ range.label }},{{ range.start_v6 }},static,{{ range.prefix_length_v6 | default('64') }},{{ range.ttl | default('1h') }} {% if range.domain is defined and range.domain -%} {% set range_v6_allowed = (range.start_v6 ~ "/" ~ range.prefix_length_v6 | default('64')) | ansible.utils.ipaddr('range_usable') | replace("-",",") %} domain={{ range.domain }},{{ range_v6_allowed }},local {% endif %} {% endif %} {% for option in range['options'] | default([]) -%} dhcp-option=tag:{{ range.label }},{{ option }} {% endfor %} {% for option in range['options_force'] | default([]) -%} dhcp-option-force=tag:{{ range.label }},{{ option }} {% endfor %} {% endfor %} ## END of network configuration