2018-11-09 13:25:26 +01:00
|
|
|
{% 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 %}
|
2019-03-02 18:10:48 +01:00
|
|
|
prefix {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr('subnet') }} {
|
|
|
|
skip yes;
|
2018-11-09 13:25:26 +01:00
|
|
|
};
|
2019-03-02 18:10:48 +01:00
|
|
|
{% endfor %}
|
2018-11-09 21:13:07 +01:00
|
|
|
|
2019-03-02 18:10:48 +01:00
|
|
|
{% for prefix in mesh_gw_prefixes[mesh.id].ipv6_public %}
|
2018-11-09 21:13:07 +01:00
|
|
|
prefix {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr('subnet') }} {
|
2019-03-02 18:10:48 +01:00
|
|
|
valid lifetime {{ mesh.radvd.advvalidlifetime }};
|
|
|
|
preferred lifetime {{ mesh.radvd.advpreferredlifetime }};
|
2018-11-09 21:13:07 +01:00
|
|
|
};
|
2018-11-09 13:25:26 +01:00
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
rdnss {
|
|
|
|
{% for prefix in mesh.ipv6_ula %}
|
|
|
|
ns {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr(magic) | ipaddr('address') }};
|
|
|
|
{% endfor %}
|
|
|
|
};
|
|
|
|
|
2019-03-02 18:10:48 +01:00
|
|
|
{% if mesh.dnssl is defined %}
|
2018-11-09 13:25:26 +01:00
|
|
|
dnssl {
|
|
|
|
{% for dnssl in mesh.dnssl %}
|
|
|
|
domain "{{ dnssl }}";
|
|
|
|
{% endfor %}
|
|
|
|
};
|
2019-03-02 18:10:48 +01:00
|
|
|
{% endif %}
|
2018-11-09 13:25:26 +01:00
|
|
|
|
|
|
|
link mtu {{ mesh.iface_mtu }};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
{% if not loop.last %}
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|