summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2026-02-23 14:37:48 +0200
committerGitHub <noreply@github.com>2026-02-23 14:37:48 +0200
commit662b45c159393aa9451c93b168da415021949857 (patch)
tree23fc7e5dbcaf84c237c9c7c5c0707d76e77742a8 /src
parent61ba7ee632fd2ee8fe58b636087e539da89c6e65 (diff)
parentd73eda6c858af3d266fb1755d566864ad977e7ab (diff)
downloadvyos-1x-662b45c159393aa9451c93b168da415021949857.tar.gz
vyos-1x-662b45c159393aa9451c93b168da415021949857.zip
Merge pull request #5005 from c-po/igmp-proxy
igmp-proxy: T8295: render appropriate systemd unit file
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/protocols_igmp-proxy.py17
-rw-r--r--src/systemd/igmpproxy.service10
2 files changed, 19 insertions, 8 deletions
diff --git a/src/conf_mode/protocols_igmp-proxy.py b/src/conf_mode/protocols_igmp-proxy.py
index c2d2fea5b..7f53882b0 100755
--- a/src/conf_mode/protocols_igmp-proxy.py
+++ b/src/conf_mode/protocols_igmp-proxy.py
@@ -21,6 +21,7 @@ from sys import exit
from vyos.base import Warning
from vyos.config import Config
from vyos.configverify import verify_interface_exists
+from vyos.defaults import config_files
from vyos.template import render
from vyos.utils.process import call
from vyos.utils.dict import dict_search
@@ -28,7 +29,7 @@ from vyos import ConfigError
from vyos import airbag
airbag.enable()
-config_file = r'/etc/igmpproxy.conf'
+config_file = config_files['igmp_proxy']
def get_config(config=None):
if config:
@@ -87,18 +88,18 @@ def generate(igmp_proxy):
return None
render(config_file, 'igmp-proxy/igmpproxy.conf.j2', igmp_proxy)
-
return None
def apply(igmp_proxy):
+ service_name = 'igmpproxy.service'
if not igmp_proxy or 'disable' in igmp_proxy:
- # IGMP Proxy support is removed in the commit
- call('systemctl stop igmpproxy.service')
- if os.path.exists(config_file):
- os.unlink(config_file)
- else:
- call('systemctl restart igmpproxy.service')
+ # IGMP Proxy support is removed in the commit
+ call(f'systemctl stop {service_name}')
+ if os.path.exists(config_file):
+ os.unlink(config_file)
+ return None
+ call(f'systemctl restart {service_name}')
return None
if __name__ == '__main__':
diff --git a/src/systemd/igmpproxy.service b/src/systemd/igmpproxy.service
new file mode 100644
index 000000000..55ab14beb
--- /dev/null
+++ b/src/systemd/igmpproxy.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=IGMP multicast proxy
+After=vyos-router.service
+ConditionPathExists=/run/igmpproxy/igmpproxy.conf
+
+[Service]
+Type=simple
+Restart=on-failure
+RestartSec=10
+ExecStart=/usr/sbin/igmpproxy -n /run/igmpproxy/igmpproxy.conf