summaryrefslogtreecommitdiff
path: root/data/templates/router-advert/radvd.conf.j2
diff options
context:
space:
mode:
Diffstat (limited to 'data/templates/router-advert/radvd.conf.j2')
-rw-r--r--data/templates/router-advert/radvd.conf.j214
1 files changed, 11 insertions, 3 deletions
diff --git a/data/templates/router-advert/radvd.conf.j2 b/data/templates/router-advert/radvd.conf.j2
index e37cfde6c..34f8e1f6d 100644
--- a/data/templates/router-advert/radvd.conf.j2
+++ b/data/templates/router-advert/radvd.conf.j2
@@ -57,12 +57,20 @@ interface {{ iface }} {
};
{% endfor %}
{% endif %}
-{% if iface_config.auto_ignore is vyos_defined %}
+{% if iface_config.prefix is vyos_defined and "::/64" in iface_config.prefix %}
+{% if iface_config.auto_ignore is vyos_defined or iface_config.prefix | count > 1 %}
autoignoreprefixes {
-{% for auto_ignore_prefix in iface_config.auto_ignore %}
+{% if iface_config.auto_ignore is vyos_defined %}
+{% for auto_ignore_prefix in (iface_config.auto_ignore + iface_config.prefix | list) | reject("eq", "::/64") | unique %}
{{ auto_ignore_prefix }};
-{% endfor %}
+{% endfor %}
+{% else %}
+{% for auto_ignore_prefix in iface_config.prefix | reject("eq", "::/64") %}
+ {{ auto_ignore_prefix }};
+{% endfor %}
+{% endif %}
};
+{% endif %}
{% endif %}
{% if iface_config.prefix is vyos_defined %}
{% for prefix, prefix_options in iface_config.prefix.items() %}