summaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2023-09-09 14:46:32 +0200
committerLennart Poettering <lennart@poettering.net>2023-09-18 18:55:19 +0200
commit2bec84e7a5bf3687ae65205753ba3d8067cf2f0e (patch)
tree64de87add830061a5bafa3e5c8f541b3c75f515d /man
parentMerge pull request #29206 from mrc0mmand/lsan-followup (diff)
downloadsystemd-2bec84e7a5bf3687ae65205753ba3d8067cf2f0e.tar.xz
systemd-2bec84e7a5bf3687ae65205753ba3d8067cf2f0e.zip
core: add new "PollLimit" settings to .socket units
This adds a new "PollLimit" pair of settings to .socket units, very similar to existing "TriggerLimit" logic. The differences are: * PollLimit focusses on the polling on the sockets, and pauses that temporarily if a ratelimit on that is reached. TriggerLimit otoh focusses on the triggering effect of socket units, and stops triggering once the ratelimit is hit. * While the trigger limit being hit is an action that causes the socket unit to fail the polling limit being reached will just temporarily disable polling on the socket fd, and it is resumed once the ratelimit interval is over. * When a socket unit operates on multiple socket fds (e,g, ListenStream= on both some ipv6 and an ipv4 address or so). Then the PollLimit will be specific to each fd, while the trigger limit is specific to the whole unit. Implementation-wise this is mostly a wrapper around sd-event's sd_event_source_set_ratelimit(), which exposes the desired behaviour directly. Usecase for all of this: socket services which when overloaded with connections should just slow down reception of it, but not fail persistently.
Diffstat (limited to 'man')
-rw-r--r--man/org.freedesktop.systemd1.xml12
1 files changed, 12 insertions, 0 deletions
diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
index 4ca0583d65..47d4b4828b 100644
--- a/man/org.freedesktop.systemd1.xml
+++ b/man/org.freedesktop.systemd1.xml
@@ -4735,6 +4735,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
readonly t TriggerLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u TriggerLimitBurst = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly t PollLimitIntervalUSec = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly u PollLimitBurst = ...;
readonly u UID = ...;
readonly u GID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
@@ -5969,6 +5973,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
<variablelist class="dbus-property" generated="True" extra-ref="TriggerLimitBurst"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="PollLimitIntervalUSec"/>
+
+ <variablelist class="dbus-property" generated="True" extra-ref="PollLimitBurst"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="UID"/>
<variablelist class="dbus-property" generated="True" extra-ref="GID"/>
@@ -6505,6 +6513,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
<!--End of Autogenerated section-->
+ <para><varname>PollLimitIntervalUSec</varname>/<varname>PollLimitBurst</varname> properties configure the
+ polling limit for the socket unit. Expects a time in µs, resp. an unsigned integer. If either is set to
+ zero the limiting feature is turned off.</para>
+
<refsect2>
<title>Properties</title>