summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorRyan Zuwala <ryanzuwala@gmail.com>2025-04-25 06:16:12 -0400
committerRyan Zuwala <ryanzuwala@gmail.com>2025-04-25 06:16:12 -0400
commitd4f16d4813328d9ebb052e4b3e39fc4e94e45fca (patch)
tree48f0b7ea3749eccd00471300ba3631285fcee06a /data
parente6909ffe8fc474e181e9b711f1b08974e152a0a7 (diff)
downloadvyos-1x-d4f16d4813328d9ebb052e4b3e39fc4e94e45fca.tar.gz
vyos-1x-d4f16d4813328d9ebb052e4b3e39fc4e94e45fca.zip
router-advert: T7389: Duplicate prefix safeguard
Change autoignoreprefixes config template and add smoketests
Diffstat (limited to 'data')
-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() %}