]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - man/systemd.network.xml
network/dhcp: disable RapidCommit= by default when AllowList=/DenyList= is specified
[thirdparty/systemd.git] / man / systemd.network.xml
index 9ac7c138113f55ae0e88a011059d590216361133..63a3eef94286b445f14dd2309d8cb78295031673 100644 (file)
@@ -44,8 +44,8 @@
     <filename>/etc/systemd/network</filename>. All configuration files are collectively sorted and
     processed in alphanumeric order, regardless of the directories in which they live. However, files
     with identical filenames replace each other. It is recommended that each filename is prefixed with
-    a number (e.g. <filename>10-eth0.network</filename>). Otherwise, the default
-    <filename>.network</filename> files or those generated by
+    a number smaller than <literal>70</literal> (e.g. <filename>10-eth0.network</filename>). Otherwise, the
+    default <filename>.network</filename> files or those generated by
     <citerefentry><refentrytitle>systemd-network-generator.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     may take precedence over user configured files. Files in <filename>/etc/</filename> have the highest
     priority, files in <filename>/run/</filename> take precedence over files with the same name under
     configured. The first (in alphanumeric order) of the network files that matches a given interface
     is applied, all later files are ignored, even if they match as well.</para>
 
+    <para>Note that any network interfaces that have the <varname>ID_NET_MANAGED_BY=</varname> udev property
+    set will never be matched by any .network files – unless the property's value is the string
+    <literal>io.systemd.Network</literal> – even if the [Match] section would otherwise match. This may be
+    used to exclude specific network interfaces from <command>systemd-networkd</command>'s management, while
+    keeping the [Match] section generic. The <varname>ID_NET_MANAGED_BY=</varname> property thus declares
+    intended <emphasis>ownership</emphasis> of the device, and permits ensuring that concurrent network
+    management implementations do not compete for management of specific devices.</para>
+
     <para>A network file is said to match a network interface if all matches specified by the [Match]
     section are satisfied. When a network file does not contain valid settings in [Match] section, then
     the file will match all interfaces and <command>systemd-networkd</command> warns about that. Hint:
           <para>A whitespace-separated list of shell-style globs matching the device name, as exposed
           by the udev property <literal>INTERFACE</literal>, or device's alternative names. If the
           list is prefixed with a "!", the test is inverted.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
         <term><varname>MACAddress=</varname></term>
         <listitem>
           <para>The hardware address to set for the device.</para>
+
+        <xi:include href="version-info.xml" xpointer="v218"/>
         </listitem>
       </varlistentry>
 
         <term><varname>Description=</varname></term>
         <listitem>
           <para>A description of the device. This is only used for presentation purposes.</para>
+
+        <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
 
           <para>See the [DHCPv4] or [DHCPv6] sections below for further configuration options for the
           DHCP client support.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -645,6 +661,8 @@ Table=1234</programlisting></para>
           10.0.0.0/8 for IPv4, and fd00::/8 for IPv6. This functionality is useful to manage a large
           number of dynamically created network interfaces with the same network configuration and
           automatic address range assignment.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -655,6 +673,8 @@ Table=1234</programlisting></para>
           <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
           This is a short-hand for a [Route] section only containing a <varname>Gateway=</varname> key.
           This option may be specified more than once.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -673,6 +693,8 @@ Table=1234</programlisting></para>
           assigned, then the all previous assignments are cleared. This setting is read by
           <citerefentry><refentrytitle>systemd-resolved.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
           </para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -842,9 +864,9 @@ Table=1234</programlisting></para>
       <varlistentry>
         <term><varname>IPv6HopLimit=</varname></term>
         <listitem>
-          <para>Configures IPv6 Hop Limit. For each router that forwards the packet, the hop limit is
-          decremented by 1. When the hop limit field reaches zero, the packet is discarded. When unset,
-          the kernel's default will be used.</para>
+          <para>Configures IPv6 Hop Limit. Takes an integer in the range 1…255. For each router that
+          forwards the packet, the hop limit is decremented by 1. When the hop limit field reaches zero, the
+          packet is discarded. When unset, the kernel's default will be used.</para>
 
           <xi:include href="version-info.xml" xpointer="v228"/>
         </listitem>
@@ -996,6 +1018,8 @@ Table=1234</programlisting></para>
           to. See
           <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
           </para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1015,6 +1039,8 @@ Table=1234</programlisting></para>
           VXLAN, or Xfrm to be created on the link. See
           <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
           This option may be specified more than once.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1128,7 +1154,7 @@ Table=1234</programlisting></para>
           <para>As in the [Network] section. This setting is mandatory. Each [Address] section can
           contain one <varname>Address=</varname> setting.</para>
 
-          <xi:include href="version-info.xml" xpointer="v215"/>
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1150,6 +1176,8 @@ Table=1234</programlisting></para>
           If set to true, then the IPv4 broadcast address will be derived from the
           <varname>Address=</varname> setting. If set to false, then the broadcast address will not be
           set. Defaults to true, except for wireguard interfaces, where it default to false.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1158,6 +1186,8 @@ Table=1234</programlisting></para>
         <listitem>
           <para>Specifies the label for the IPv4 address. The label must be a 7-bit ASCII string with
           a length of 1…15 characters. Defaults to unset.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1183,6 +1213,7 @@ Table=1234</programlisting></para>
           the network, even through a gateway), <literal>link</literal> (only valid on this device,
           will not traverse a gateway) or <literal>host</literal> (only valid within the device itself,
           e.g. 127.0.0.1) or an integer in the range 0…255. Defaults to <literal>global</literal>.
+          IPv4 only - IPv6 scope is automatically assigned by the kernel and cannot be set manually.
           </para>
 
         <xi:include href="version-info.xml" xpointer="v235"/>
@@ -1196,6 +1227,8 @@ Table=1234</programlisting></para>
           address, taking the configured prefix length into account. Takes an unsigned integer in the
           range 0…4294967295. When unset or set to 0, the kernel's default value is used. This
           setting will be ignored when <varname>AddPrefixRoute=</varname> is false.</para>
+
+          <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
       </varlistentry>
 
@@ -1765,7 +1798,7 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <literal>_ipv6ra</literal>. If <literal>_dhcp4</literal> or <literal>_ipv6ra</literal> is
           set, then the gateway address provided by DHCPv4 or IPv6 RA is used.</para>
 
-        <xi:include href="version-info.xml" xpointer="v215"/>
+        <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1777,7 +1810,7 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           can insert the route in the kernel table without it being complained about. Defaults to
           <literal>no</literal>.</para>
 
-          <xi:include href="version-info.xml" xpointer="v242"/>
+          <xi:include href="version-info.xml" xpointer="v234"/>
         </listitem>
       </varlistentry>
 
@@ -1786,6 +1819,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <listitem>
           <para>The destination prefix of the route. Possibly followed by a slash and the prefix
           length. If omitted, a full-length host route is assumed.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -1889,7 +1924,7 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <literal>anycast</literal>, or <literal>nat</literal>, then <literal>local</literal> is used.
           In other cases, defaults to <literal>main</literal>.</para>
 
-          <xi:include href="version-info.xml" xpointer="v244"/>
+          <xi:include href="version-info.xml" xpointer="v230"/>
         </listitem>
       </varlistentry>
 
@@ -1931,6 +1966,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           is generated. If <literal>throw</literal>, route lookup in the current routing table will
           fail and the route selection process will return to Routing Policy Database (RPDB). Defaults
           to <literal>unicast</literal>.</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/>
         </listitem>
       </varlistentry>
 
@@ -2069,6 +2106,17 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
 
       <!-- DHCP packet contents -->
 
+      <varlistentry>
+        <term><varname>RequestAddress=</varname></term>
+        <listitem>
+          <para>Takes an IPv4 address. When specified, the Requested IP Address option (option code 50) is
+          added with it to the initial DHCPDISCOVER message sent by the DHCP client. Defaults to unset, and
+          an already assigned dynamic address to the interface is automatically picked.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>SendHostname=</varname></term>
         <listitem>
@@ -2077,6 +2125,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           hostname must consist only of 7-bit ASCII lower-case characters and no spaces or dots, and be
           formatted as a valid DNS domain name. Otherwise, the hostname is not sent even if this option
           is true.</para>
+
+          <xi:include href="version-info.xml" xpointer="v215"/>
         </listitem>
       </varlistentry>
 
@@ -2086,6 +2136,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>Use this value for the hostname which is sent to the DHCP server, instead of machine's
           hostname. Note that the specified hostname must consist only of 7-bit ASCII lower-case
           characters and no spaces or dots, and be formatted as a valid DNS domain name.</para>
+
+          <xi:include href="version-info.xml" xpointer="v223"/>
         </listitem>
       </varlistentry>
 
@@ -2116,6 +2168,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           DUID, is used. IAID can be configured by <varname>IAID=</varname>. DUID can be configured by
           <varname>DUIDType=</varname> and <varname>DUIDRawData=</varname>. Defaults to
           <option>duid</option>.</para>
+
+        <xi:include href="version-info.xml" xpointer="v220"/>
         </listitem>
       </varlistentry>
 
@@ -2123,6 +2177,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>VendorClassIdentifier=</varname></term>
         <listitem>
           <para>The vendor class identifier used to identify vendor type and configuration.</para>
+
+        <xi:include href="version-info.xml" xpointer="v216"/>
         </listitem>
       </varlistentry>
 
@@ -2134,6 +2190,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           represents the user class of which the client is a member. Each class sets an identifying
           string of information to be used by the DHCP service to classify clients. Takes a
           whitespace-separated list of strings.</para>
+
+          <xi:include href="version-info.xml" xpointer="v239"/>
         </listitem>
       </varlistentry>
 
@@ -2143,6 +2201,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>Override the global <varname>DUIDType=</varname> setting for this network. See
           <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
           for a description of possible values.</para>
+
+        <xi:include href="version-info.xml" xpointer="v230"/>
         </listitem>
       </varlistentry>
 
@@ -2152,6 +2212,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>Override the global <varname>DUIDRawData=</varname> setting for this network. See
           <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
           for a description of possible values.</para>
+
+        <xi:include href="version-info.xml" xpointer="v230"/>
         </listitem>
       </varlistentry>
 
@@ -2160,6 +2222,24 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <listitem>
           <para>The DHCP Identity Association Identifier (IAID) for the interface, a 32-bit unsigned
           integer.</para>
+
+          <xi:include href="version-info.xml" xpointer="v230"/>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><varname>RapidCommit=</varname></term>
+        <listitem>
+          <para>Takes a boolean. The DHCPv4 client can obtain configuration parameters from a DHCPv4 server
+          through a rapid two-message exchange (discover and ack). When the rapid commit option is set by
+          both the DHCPv4 client and the DHCPv4 server, the two-message exchange is used. Otherwise, the
+          four-message exchange (discover, offer, request, and ack) is used. The two-message exchange
+          provides faster client configuration. See
+          <ulink url="https://tools.ietf.org/html/rfc4039">RFC 4039</ulink> for details.
+          Defaults to true when <varname>Anonymize=no</varname> and neither <varname>AllowList=</varname>
+          nor <varname>DenyList=</varname> is specified, and false otherwise.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
         </listitem>
       </varlistentry>
 
@@ -2175,15 +2255,33 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
           </para>
 
-          <para>When true, <varname>SendHostname=</varname>, <varname>ClientIdentifier=</varname>,
-          <varname>VendorClassIdentifier=</varname>, <varname>UserClass=</varname>,
-          <varname>RequestOptions=</varname>, <varname>SendOption=</varname>,
-          <varname>SendVendorOption=</varname>, and <varname>MUDURL=</varname> are ignored.</para>
+          <para>When true,
+          <varname>ClientIdentifier=mac</varname>,
+          <varname>RapidCommit=no</varname>,
+          <varname>SendHostname=no</varname>,
+          <varname>Use6RD=no</varname>,
+          <varname>UseCaptivePortal=no</varname>,
+          <varname>UseMTU=no</varname>,
+          <varname>UseNTP=no</varname>,
+          <varname>UseSIP=no</varname>, and
+          <varname>UseTimezone=no</varname>
+          are implied and these settings in the .network file are silently ignored. Also,
+          <varname>Hostname=</varname>,
+          <varname>MUDURL=</varname>,
+          <varname>RequestAddress</varname>,
+          <varname>RequestOptions=</varname>,
+          <varname>SendOption=</varname>,
+          <varname>SendVendorOption=</varname>,
+          <varname>UserClass=</varname>, and
+          <varname>VendorClassIdentifier=</varname>
+          are silently ignored.</para>
 
           <para>With this option enabled DHCP requests will mimic those generated by Microsoft
           Windows, in order to reduce the ability to fingerprint and recognize installations. This
           means DHCP request sizes will grow and lease data will be more comprehensive than normally,
           though most of the requested data is not actually used.</para>
+
+          <xi:include href="version-info.xml" xpointer="v235"/>
         </listitem>
       </varlistentry>
 
@@ -2241,6 +2339,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           sent from the DHCPv4 client. When <literal>CS6</literal> (network control) or
           <literal>CS4</literal> (realtime), the corresponding service type will be set. Defaults to
           <literal>CS6</literal>.</para>
+
+        <xi:include href="version-info.xml" xpointer="v244"/>
         </listitem>
       </varlistentry>
 
@@ -2281,6 +2381,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>This corresponds to the <option>nameserver</option> option in
           <citerefentry project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
           </para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -2300,6 +2402,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <listitem>
           <para>When true (the default), the NTP servers received from the DHCP server will be used by
           <filename>systemd-timesyncd.service</filename>.</para>
+
+          <xi:include href="version-info.xml" xpointer="v220"/>
         </listitem>
       </varlistentry>
 
@@ -2328,7 +2432,9 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>UseCaptivePortal=</varname></term>
         <listitem>
           <para>When true (the default), the captive portal advertised by the DHCP server will be recorded
-          and made available to client programs and displayed in the networkctl status output per-link.</para>
+          and made available to client programs and displayed in the
+          <citerefentry><refentrytitle>networkctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+          status output per-link.</para>
 
           <xi:include href="version-info.xml" xpointer="v254"/>
         </listitem>
@@ -2344,6 +2450,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>Note, some drivers will reset the interfaces if the MTU is changed. For such
           interfaces, please try to use <varname>IgnoreCarrierLoss=</varname> with a short timespan,
           e.g. <literal>3 seconds</literal>.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -2352,6 +2460,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <listitem>
           <para>When true (the default), the hostname received from the DHCP server will be set as the
           transient hostname of the system.</para>
+
+          <xi:include href="version-info.xml" xpointer="v211"/>
         </listitem>
       </varlistentry>
 
@@ -2373,6 +2483,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <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>
+
+          <xi:include href="version-info.xml" xpointer="v216"/>
         </listitem>
       </varlistentry>
 
@@ -2386,6 +2498,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           own address, the scope will be set to <option>host</option>. Otherwise if the gateway is null
           (a direct route), a <option>link</option> scope will be used. For anything else, scope
           defaults to <option>global</option>.</para>
+
+          <xi:include href="version-info.xml" xpointer="v215"/>
         </listitem>
       </varlistentry>
 
@@ -2395,6 +2509,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>Set the routing metric for routes specified by the DHCP server (including the prefix
           route added for the specified prefix). Takes an unsigned integer in the range 0…4294967295.
           Defaults to 1024.</para>
+
+          <xi:include href="version-info.xml" xpointer="v217"/>
         </listitem>
       </varlistentry>
 
@@ -2409,6 +2525,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
 
           <para>When used in combination with <varname>VRF=</varname>, the VRF's routing table is
           used when this parameter is not specified.</para>
+
+          <xi:include href="version-info.xml" xpointer="v232"/>
         </listitem>
       </varlistentry>
 
@@ -2453,9 +2571,13 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
       <varlistentry>
         <term><varname>UseGateway=</varname></term>
         <listitem>
-          <para>When true, the gateway will be requested from the DHCP server and added to the routing
-          table with a metric of 1024, and a scope of <option>link</option>. When unset, the value
-          specified with <varname>UseRoutes=</varname> is used.</para>
+          <para>When true, and the DHCP server provides a Router option, the default gateway based on the
+          router address will be configured. Defaults to unset, and the value specified with
+          <varname>UseRoutes=</varname> will be used.</para>
+
+          <para>Note, when the server provides both the Router and Classless Static Routes option, and
+          <varname>UseRoutes=</varname> is enabled, the Router option is always ignored regardless of this
+          setting. See <ulink url="https://datatracker.ietf.org/doc/html/rfc3442">RFC 3442</ulink>.</para>
 
           <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
@@ -2464,7 +2586,9 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
       <varlistentry>
         <term><varname>UseTimezone=</varname></term>
         <listitem><para>When true, the timezone received from the DHCP server will be set as timezone
-        of the local system. Defaults to false.</para></listitem>
+        of the local system. Defaults to false.</para>
+
+        <xi:include href="version-info.xml" xpointer="v226"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -2480,6 +2604,19 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>IPv6OnlyMode=</varname></term>
+        <listitem>
+          <para>When true, the DHCPv4 configuration will be delayed by the timespan provided by the DHCP
+          server and skip to configure dynamic IPv4 network connectivity if IPv6 connectivity is provided
+          within the timespan. See <ulink url="https://tools.ietf.org/html/rfc8925">RFC 8925</ulink>.
+          Defaults to true when <varname>IPv6AcceptRA=</varname> is enabled or DHCPv6 client is enabled
+          (i.e., <varname>DHCP=yes</varname>), and false otherwise.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>FallbackLeaseLifetimeSec=</varname></term>
         <listitem>
@@ -2500,6 +2637,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           This is necessary for devices that cannot receive RAW packets, or that cannot receive packets
           at all before an IP address has been configured. On the other hand, this must not be enabled
           on networks where broadcasts are filtered out.</para>
+
+          <xi:include href="version-info.xml" xpointer="v216"/>
         </listitem>
       </varlistentry>
 
@@ -2520,6 +2659,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>ListenPort=</varname></term>
         <listitem>
           <para>Set the port from which the DHCP client packets originate.</para>
+
+        <xi:include href="version-info.xml" xpointer="v233"/>
         </listitem>
       </varlistentry>
 
@@ -2530,6 +2671,9 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           prefix length after <literal>/</literal>. DHCP offers from servers in the list are rejected.
           Note that if <varname>AllowList=</varname> is configured then <varname>DenyList=</varname> is
           ignored.</para>
+          <para>Note that this filters only DHCP offers, so the filtering may not work when
+          <varname>RapidCommit=</varname> is enabled. See also <varname>RapidCommit=</varname> in the above.
+          </para>
 
           <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
@@ -2541,6 +2685,9 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>A whitespace-separated list of IPv4 addresses. Each address can optionally take a
           prefix length after <literal>/</literal>. DHCP offers from servers in the list are accepted.
           </para>
+          <para>Note that this filters only DHCP offers, so the filtering may not work when
+          <varname>RapidCommit=</varname> is enabled. See also <varname>RapidCommit=</varname> in the above.
+          </para>
 
           <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
@@ -2614,6 +2761,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>RequestOptions=</varname></term>
         <listitem>
           <para>As in the [DHCPv4] section.</para>
+
+        <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
       </varlistentry>
 
@@ -2702,6 +2851,30 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>SendHostname=</varname></term>
+        <listitem>
+          <para>When true (the default), the machine's hostname (or the value specified with
+          <varname>Hostname=</varname>, described below) will be sent to the DHCPv6 server. Note that the
+          hostname must consist only of 7-bit ASCII lower-case characters and no spaces or dots, and be
+          formatted as a valid DNS domain name. Otherwise, the hostname is not sent even if this option
+          is true.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><varname>Hostname=</varname></term>
+        <listitem>
+          <para>Use this value for the hostname which is sent to the DHCPv6 server, instead of machine's
+          hostname. Note that the specified hostname must consist only of 7-bit ASCII lower-case
+          characters and no spaces or dots, and be formatted as a valid DNS domain name.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
+        </listitem>
+      </varlistentry>
+
       <!-- How to use the DHCP lease -->
 
       <varlistentry>
@@ -2718,7 +2891,9 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>UseCaptivePortal=</varname></term>
         <listitem>
           <para>When true (the default), the captive portal advertised by the DHCPv6 server will be recorded
-          and made available to client programs and displayed in the networkctl status output per-link.</para>
+          and made available to client programs and displayed in the
+          <citerefentry><refentrytitle>networkctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+          status output per-link.</para>
 
           <xi:include href="version-info.xml" xpointer="v254"/>
         </listitem>
@@ -2748,6 +2923,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>SendRelease=</varname></term>
         <listitem>
           <para>As in the [DHCPv4] section.</para>
+
+        <xi:include href="version-info.xml" xpointer="v243"/>
         </listitem>
       </varlistentry>
 
@@ -2815,6 +2992,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <ulink url="https://tools.ietf.org/html/rfc4291#section-2.5.4">RFC 4291</ulink>, section
           2.5.4), in which case the allowed value is hexadecimal, from 0 to 0x7fffffffffffffff
           inclusive.</para>
+
+          <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
       </varlistentry>
 
@@ -2825,6 +3004,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           is enabled, the delegated prefixes are distributed through the IPv6 Router Advertisement.
           This setting will be ignored when the <varname>DHCPPrefixDelegation=</varname> setting is
           enabled on the upstream interface. Defaults to yes.</para>
+
+        <xi:include href="version-info.xml" xpointer="v247"/>
         </listitem>
       </varlistentry>
 
@@ -2836,6 +3017,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           interface), the EUI-64 algorithm will be used by default to form an interface identifier from
           the delegated prefixes. See also <varname>Token=</varname> setting below. Defaults to yes.
           </para>
+
+          <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
       </varlistentry>
 
@@ -2846,6 +3029,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           delegated prefix. This accepts the same syntax as <varname>Token=</varname> in the
           [IPv6AcceptRA] section. If <varname>Assign=</varname> is set to false, then this setting will
           be ignored. Defaults to unset, which means the EUI-64 algorithm will be used.</para>
+
+          <xi:include href="version-info.xml" xpointer="v246"/>
         </listitem>
       </varlistentry>
 
@@ -2853,6 +3038,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
         <term><varname>ManageTemporaryAddress=</varname></term>
         <listitem>
           <para>As in the [Address] section, but defaults to true.</para>
+
+        <xi:include href="version-info.xml" xpointer="v248"/>
         </listitem>
       </varlistentry>
 
@@ -2862,6 +3049,8 @@ NFTSet=prefix:netdev:filter:eth_ipv4_prefix</programlisting>
           <para>The metric of the route to the delegated prefix subnet. Takes an unsigned integer in
           the range 0…4294967295. When set to 0, the kernel's default value is used. Defaults to 256.
           </para>
+
+          <xi:include href="version-info.xml" xpointer="v249"/>
         </listitem>
       </varlistentry>
 
@@ -2999,6 +3188,8 @@ Token=prefixstable:2002:da8:1::</programlisting></para>
 
           <para>This corresponds to the <option>nameserver</option> option in <citerefentry
           project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+
+          <xi:include href="version-info.xml" xpointer="v231"/>
         </listitem>
       </varlistentry>
 
@@ -3019,6 +3210,8 @@ Token=prefixstable:2002:da8:1::</programlisting></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>
+
+          <xi:include href="version-info.xml" xpointer="v231"/>
         </listitem>
       </varlistentry>
 
@@ -3116,7 +3309,9 @@ Token=prefixstable:2002:da8:1::</programlisting></para>
         <term><varname>UseCaptivePortal=</varname></term>
         <listitem>
           <para>When true (the default), the captive portal received in the Router Advertisement will be recorded
-          and made available to client programs and displayed in the networkctl status output per-link.</para>
+          and made available to client programs and displayed in the
+          <citerefentry><refentrytitle>networkctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+          status output per-link.</para>
 
           <xi:include href="version-info.xml" xpointer="v254"/>
         </listitem>
@@ -3125,9 +3320,11 @@ Token=prefixstable:2002:da8:1::</programlisting></para>
       <varlistentry>
         <term><varname>UsePREF64=</varname></term>
         <listitem>
-          <para>When true, the IPv6 PREF64 (or NAT64) prefixes received in the Router Advertisement will be recorded
-          and made available to client programs and displayed in the <command>networkctl</command> status output per-link.
-          See <ulink url="https://tools.ietf.org/html/rfc8781">RFC 8781</ulink>. Defaults to false.</para>
+          <para>When true, the IPv6 PREF64 (or NAT64) prefixes received in the Router Advertisement will be
+          recorded and made available to client programs and displayed in the
+          <citerefentry><refentrytitle>networkctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+          status output per-link. See <ulink url="https://tools.ietf.org/html/rfc8781">RFC 8781</ulink>.
+          Defaults to false.</para>
 
           <xi:include href="version-info.xml" xpointer="v255"/>
         </listitem>
@@ -3408,7 +3605,9 @@ ServerAddress=192.168.0.1/24</programlisting>
         <listitem><para>Similar to the <varname>EmitDNS=</varname> and <varname>DNS=</varname> settings
         described above, these settings configure whether and what server information for the indicate
         protocol shall be emitted as part of the DHCP lease. The same syntax, propagation semantics and
-        defaults apply as for <varname>EmitDNS=</varname> and <varname>DNS=</varname>.</para></listitem>
+        defaults apply as for <varname>EmitDNS=</varname> and <varname>DNS=</varname>.</para>
+
+        <xi:include href="version-info.xml" xpointer="v226"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3422,7 +3621,9 @@ ServerAddress=192.168.0.1/24</programlisting>
         the router option. When the <varname>EmitRouter=</varname> setting is disabled, the
         <varname>Router=</varname> setting will be ignored. The <varname>EmitRouter=</varname> setting
         defaults to true, and the <varname>Router=</varname> setting defaults to unset.
-        </para></listitem>
+        </para>
+
+        <xi:include href="version-info.xml" xpointer="v230"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3483,6 +3684,20 @@ ServerAddress=192.168.0.1/24</programlisting>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>IPv6OnlyPreferredSec=</varname></term>
+
+        <listitem>
+          <para>Takes a timespan. Controls the
+          <ulink url="https://tools.ietf.org/html/rfc8925">RFC 8925</ulink> IPv6-Only Preferred option.
+          Specifies the DHCPv4 option to indicate that a host supports an IPv6-only mode and is willing to
+          forgo obtaining an IPv4 address if the network provides IPv6 connectivity. Defaults to unset, and
+          not send the option. The minimum allowed value is 300 seconds.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>SendOption=</varname></term>
         <listitem>
@@ -3561,6 +3776,18 @@ ServerAddress=192.168.0.1/24</programlisting>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>RapidCommit=</varname></term>
+        <listitem>
+          <para>Takes a boolean. When true, the server supports
+          <ulink url="https://datatracker.ietf.org/doc/html/rfc4039">RFC 4039</ulink>. When a client sends
+          a DHCPDISCOVER message with the Rapid Commit option to the server, then the server will reply with
+          a DHCPACK message to the client, instead of DHCPOFFER. Defaults to true.</para>
+
+          <xi:include href="version-info.xml" xpointer="v255"/>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
   </refsect1>
 
@@ -3574,7 +3801,9 @@ ServerAddress=192.168.0.1/24</programlisting>
       <varlistentry>
         <term><varname>MACAddress=</varname></term>
 
-        <listitem><para>The hardware address of a device to match. This key is mandatory.</para></listitem>
+        <listitem><para>The hardware address of a device to match. This key is mandatory.</para>
+
+        <xi:include href="version-info.xml" xpointer="v249"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3608,7 +3837,9 @@ ServerAddress=192.168.0.1/24</programlisting>
         <varname>OtherInformation=</varname> is set to
         <literal>true</literal>. Both settings default to
         <literal>false</literal>, which means that a DHCPv6 server is not being
-        used.</para></listitem>
+        used.</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3617,6 +3848,8 @@ ServerAddress=192.168.0.1/24</programlisting>
         <listitem><para>Takes a timespan. Configures the IPv6 router lifetime in seconds. The value must be 0
         seconds, or between 4 seconds and 9000 seconds. When set to 0, the host is not acting as a router.
         Defaults to 1800 seconds (30 minutes).</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/>
         </listitem>
       </varlistentry>
 
@@ -3641,7 +3874,9 @@ ServerAddress=192.168.0.1/24</programlisting>
         <literal>default</literal> added as synonyms for
         <literal>medium</literal> just to make configuration easier. See
         <ulink url="https://tools.ietf.org/html/rfc4191">RFC 4191</ulink>
-        for details. Defaults to <literal>medium</literal>.</para></listitem>
+        for details. Defaults to <literal>medium</literal>.</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3679,7 +3914,9 @@ ServerAddress=192.168.0.1/24</programlisting>
         read from the [Network] section. If the [Network] section does not contain any DNS servers
         either, DNS servers from the uplink interface specified in <varname>UplinkInterface=</varname>
         will be used. When <varname>EmitDNS=</varname> is false, no DNS server information is sent in
-        Router Advertisement messages. <varname>EmitDNS=</varname> defaults to true.</para></listitem>
+        Router Advertisement messages. <varname>EmitDNS=</varname> defaults to true.</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3692,7 +3929,9 @@ ServerAddress=192.168.0.1/24</programlisting>
         search domains either, DNS search domains from the uplink interface specified in
         <varname>UplinkInterface=</varname> will be used. When <varname>EmitDomains=</varname> is false,
         no DNS search domain information is sent in Router Advertisement messages.
-        <varname>EmitDomains=</varname> defaults to true.</para></listitem>
+        <varname>EmitDomains=</varname> defaults to true.</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -3700,7 +3939,9 @@ ServerAddress=192.168.0.1/24</programlisting>
 
         <listitem><para>Lifetime in seconds for the DNS server addresses listed in
         <varname>DNS=</varname> and search domains listed in <varname>Domains=</varname>. Defaults to
-        3600 seconds (one hour).</para></listitem>
+        3600 seconds (one hour).</para>
+
+        <xi:include href="version-info.xml" xpointer="v235"/></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -4050,6 +4291,8 @@ ServerAddress=192.168.0.1/24</programlisting>
           <term><varname>MACAddress=</varname></term>
           <listitem>
             <para>As in the [Network] section. This key is mandatory.</para>
+
+          <xi:include href="version-info.xml" xpointer="v219"/>
           </listitem>
         </varlistentry>
         <varlistentry>
@@ -4124,6 +4367,8 @@ ServerAddress=192.168.0.1/24</programlisting>
           <term><varname>VLANId=</varname></term>
           <listitem>
             <para>The VLAN ID for the new entry. Valid ranges are 0 (no VLAN) to 4094. Optional, defaults to 0.</para>
+
+          <xi:include href="version-info.xml" xpointer="v247"/>
           </listitem>
         </varlistentry>
       </variablelist>
@@ -4355,6 +4600,8 @@ ServerAddress=192.168.0.1/24</programlisting>
         <listitem>
           <para>Specifies the parent Queueing Discipline (qdisc). Takes one of <literal>clsact</literal>
           or <literal>ingress</literal>. This is mandatory.</para>
+
+        <xi:include href="version-info.xml" xpointer="v244"/>
         </listitem>
       </varlistentry>
 
@@ -5333,7 +5580,7 @@ ServerAddress=192.168.0.1/24</programlisting>
           Kilobytes, Megabytes, or Gigabytes, respectively, to the base of 1024. Defaults to unset and
           kernel's default is used.</para>
 
-          <xi:include href="version-info.xml" xpointer="v246"/>
+          <xi:include href="version-info.xml" xpointer="v245"/>
         </listitem>
       </varlistentry>
 
@@ -5621,6 +5868,8 @@ ServerAddress=192.168.0.1/24</programlisting>
           <listitem>
             <para>The VLAN ID allowed on the port. This can be either a single ID or a range M-N. Takes
             an integer in the range 1…4094.</para>
+
+            <xi:include href="version-info.xml" xpointer="v231"/>
           </listitem>
         </varlistentry>
         <varlistentry>