{%- import '_common.j2' as common_opts with context -%} # Generated by he_ipv6. # This may go wonky with multiple assignments on the same iface. {% for assignment in assignments %} interface {{ assignment.iface }} { AdvSendAdvert on; AdvLinkMTU {{ common_opts.mtu }}; MinRtrAdvInterval {{ common_opts.min_inter }}; MaxRtrAdvInterval {{ common_opts.max_inter }}; MinDelayBetweenRAs {{ common_opts.min_delay }}; AdvDefaultLifetime {{ common_opts.lifetime }}; {%- if assignment.ra_dhcp is true -%} AdvManagedFlag on; {%- endif %} {%- if assignment.ra_other is true -%} AdvOtherConfigFlag on; {%- endif %} {%- for block in assignment.iface_blocks %} prefix {{ block|string }} { AdvOnLink on; {%- if block.prefixlen <= 64 %} AdvAutonomous on; {%- endif %} AdvValidLifetime {{ common_opts.lease_life }}; AdvPreferredLifetime {{ common_opts.lease_life }}; AdvRouterAddr off; }; {%- endfor %} {%- if assign.ra_dns is true %} RDNSS {{ assignment.iface_ll }} { AdvRDNSSLifetime {{ common_opts.opts_life }}; }; {%- endif %} {%- if assign.ra_domains %} DNSSL {{ assignment.ra_domains|join(' ') }} { AdvDNSSLLifetime {{ common_opts.opts_life }}; }; {%- endif %} }; {%- endfor %}