2021-08-16 18:56:17 +05:30
|
|
|
# The naxalnet systemd service
|
2021-07-26 15:58:50 +05:30
|
|
|
# See man:systemd.service(5) and man:systemd.unit(5)
|
|
|
|
# before editing this file.
|
2021-05-10 15:15:42 +05:30
|
|
|
[Unit]
|
2021-08-16 18:56:17 +05:30
|
|
|
Description=Setup mesh networks
|
2021-06-06 11:25:37 +05:30
|
|
|
Requires=systemd-networkd.service
|
|
|
|
Requires=iwd.service
|
|
|
|
Wants=systemd-resolved.service
|
|
|
|
After=iwd.service
|
|
|
|
# Stops NetworkManager and wpa_supplicant if already running
|
|
|
|
Conflicts=NetworkManager.service
|
|
|
|
Conflicts=wpa_supplicant.service
|
|
|
|
After=NetworkManager.service
|
|
|
|
After=wpa_supplicant.service
|
2021-05-10 15:15:42 +05:30
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
RemainAfterExit=yes
|
2021-06-10 09:15:58 +05:30
|
|
|
Restart=on-failure
|
2021-07-26 15:58:50 +05:30
|
|
|
RestartSec=2sec
|
2021-06-15 14:00:48 +05:30
|
|
|
# IWD takes some time to find devices.
|
2021-08-15 15:02:28 +05:30
|
|
|
# If naxalnet is run before iwd finds devices,
|
2021-08-16 18:56:17 +05:30
|
|
|
# naxalnet cannot start a mesh network but exits without errors.
|
2021-08-15 15:02:28 +05:30
|
|
|
# TODO: Remove this line when naxalnet becomes a daemon.
|
2021-07-26 15:58:50 +05:30
|
|
|
ExecStartPre=/usr/bin/sleep 2
|
2021-05-22 15:14:16 +05:30
|
|
|
ExecStart=/usr/bin/naxalnet
|
2021-08-16 18:56:17 +05:30
|
|
|
# Reload systemd-networkd after naxalnet exits
|
|
|
|
ExecStartPost=/usr/bin/systemctl reload-or-restart systemd-networkd.service
|
|
|
|
# Delete the interfaces created
|
|
|
|
ExecStopPost=/usr/bin/networkctl delete bridge0 bat0
|
|
|
|
# Make python flush messages the moment print() is called.
|
|
|
|
# Without this env variable, python stores output in a
|
|
|
|
# buffer before flushing to stdout. But this is not needed
|
|
|
|
# when naxalnet runs as a systemd service.
|
|
|
|
Environment=PYTHONUNBUFFERED=1
|
2021-05-10 15:15:42 +05:30
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|