<refsect1>
<title>[IPv6AcceptRA] Section Options</title>
- <para>The [IPv6AcceptRA] section configures the IPv6 Router Advertisement (RA) client, if it is enabled
- with the <varname>IPv6AcceptRA=</varname> setting described above:</para>
+ <para>The [IPv6AcceptRA] section configures the IPv6 Router Advertisement (RA) client, if it is enabled
+ with the <varname>IPv6AcceptRA=</varname> setting described above:</para>
- <variablelist class='network-directives'>
- <varlistentry>
- <term><varname>Token=</varname></term>
- <listitem>
- <para>Specifies an optional address generation mode for the Stateless Address
- Autoconfiguration (SLAAC). Supported modes are <literal>eui64</literal>,
- <literal>static</literal>, and <literal>prefixstable</literal>.</para>
-
- <para>When the mode is set to <literal>eui64</literal>, then the EUI-64 algorithm will be
- used to generate an address for that prefix.</para>
-
- <para>When the mode is set to <literal>static</literal>, an IPv6 address must be
- specified after a colon (<literal>:</literal>), and the lower bits of the supplied
- address are combined with the upper bits of a prefix received in a Router Advertisement
- (RA) message to form a complete address. Note that if multiple prefixes are received in an
- RA message, or in multiple RA messages, addresses will be formed from each of them using
- the supplied address. This mode implements SLAAC but uses a static interface identifier
- instead of an identifier generated by using the EUI-64 algorithm. Because the interface
- identifier is static, if Duplicate Address Detection detects that the computed address is a
- duplicate (in use by another node on the link), then this mode will fail to provide an
- address for that prefix. If an IPv6 address without mode is specified, then
- <literal>static</literal> mode is assumed.</para>
-
- <para>When the mode is set to <literal>prefixstable</literal> the
- <ulink url="https://tools.ietf.org/html/rfc7217">RFC 7217</ulink> algorithm for generating
- interface identifiers will be used. This mode can optionally take an IPv6 address separated
- with a colon (<literal>:</literal>). If an IPv6 address is specified, then an interface
- identifier is generated only when a prefix received in an RA message matches the supplied
- address.</para>
-
- <para>If no address generation mode is specified (which is the default), or a received
- prefix does not match any of the addresses provided in <literal>prefixstable</literal>
- mode, then the EUI-64 algorithm will be used to form an interface identifier for that
- prefix.</para>
-
- <para>Note that the <literal>prefixstable</literal> algorithm uses both the interface
- name and MAC address as input to the hash to compute the interface identifier, so if either
- of those are changed the resulting interface identifier (and address) will be changed, even
- if the prefix received in the RA message has not been changed.</para>
-
- <para>This setting can be specified multiple times. If an empty string is assigned, then
- the all previous assignments are cleared.</para>
-
- <para>Examples:
- <programlisting>Token=eui64
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Token=</varname></term>
+ <listitem>
+ <para>Specifies an optional address generation mode for the Stateless Address
+ Autoconfiguration (SLAAC). The following values are supported:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>eui64</option></term>
+ <listitem>
+ <para>
+ The EUI-64 algorithm will be used to generate an address for that prefix.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>static:<replaceable>ADDRESS</replaceable></option></term>
+ <listitem>
+ <para>
+ An IPv6 address must be specified after a colon (<literal>:</literal>), and the
+ lower bits of the supplied address are combined with the upper bits of a prefix
+ received in a Router Advertisement (RA) message to form a complete address. Note
+ that if multiple prefixes are received in an RA message, or in multiple RA messages,
+ addresses will be formed from each of them using the supplied address. This mode
+ implements SLAAC but uses a static interface identifier instead of an identifier
+ generated by using the EUI-64 algorithm. Because the interface identifier is static,
+ if Duplicate Address Detection detects that the computed address is a duplicate
+ (in use by another node on the link), then this mode will fail to provide an address
+ for that prefix. If an IPv6 address without mode is specified, then
+ <literal>static</literal> mode is assumed.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>prefixstable[:<replaceable>ADDRESS</replaceable>]</option></term>
+ <listitem>
+ <para>
+ The algorithm specified in
+ <ulink url="https://tools.ietf.org/html/rfc7217">RFC 7217</ulink> will be used to
+ generate interface identifiers. This mode can optionally take an IPv6 address
+ separated with a colon (<literal>:</literal>). If an IPv6 address is specified,
+ then an interface identifier is generated only when a prefix received in an RA
+ message matches the supplied address.
+ </para>
+ <para>
+ Note that the <literal>prefixstable</literal> algorithm uses both the interface
+ name and MAC address as input to the hash to compute the interface identifier, so
+ if either of those are changed the resulting interface identifier (and address)
+ will be changed, even if the prefix received in the RA message has not been
+ changed.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>If no address generation mode is specified (which is the default), or a received
+ prefix does not match any of the addresses provided in <literal>prefixstable</literal>
+ mode, then the EUI-64 algorithm will be used to form an interface identifier for that
+ prefix.</para>
+
+ <para>This setting can be specified multiple times. If an empty string is assigned, then
+ the all previous assignments are cleared.</para>
+
+ <para>Examples:
+ <programlisting>Token=eui64
Token=::1a:2b:3c:4d
Token=static:::1a:2b:3c:4d
Token=prefixstable
Token=prefixstable:2002:da8:1::</programlisting></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>UseDNS=</varname></term>
- <listitem>
- <para>When true (the default), the DNS servers received in the Router Advertisement will be used.</para>
-
- <para>This corresponds to the <option>nameserver</option> option in <citerefentry
- project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
- </listitem>
- </varlistentry>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>UseDomains=</varname></term>
- <listitem>
- <para>Takes a boolean, or the special value <literal>route</literal>. When true, the domain name
- received via IPv6 Router Advertisement (RA) will be used as DNS search domain over this link, similar to
- the effect of the <option>Domains=</option> setting. If set to <literal>route</literal>, the domain name
- received via IPv6 RA will be used for routing DNS queries only, but not for searching, similar to the
- effect of the <option>Domains=</option> setting when the argument is prefixed with
- <literal>~</literal>. Defaults to false.</para>
+ <varlistentry>
+ <term><varname>UseDNS=</varname></term>
+ <listitem>
+ <para>When true (the default), the DNS servers received in the Router Advertisement will be used.</para>
- <para>It is recommended to enable this option only on trusted networks, as setting this affects resolution
- of all hostnames, in particular of single-label names. It is generally safer to use the supplied domain
- only as routing domain, rather than as search domain, in order to not have it affect local resolution of
- single-label names.</para>
+ <para>This corresponds to the <option>nameserver</option> option in <citerefentry
+ project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+ </listitem>
+ </varlistentry>
- <para>When set to true, this setting corresponds to the <option>domain</option> option in <citerefentry
- project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>UseDomains=</varname></term>
+ <listitem>
+ <para>Takes a boolean, or the special value <literal>route</literal>. When true, the domain name
+ received via IPv6 Router Advertisement (RA) will be used as DNS search domain over this link, similar to
+ the effect of the <option>Domains=</option> setting. If set to <literal>route</literal>, the domain name
+ received via IPv6 RA will be used for routing DNS queries only, but not for searching, similar to the
+ effect of the <option>Domains=</option> setting when the argument is prefixed with
+ <literal>~</literal>. Defaults to false.</para>
+
+ <para>It is recommended to enable this option only on trusted networks, as setting this affects resolution
+ of all hostnames, in particular of single-label names. It is generally safer to use the supplied domain
+ only as routing domain, rather than as search domain, in order to not have it affect local resolution of
+ single-label names.</para>
+
+ <para>When set to true, this setting corresponds to the <option>domain</option> option in <citerefentry
+ project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>RouteTable=<replaceable>num</replaceable></varname></term>
- <listitem>
- <para>The table identifier for the routes received in the Router Advertisement
- (a number between 1 and 4294967295, or 0 to unset).
- The table can be retrieved using <command>ip route show table <replaceable>num</replaceable></command>.
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>RouteTable=<replaceable>num</replaceable></varname></term>
+ <listitem>
+ <para>The table identifier for the routes received in the Router Advertisement
+ (a number between 1 and 4294967295, or 0 to unset).
+ The table can be retrieved using <command>ip route show table <replaceable>num</replaceable></command>.
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>RouteMetric=</varname></term>
- <listitem>
- <para>Set the routing metric for the routes received in the Router Advertisement. Takes an
- unsigned integer in the range 0…4294967295. Defaults to 1024.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>RouteMetric=</varname></term>
+ <listitem>
+ <para>Set the routing metric for the routes received in the Router Advertisement. Takes an
+ unsigned integer in the range 0…4294967295. Defaults to 1024.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>UseMTU=</varname></term>
- <listitem>
- <para>Takes a boolean. When true, the MTU received in the Router Advertisement will be
- used. Defaults to true.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>UseMTU=</varname></term>
+ <listitem>
+ <para>Takes a boolean. When true, the MTU received in the Router Advertisement will be
+ used. Defaults to true.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>UseGateway=</varname></term>
- <listitem>
- <para>When true (the default), the router address will be configured as the default gateway.
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>UseGateway=</varname></term>
+ <listitem>
+ <para>When true (the default), the router address will be configured as the default gateway.
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>UseRoutePrefix=</varname></term>
- <listitem>
- <para>When true (the default), the routes corresponding to the route prefixes received in
- the Router Advertisement will be configured.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>UseRoutePrefix=</varname></term>
+ <listitem>
+ <para>When true (the default), the routes corresponding to the route prefixes received in
+ the Router Advertisement will be configured.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>UseAutonomousPrefix=</varname></term>
- <listitem>
- <para>When true (the default), the autonomous prefix received in the Router Advertisement will be used and take
- precedence over any statically configured ones.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>UseAutonomousPrefix=</varname></term>
+ <listitem>
+ <para>When true (the default), the autonomous prefix received in the Router Advertisement will be used and take
+ precedence over any statically configured ones.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>UseOnLinkPrefix=</varname></term>
- <listitem>
- <para>When true (the default), the onlink prefix received in the Router Advertisement will be
- used and takes precedence over any statically configured ones.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>UseOnLinkPrefix=</varname></term>
+ <listitem>
+ <para>When true (the default), the onlink prefix received in the Router Advertisement will be
+ used and takes precedence over any statically configured ones.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>RouterDenyList=</varname></term>
- <listitem>
- <para>A whitespace-separated list of IPv6 router addresses. Each address can optionally
- take a prefix length after <literal>/</literal>. Any information advertised by the listed
- router is ignored.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>RouterDenyList=</varname></term>
+ <listitem>
+ <para>A whitespace-separated list of IPv6 router addresses. Each address can optionally
+ take a prefix length after <literal>/</literal>. Any information advertised by the listed
+ router is ignored.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>RouterAllowList=</varname></term>
- <listitem>
- <para>A whitespace-separated list of IPv6 router addresses. Each address can optionally
- take a prefix length after <literal>/</literal>. Only information advertised by the listed
- router is accepted. Note that if <varname>RouterAllowList=</varname> is configured then
- <varname>RouterDenyList=</varname> is ignored.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>RouterAllowList=</varname></term>
+ <listitem>
+ <para>A whitespace-separated list of IPv6 router addresses. Each address can optionally
+ take a prefix length after <literal>/</literal>. Only information advertised by the listed
+ router is accepted. Note that if <varname>RouterAllowList=</varname> is configured then
+ <varname>RouterDenyList=</varname> is ignored.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>PrefixDenyList=</varname></term>
- <listitem>
- <para>A whitespace-separated list of IPv6 prefixes. Each prefix can optionally take its
- prefix length after <literal>/</literal>. IPv6 prefixes supplied via router advertisements
- in the list are ignored.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>PrefixDenyList=</varname></term>
+ <listitem>
+ <para>A whitespace-separated list of IPv6 prefixes. Each prefix can optionally take its
+ prefix length after <literal>/</literal>. IPv6 prefixes supplied via router advertisements
+ in the list are ignored.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>PrefixAllowList=</varname></term>
- <listitem>
- <para>A whitespace-separated list of IPv6 prefixes. Each prefix can optionally take its
- prefix length after <literal>/</literal>. IPv6 prefixes supplied via router advertisements
- in the list are allowed. Note that if <varname>PrefixAllowList=</varname> is configured
- then <varname>PrefixDenyList=</varname> is ignored.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>PrefixAllowList=</varname></term>
+ <listitem>
+ <para>A whitespace-separated list of IPv6 prefixes. Each prefix can optionally take its
+ prefix length after <literal>/</literal>. IPv6 prefixes supplied via router advertisements
+ in the list are allowed. Note that if <varname>PrefixAllowList=</varname> is configured
+ then <varname>PrefixDenyList=</varname> is ignored.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>RouteDenyList=</varname></term>
- <listitem>
- <para>A whitespace-separated list of IPv6 route prefixes. Each prefix can optionally take
- its prefix length after <literal>/</literal>. IPv6 route prefixes supplied via router
- advertisements in the list are ignored.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>RouteDenyList=</varname></term>
+ <listitem>
+ <para>A whitespace-separated list of IPv6 route prefixes. Each prefix can optionally take
+ its prefix length after <literal>/</literal>. IPv6 route prefixes supplied via router
+ advertisements in the list are ignored.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>RouteAllowList=</varname></term>
- <listitem>
- <para>A whitespace-separated list of IPv6 route prefixes. Each prefix can optionally take
- its prefix length after <literal>/</literal>. IPv6 route prefixes supplied via router
- advertisements in the list are allowed. Note that if <varname>RouteAllowList=</varname> is
- configured then <varname>RouteDenyList=</varname> is ignored.</para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><varname>RouteAllowList=</varname></term>
+ <listitem>
+ <para>A whitespace-separated list of IPv6 route prefixes. Each prefix can optionally take
+ its prefix length after <literal>/</literal>. IPv6 route prefixes supplied via router
+ advertisements in the list are allowed. Note that if <varname>RouteAllowList=</varname> is
+ configured then <varname>RouteDenyList=</varname> is ignored.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><varname>DHCPv6Client=</varname></term>
- <listitem>
- <para>Takes a boolean, or the special value <literal>always</literal>. When true, the
- DHCPv6 client will be started when the RA has the managed or other information flag. If set
- to <literal>always</literal>, the DHCPv6 client will be started in managed mode when an RA
- is received, even if neither managed nor other information flag is set in the RA. This will
- be ignored when <varname>WithoutRA=</varname> in the [DHCPv6] section is enabled, or
- <varname>UplinkInterface=:self</varname> in the [DHCPv6PrefixDelegation] section is
- specified. Defaults to true.</para>
- </listitem>
- </varlistentry>
- </variablelist>
+ <varlistentry>
+ <term><varname>DHCPv6Client=</varname></term>
+ <listitem>
+ <para>Takes a boolean, or the special value <literal>always</literal>. When true, the
+ DHCPv6 client will be started when the RA has the managed or other information flag. If set
+ to <literal>always</literal>, the DHCPv6 client will be started in managed mode when an RA
+ is received, even if neither managed nor other information flag is set in the RA. This will
+ be ignored when <varname>WithoutRA=</varname> in the [DHCPv6] section is enabled, or
+ <varname>UplinkInterface=:self</varname> in the [DHCPv6PrefixDelegation] section is
+ specified. Defaults to true.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</refsect1>
<refsect1>