summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-06-05 23:13:56 +0200
committerChristian Poessinger <christian@poessinger.com>2020-06-05 23:13:56 +0200
commit992d3560369608085eaed41c385d17cbc4566fa5 (patch)
tree2daf914bf365ea98e97b19cfe88c8fe1590ef404
parente1aab88d15f0edb6e95c61851fbdb2d72b664aae (diff)
downloadvyos-1x-992d3560369608085eaed41c385d17cbc4566fa5.tar.gz
vyos-1x-992d3560369608085eaed41c385d17cbc4566fa5.zip
dhcpv6-pd: T421: workaround for non existing interfaces
When DHCPv6-PD is configured to delegate a prefix to a non existing interface, it is restarted (systemd default) but will then hit the restart rate-limit which disables the service entirely. As VyOS currently has no "hook" to be called once an interface goes online we need this "try and error" approach until there is a way to deal with it. This behavior can be reproduced when delegating an IPv6 prefix to a bridge interface as a bridge interface will always be started after all interfaces have been configured. We will now restart dhcp6c as long as the requested interface is online.
-rw-r--r--src/systemd/dhcp6c@.service4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/systemd/dhcp6c@.service b/src/systemd/dhcp6c@.service
index 1a4175461..e110eccc1 100644
--- a/src/systemd/dhcp6c@.service
+++ b/src/systemd/dhcp6c@.service
@@ -10,7 +10,9 @@ Type=forking
PIDFile=/run/dhcp6c/dhcp6c.%i.pid
ExecStart=/usr/sbin/dhcp6c -D -k /run/dhcp6c/dhcp6c.%i.sock -c /run/dhcp6c/dhcp6c.%i.conf -p /run/dhcp6c/dhcp6c.%i.pid %i
-Restart=always
+Restart=on-failure
+StartLimitIntervalSec=0
+RestartSec=20
[Install]
WantedBy=multi-user.target