From 992d3560369608085eaed41c385d17cbc4566fa5 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 5 Jun 2020 23:13:56 +0200 Subject: 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. --- src/systemd/dhcp6c@.service | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3