### Autogenerated by interface.py ### # man https://www.unix.com/man-page/debian/5/dhcp6c.conf/ interface {{ ifname }} { {% if dhcpv6_options is defined and dhcpv6_options.duid is defined and dhcpv6_options.duid is not none %} send client-id {{ dhcpv6_options.duid }}; {% endif %} {% if address is defined and 'dhcpv6' in address %} request domain-name-servers; request domain-name; {% if dhcpv6_options is defined and dhcpv6_options.parameters_only is defined %} information-only; {% endif %} {% if dhcpv6_options is not defined or dhcpv6_options.temporary is not defined %} send ia-na 0; # non-temporary address {% endif %} {% if dhcpv6_options is defined and dhcpv6_options.rapid_commit is defined %} send rapid-commit; # wait for immediate reply instead of advertisements {% endif %} {% endif %} {% if dhcpv6_options is defined and dhcpv6_options.pd is defined %} {% for pd in dhcpv6_options.pd %} send ia-pd {{ pd }}; # prefix delegation #{{ pd }} {% endfor %} {% endif %} script "{{ dhcp6_script_file }}"; }; {% if address is defined and 'dhcpv6' in address %} {% if dhcpv6_options is not defined or dhcpv6_options.temporary is not defined %} id-assoc na 0 { # Identity association for non temporary address }; {% endif %} {% endif %} {% if dhcpv6_options is defined and dhcpv6_options.pd is defined %} {% for pd in dhcpv6_options.pd %} id-assoc pd {{ pd }} { {# length got a default value #} prefix ::/{{ dhcpv6_options.pd[pd].length }} infinity; {% set sla_len = 64 - dhcpv6_options.pd[pd].length|int %} {% set count = namespace(value=0) %} {% for interface in dhcpv6_options.pd[pd].interface if dhcpv6_options.pd[pd].interface is defined %} prefix-interface {{ interface }} { sla-len {{ sla_len }}; {% if dhcpv6_options.pd[pd].interface[interface].sla_id is defined and dhcpv6_options.pd[pd].interface[interface].sla_id is not none %} sla-id {{ dhcpv6_options.pd[pd].interface[interface].sla_id }}; {% else %} sla-id {{ count.value }}; {% endif %} {% if dhcpv6_options.pd[pd].interface[interface].address is defined and dhcpv6_options.pd[pd].interface[interface].address is not none %} ifid {{ dhcpv6_options.pd[pd].interface[interface].address }}; {% endif %} }; {% set count.value = count.value + 1 %} {% endfor %} }; {% endfor %} {% endif %}