summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-08-18 17:36:08 +0200
committerChristian Poessinger <christian@poessinger.com>2020-08-18 17:36:08 +0200
commit3282250a9a7c7a1df5c32e76fdc0024fd1ce9d9f (patch)
tree9b258bd0702646d9c861d816754cec63e030eff3
parentb1675e420479cd6b582c66c0902d6e326340658f (diff)
downloadvyos-1x-3282250a9a7c7a1df5c32e76fdc0024fd1ce9d9f.tar.gz
vyos-1x-3282250a9a7c7a1df5c32e76fdc0024fd1ce9d9f.zip
dhcpv6: T2510: fix missing id-assoc for non temporary address
-rw-r--r--data/templates/dhcp-client/ipv6.tmpl42
1 files changed, 19 insertions, 23 deletions
diff --git a/data/templates/dhcp-client/ipv6.tmpl b/data/templates/dhcp-client/ipv6.tmpl
index 5c0cea280..9673f302b 100644
--- a/data/templates/dhcp-client/ipv6.tmpl
+++ b/data/templates/dhcp-client/ipv6.tmpl
@@ -4,45 +4,41 @@
interface {{ ifname }} {
request domain-name-servers;
request domain-name;
-{% if dhcpv6_options is defined %}
-{% if dhcpv6_options.parameters_only is defined %}
+{% if dhcpv6_options is defined and dhcpv6_options.parameters_only is defined %}
information-only;
-{% endif %}
-{% if dhcpv6_options.temporary is not defined %}
+{% endif %}
+{% if dhcpv6_options is not defined or dhcpv6_options.temporary is not defined %}
send ia-na 1; # non-temporary address
-{% endif %}
-{% if dhcpv6_options.prefix_delegation is defined %}
+{% endif %}
+{% if dhcpv6_options is defined and dhcpv6_options.prefix_delegation is defined %}
send ia-pd 2; # prefix delegation
-{% endif %}
-{% endif %}
+{% endif %}
};
-{% if dhcpv6_options is defined %}
-{% if dhcpv6_options.temporary is not defined %}
+{% if dhcpv6_options is not defined or dhcpv6_options.temporary is not defined %}
id-assoc na 1 {
# Identity association NA
};
-{% endif %}
+{% endif %}
-{% if dhcpv6_options.prefix_delegation is defined %}
+{% if dhcpv6_options is defined and dhcpv6_options.prefix_delegation is defined %}
id-assoc pd 2 {
-{% if dhcpv6_options.prefix_delegation.length is defined %}
+{% if dhcpv6_options.prefix_delegation.length is defined %}
prefix ::/{{ dhcpv6_options.prefix_delegation.length }} infinity;
-{% endif %}
-{% for interface in dhcpv6_options.prefix_delegation.interface %}
+{% endif %}
+{% for interface in dhcpv6_options.prefix_delegation.interface %}
prefix-interface {{ interface }} {
-{% if dhcpv6_options.prefix_delegation.interface[interface].sla_id is defined %}
+{% if dhcpv6_options.prefix_delegation.interface[interface].sla_id is defined %}
sla-id {{ dhcpv6_options.prefix_delegation.interface[interface].sla_id }};
-{% endif %}
-{% if dhcpv6_options.prefix_delegation.interface[interface].sla_len is defined %}
+{% endif %}
+{% if dhcpv6_options.prefix_delegation.interface[interface].sla_len is defined %}
sla-len {{ dhcpv6_options.prefix_delegation.interface[interface].sla_len }};
-{% endif %}
-{% if dhcpv6_options.prefix_delegation.interface[interface].address is defined %}
+{% endif %}
+{% if dhcpv6_options.prefix_delegation.interface[interface].address is defined %}
ifid {{ dhcpv6_options.prefix_delegation.interface[interface].address }};
-{% endif %}
+{% endif %}
};
-{% endfor %}
+{% endfor %}
};
-{% endif %}
{% endif %}