]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: always document both the ipv4 and the ipv6 sockopt 17005/head
authorLennart Poettering <lennart@poettering.net>
Thu, 10 Sep 2020 14:35:31 +0000 (16:35 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 11 Sep 2020 08:33:13 +0000 (10:33 +0200)
man/daemon.xml
man/systemd.socket.xml

index 072529eeecbce9422e0a95c907c3dcf094020b57..b5ae08473dc21f8ca9699633aa9157930b26da2c 100644 (file)
     <refsect2>
       <title>Other Forms of Activation</title>
 
-      <para>Other forms of activation have been suggested and
-      implemented in some systems. However, there are often simpler or
-      better alternatives, or they can be put together of combinations
-      of the schemes above. Example: Sometimes, it appears useful to
-      start daemons or <filename>.socket</filename> units when a
-      specific IP address is configured on a network interface,
-      because network sockets shall be bound to the address. However,
-      an alternative to implement this is by utilizing the Linux
-      <constant>IP_FREEBIND</constant> socket option, as accessible
-      via <varname>FreeBind=yes</varname> in systemd socket files (see
-      <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-      for details). This option, when enabled, allows sockets to be
-      bound to a non-local, not configured IP address, and hence
-      allows bindings to a particular IP address before it actually
-      becomes available, making such an explicit dependency to the
-      configured address redundant. Another often suggested trigger
-      for service activation is low system load. However, here too, a
-      more convincing approach might be to make proper use of features
-      of the operating system, in particular, the CPU or I/O scheduler
-      of Linux. Instead of scheduling jobs from userspace based on
-      monitoring the OS scheduler, it is advisable to leave the
-      scheduling of processes to the OS scheduler itself. systemd
-      provides fine-grained access to the CPU and I/O schedulers. If a
-      process executed by the init system shall not negatively impact
-      the amount of CPU or I/O bandwidth available to other processes,
-      it should be configured with
+      <para>Other forms of activation have been suggested and implemented in some systems. However, there are
+      often simpler or better alternatives, or they can be put together of combinations of the schemes
+      above. Example: Sometimes, it appears useful to start daemons or <filename>.socket</filename> units
+      when a specific IP address is configured on a network interface, because network sockets shall be bound
+      to the address. However, an alternative to implement this is by utilizing the Linux
+      <constant>IP_FREEBIND</constant>/<constant>IPV6_FREEBIND</constant> socket option, as accessible via
+      <varname>FreeBind=yes</varname> in systemd socket files (see
+      <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
+      details). This option, when enabled, allows sockets to be bound to a non-local, not configured IP
+      address, and hence allows bindings to a particular IP address before it actually becomes available,
+      making such an explicit dependency to the configured address redundant. Another often suggested trigger
+      for service activation is low system load. However, here too, a more convincing approach might be to
+      make proper use of features of the operating system, in particular, the CPU or I/O scheduler of
+      Linux. Instead of scheduling jobs from userspace based on monitoring the OS scheduler, it is advisable
+      to leave the scheduling of processes to the OS scheduler itself. systemd provides fine-grained access
+      to the CPU and I/O schedulers. If a process executed by the init system shall not negatively impact the
+      amount of CPU or I/O bandwidth available to other processes, it should be configured with
       <varname>CPUSchedulingPolicy=idle</varname> and/or
-      <varname>IOSchedulingClass=idle</varname>. Optionally, this may
-      be combined with timer-based activation to schedule background
-      jobs during runtime and with minimal impact on the system, and
-      remove it from the boot phase itself.</para>
+      <varname>IOSchedulingClass=idle</varname>. Optionally, this may be combined with timer-based activation
+      to schedule background jobs during runtime and with minimal impact on the system, and remove it from
+      the boot phase itself.</para>
     </refsect2>
 
   </refsect1>
index 253da8a6d4deb4b39ace5dc1bd768bb16a5c8623..3aff45318566821c959cf0719907f29f058fcad9 100644 (file)
 
       <varlistentry>
         <term><varname>IPTOS=</varname></term>
-        <listitem><para>Takes an integer argument controlling the IP
-        Type-Of-Service field for packets generated from this socket.
-        This controls the IP_TOS socket option (see
-        <citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
-        for details.). Either a numeric string or one of
-        <option>low-delay</option>, <option>throughput</option>,
-        <option>reliability</option> or <option>low-cost</option> may
-        be specified.</para></listitem>
+        <listitem><para>Takes an integer argument controlling the IP Type-Of-Service field for packets
+        generated from this socket.  This controls the <constant>IP_TOS</constant> socket option (see
+        <citerefentry
+        project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
+        details.). Either a numeric string or one of <option>low-delay</option>, <option>throughput</option>,
+        <option>reliability</option> or <option>low-cost</option> may be specified.</para></listitem>
       </varlistentry>
 
       <varlistentry>
         <term><varname>IPTTL=</varname></term>
-        <listitem><para>Takes an integer argument controlling the IPv4
-        Time-To-Live/IPv6 Hop-Count field for packets generated from
-        this socket. This sets the IP_TTL/IPV6_UNICAST_HOPS socket
-        options (see
-        <citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
-        and
-        <citerefentry project='die-net'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
-        for details.)</para></listitem>
+        <listitem><para>Takes an integer argument controlling the IPv4 Time-To-Live/IPv6 Hop-Count field for
+        packets generated from this socket. This sets the
+        <constant>IP_TTL</constant>/<constant>IPV6_UNICAST_HOPS</constant> socket options (see <citerefentry
+        project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry> and
+        <citerefentry
+        project='die-net'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
+        details.)</para></listitem>
       </varlistentry>
 
       <varlistentry>
 
       <varlistentry>
         <term><varname>FreeBind=</varname></term>
-        <listitem><para>Takes a boolean value. Controls whether the
-        socket can be bound to non-local IP addresses. This is useful
-        to configure sockets listening on specific IP addresses before
-        those IP addresses are successfully configured on a network
-        interface. This sets the IP_FREEBIND socket option. For
-        robustness reasons it is recommended to use this option
-        whenever you bind a socket to a specific IP address. Defaults
-        to <option>false</option>.</para></listitem>
+        <listitem><para>Takes a boolean value. Controls whether the socket can be bound to non-local IP
+        addresses. This is useful to configure sockets listening on specific IP addresses before those IP
+        addresses are successfully configured on a network interface. This sets the
+        <constant>IP_FREEBIND</constant>/<constant>IPV6_FREEBIND</constant> socket option. For robustness
+        reasons it is recommended to use this option whenever you bind a socket to a specific IP
+        address. Defaults to <option>false</option>.</para></listitem>
       </varlistentry>
 
       <varlistentry>
         <term><varname>Transparent=</varname></term>
         <listitem><para>Takes a boolean value. Controls the
-        IP_TRANSPARENT socket option. Defaults to
+        <constant>IP_TRANSPARENT</constant>/<constant>IPV6_TRANSPARENT</constant> socket option. Defaults to
         <option>false</option>.</para></listitem>
       </varlistentry>