{% for mesh in meshes %} protocol radv radv_{{ mesh.id }} { interface "{{ mesh.id }}br" { max ra interval {{ mesh.radvd.maxrtradvinterval }}; {% for prefix in mesh.ipv6_ula %} prefix {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr('subnet') }} { valid lifetime {{ mesh.radvd.advvalidlifetime }}; preferred lifetime {{ mesh.radvd.advpreferredlifetime }}; }; {% endfor %} {% for prefix in mesh.ipv6_public %} prefix {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr('subnet') }} { skip yes; }; {% endfor %} {% for prefix in mesh_gw_prefixes[mesh.id].ipv6_public %} prefix {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr('subnet') }} { valid lifetime {{ mesh.radvd.advvalidlifetime }}; preferred lifetime {{ mesh.radvd.advpreferredlifetime }}; }; {% endfor %} rdnss { {% for prefix in mesh.ipv6_ula %} ns {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr(magic) | ipaddr('address') }}; {% endfor %} }; {% if mesh.dnssl is defined %} dnssl { {% for dnssl in mesh.dnssl %} domain "{{ dnssl }}"; {% endfor %} }; {% endif %} link mtu {{ mesh.iface_mtu }}; }; } {% if not loop.last %} {% endif %} {% endfor %}