Config-Model-Systemd
view release on metacpan or search on metacpan
lib/Config/Model/models/Systemd/Section/Socket.pl view on Meta::CPAN
details) to listen on. This expects an absolute file system path as argument. Behavior otherwise is
very similar to the C<ListenDatagram> directive above.',
'ListenMessageQueue' => 'Specifies a POSIX message queue name to listen on (see L<mq_overview(7)>
for details). This expects a valid message queue name (i.e. beginning with
C</>). Behavior otherwise is very similar to the C<ListenFIFO>
directive above. On Linux message queue descriptors are actually file descriptors and can be
inherited between processes.',
'ListenNetlink' => 'Specifies a Netlink family to create a socket
for to listen on. This expects a short string referring to the
C<AF_NETLINK> family name (such as
C<audit> or C<kobject-uevent>)
as argument, optionally suffixed by a whitespace followed by a
multicast group integer. Behavior otherwise is very similar to
the C<ListenDatagram> directive
above.',
'ListenSequentialPacket' => '*ListenDatagram',
'ListenSpecial' => 'Specifies a special file in the file system to
listen on. This expects an absolute file system path as
argument. Behavior otherwise is very similar to the
C<ListenFIFO> directive above. Use this to
open character device nodes as well as special files in
C</proc/> and
C</sys/>.',
'ListenStream' => '*ListenDatagram',
'ListenUSBFunction' => 'Specifies a L<USB
FunctionFS|https://docs.kernel.org/usb/functionfs.html> endpoints location to listen on, for
implementation of USB gadget functions. This expects an
absolute file system path of a FunctionFS mount point as the argument.
Behavior otherwise is very similar to the C<ListenFIFO>
directive above. Use this to open the FunctionFS endpoint
C<ep0>. When using this option, the
activated service has to have the
C<USBFunctionDescriptors> and
C<USBFunctionStrings> options set.
',
'Mark' => 'Takes an integer value. Controls the firewall mark of packets generated by this
socket. This can be used in the firewall logic to filter packets from this socket. This sets the
C<SO_MARK> socket option. See L<iptables(8)> for
details.',
'MaxConnections' => 'The maximum number of connections to simultaneously run services instances for, when
C<Accept=yes> is set. If more concurrent connections are coming in, they will be refused
until at least one existing connection is terminated. This setting has no effect on sockets configured
with C<Accept=no> or datagram sockets. Defaults to 64.',
'MaxConnectionsPerSource' => 'The maximum number of connections for a service per source IP address (in case of
IPv4/IPv6), per source CID (in case of C<AF_VSOCK>), or source UID (in case of
C<AF_UNIX>). This is very similar to the C<MaxConnections>
directive above. Defaults to 0, i.e. disabled.',
'MessageQueueMaxMessages' => 'These two settings take integer values and
control the mq_maxmsg field or the mq_msgsize field,
respectively, when creating the message queue. Note that
either none or both of these variables need to be set. See
L<mq_setattr(3)>
for details.',
'NoDelay' => 'Takes a boolean argument. TCP Nagle\'s
algorithm works by combining a number of small outgoing
messages, and sending them all at once. This controls the
TCP_NODELAY socket option (see
L<tcp(7)>).
Defaults to C<false>.',
'PassCredentials' => 'Takes a boolean value. This controls the C<SO_PASSCRED> socket
option, which allows C<AF_UNIX> sockets to receive the credentials of the sending
process in an ancillary message. Defaults to C<false>.',
'PassFileDescriptorsToExec' => 'Takes a boolean argument. Defaults to off. If enabled, file descriptors created by
the socket unit are passed to C<ExecStartPost>, C<ExecStopPre>, and
C<ExecStopPost> commands from the socket unit. The passed file descriptors can be
accessed with
L<sd_listen_fds(3)> as
if the commands were invoked from the associated service units. Note that
C<ExecStartPre> command cannot access socket file descriptors.',
'PassPIDFD' => 'Takes a boolean value. This controls the C<SO_PASSPIDFD> socket
option, which allows C<AF_UNIX> sockets to receive the pidfd of the sending
process in an ancillary message. Defaults to C<false>.',
'PassPacketInfo' => 'Takes a boolean value. This controls the C<IP_PKTINFO>,
C<IPV6_RECVPKTINFO>, C<NETLINK_PKTINFO> or
C<PACKET_AUXDATA> socket options, which enable reception of additional per-packet
metadata as ancillary message, on C<AF_INET>, C<AF_INET6>,
C<AF_UNIX> and C<AF_PACKET> sockets. Defaults to
C<false>.',
'PassSecurity' => 'Takes a boolean value. This controls the C<SO_PASSSEC> socket
option, which allows C<AF_UNIX> sockets to receive the security context of the
sending process in an ancillary message. Defaults to C<false>.',
'PipeSize' => 'Takes a size in bytes. Controls the pipe
buffer size of FIFOs configured in this socket unit. See
L<fcntl(2)>
for details. The usual suffixes K, M, G are supported and are
understood to the base of 1024.',
'PollLimitBurst' => 'Configures a limit on how often polling events on the file descriptors backing this
socket unit will be considered. This pair of settings is similar to
C<TriggerLimitIntervalSec>/C<TriggerLimitBurst> but instead of
putting a (fatal) limit on the activation frequency puts a (transient) limit on the polling
frequency. The expected parameter syntax and range are identical to that of the aforementioned
options, and can be disabled the same way.
If the polling limit is hit polling is temporarily disabled on it until the specified time
window passes. The polling limit hence slows down connection attempts if hit, but unlike the trigger
limit will not cause permanent failures. It\'s the recommended mechanism to deal with DoS attempts
through packet flooding.
The polling limit is enforced per file descriptor to listen on, as opposed to the trigger limit
which is enforced for the entire socket unit. This distinction matters for socket units that listen
on multiple file descriptors (i.e. have multiple C<ListenXYZ> stanzas).
These setting defaults to 150 (in case of C<Accept=yes>) and 15 (otherwise)
polling events per 2s. This is considerably lower than the default values for the trigger limit (see
above) and means that the polling limit should typically ensure the trigger limit is never hit,
unless one of them is reconfigured or disabled.',
'PollLimitIntervalSec' => '*PollLimitBurst',
'Priority' => 'Takes an integer argument controlling the priority for all traffic sent from this
socket. This controls the C<SO_PRIORITY> socket option (see L<socket(7)> for
details.).',
'ReceiveBuffer' => 'Takes an integer argument controlling the receive or send buffer sizes of this
socket, respectively. This controls the C<SO_RCVBUF> and
C<SO_SNDBUF> socket options (see L<socket(7)> for
details.). The usual suffixes K, M, G are supported and are understood to the base of
1024.',
'RemoveOnStop' => 'Takes a boolean argument. If enabled, any file nodes created by this socket unit are
removed when it is stopped. This applies to C<AF_UNIX> sockets in the file system,
POSIX message queues, FIFOs, as well as any symlinks to them configured with
C<Symlinks>. Normally, it should not be necessary to use this option, and is not
recommended as services might continue to run after the socket unit has been terminated and it should
still be possible to communicate with them via their file system node. Defaults to
( run in 0.519 second using v1.01-cache-2.11-cpan-f4a522933cf )