diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-09-10 16:35:31 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-09-11 10:33:13 +0200 |
commit | c6a7924513e6aa1ff8fbd2d4c644a8d14d4d4149 (patch) | |
tree | ac9a5a4fcaef12d4f43bea46aab95047351dc708 | |
parent | 5d0fe4233b98301a2f8644824dd1dec0c5fc3403 (diff) | |
download | systemd-c6a7924513e6aa1ff8fbd2d4c644a8d14d4d4149.tar.gz |
man: always document both the ipv4 and the ipv6 sockopt
-rw-r--r-- | man/daemon.xml | 50 | ||||
-rw-r--r-- | man/systemd.socket.xml | 45 |
2 files changed, 40 insertions, 55 deletions
diff --git a/man/daemon.xml b/man/daemon.xml index 072529eeec..b5ae08473d 100644 --- a/man/daemon.xml +++ b/man/daemon.xml @@ -448,37 +448,27 @@ <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> diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml index 253da8a6d4..3aff453185 100644 --- a/man/systemd.socket.xml +++ b/man/systemd.socket.xml @@ -568,26 +568,23 @@ <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> @@ -662,20 +659,18 @@ <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> |