blob: 3d5a11e86cab85afb112f41aaee4d9b7344c2ae1 [file] [log] [blame]
[Unit]
Description=SRP daemon that monitors port %i
Documentation=man:srp_daemon file:/etc/rdma/rdma.conf file:/etc/srp_daemon.conf
# srp_daemon is required to mount filesystems, and could run before sysinit.target
DefaultDependencies=false
Before=remote-fs-pre.target
# Do not execute concurrently with an ongoing shutdown (required for DefaultDependencies=no)
Conflicts=shutdown.target
Before=shutdown.target
# Ensure required kernel modules are loaded before starting
Requires=rdma-load-modules@srp_daemon.service
After=rdma-load-modules@srp_daemon.service
# Complete setting up low level RDMA hardware
After=rdma-hw.target
# Only run while the RDMA udev device is in an active state, and shutdown if
# it becomes unplugged.
After=sys-subsystem-rdma-devices-%i-umad.device
BindsTo=sys-subsystem-rdma-devices-%i-umad.device
# Allow srp_daemon to act as a leader for all of the port services for
# stop/start/reset
After=srp_daemon.service
BindsTo=srp_daemon.service
[Service]
Type=simple
ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/srp_daemon --systemd -e -c -n -j %I -R 60
MemoryDenyWriteExecute=yes
PrivateNetwork=yes
PrivateTmp=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectKernelModules=yes
ProtectSystem=full
RestrictRealtime=yes
SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io
[Install]
# Instances of this template unit file is started automatically by udev or by
# srp_daemon.service as devices are discovered. However, if the user manually
# enables a template unit then it will be installed with remote-fs-pre. Note
# that systemd will defer starting the unit until the rdma .device appears.
WantedBy=remote-fs-pre.target