2017-10-03 21:18:39 +02:00
|
|
|
|
2017-09-05 12:01:27 +02:00
|
|
|
#
|
|
|
|
# {{ ansible_managed }}
|
|
|
|
#
|
2017-10-03 20:52:02 +02:00
|
|
|
{% for mesh_id, mesh_value in meshes.iteritems() %}
|
|
|
|
interface {{ mesh_id }}BR
|
2017-09-05 12:01:27 +02:00
|
|
|
{
|
|
|
|
AdvSendAdvert on;
|
|
|
|
IgnoreIfMissing on;
|
2017-10-03 21:24:36 +02:00
|
|
|
MaxRtrAdvInterval {{ mesh_value.radvd.maxrtradvinterval }};
|
2017-10-03 20:52:02 +02:00
|
|
|
AdvLinkMTU {{ mesh_value.iface_mtu }};
|
2017-09-05 12:01:27 +02:00
|
|
|
|
2017-10-03 20:52:02 +02:00
|
|
|
{% for ip_type, ip_list in mesh_value.ipv6.iteritems() %}
|
2017-09-05 12:01:27 +02:00
|
|
|
{% for prefix in ip_list %}
|
|
|
|
{% if ip_type == "ula" %}
|
2017-10-03 21:18:39 +02:00
|
|
|
RDNSS {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr(magic) | ipaddr('address') }}
|
2017-09-05 12:01:27 +02:00
|
|
|
{
|
|
|
|
FlushRDNSS off;
|
|
|
|
};
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% endfor %}
|
|
|
|
|
2017-10-03 20:52:02 +02:00
|
|
|
{% for ip_type, ip_list in mesh_value.ipv6.iteritems() %}
|
2017-09-05 12:01:27 +02:00
|
|
|
{% for prefix in ip_list %}
|
|
|
|
{% if ip_type == "public" %}
|
2017-10-06 09:56:14 +02:00
|
|
|
prefix {{ prefix | ipaddr('net') | ipsubnet(56, magic) | ipsubnet(64, 0) | ipaddr('subnet') }}
|
2017-09-05 12:01:27 +02:00
|
|
|
{% else %}
|
2017-10-03 21:18:39 +02:00
|
|
|
prefix {{ prefix | ipaddr('net') | ipsubnet(64, 0) | ipaddr('subnet') }}
|
2017-09-05 12:01:27 +02:00
|
|
|
{% endif %}
|
|
|
|
{
|
2017-10-03 21:24:36 +02:00
|
|
|
AdvValidLifetime {{ mesh_value.radvd.advvalidlifetime }};
|
|
|
|
AdvPreferredLifetime {{ mesh_value.radvd.advpreferredlifetime }};
|
2017-09-05 12:01:27 +02:00
|
|
|
};
|
|
|
|
{% endfor %}
|
|
|
|
{% if not loop.last %}
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
};
|
|
|
|
{% if not loop.last %}
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|