network: IPv6LinkLocalAddressGenerationMode=none disables IPv6LL addressing

This commit is contained in:
Yu Watanabe
2021-05-22 08:15:00 +09:00
parent c3b9425130
commit 75d5abd298
2 changed files with 11 additions and 5 deletions

View File

@@ -422,11 +422,15 @@
<varlistentry>
<term><varname>IPv6LinkLocalAddressGenerationMode=</varname></term>
<listitem>
<para>Specifies how IPv6 link local address is generated. Takes one of <literal>eui64</literal>,
<literal>none</literal>, <literal>stable-privacy</literal> and <literal>random</literal>.
When unset, the kernel's default will be used. Note that if <varname>LinkLocalAddressing=</varname>
not configured as <literal>ipv6</literal> then <varname>IPv6LinkLocalAddressGenerationMode=</varname>
is ignored.</para>
<para>Specifies how IPv6 link local address is generated. Takes one of
<literal>eui64</literal>, <literal>none</literal>, <literal>stable-privacy</literal> and
<literal>random</literal>. When unset, the kernel's default will be used. Note that if
<varname>LinkLocalAddressing=</varname> is <literal>no</literal> or
<literal>ipv4</literal>, then <varname>IPv6LinkLocalAddressGenerationMode=</varname> will
be ignored. Also, even if <varname>LinkLocalAddressing=</varname> is <literal>yes</literal>
or <literal>ipv6</literal>, setting
<varname>IPv6LinkLocalAddressGenerationMode=none</varname> disables to configure an IPv6
link-local address.</para>
</listitem>
</varlistentry>
<varlistentry>

View File

@@ -170,6 +170,8 @@ int network_verify(Network *network) {
if (network->link_local < 0)
network->link_local = network->bridge ? ADDRESS_FAMILY_NO : ADDRESS_FAMILY_IPV6;
if (network->ipv6ll_address_gen_mode == IPV6_LINK_LOCAL_ADDRESSS_GEN_MODE_NONE)
SET_FLAG(network->link_local, ADDRESS_FAMILY_IPV6, false);
/* IPMasquerade implies IPForward */
network->ip_forward |= network->ip_masquerade;