diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-09-09 14:46:32 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-09-18 18:55:19 +0200 |
commit | 2bec84e7a5bf3687ae65205753ba3d8067cf2f0e (patch) | |
tree | 64de87add830061a5bafa3e5c8f541b3c75f515d /man | |
parent | Merge pull request #29206 from mrc0mmand/lsan-followup (diff) | |
download | systemd-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.xml | 12 |
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> |