summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-08-07 22:53:49 +0200
committerChristian Breunig <christian@breunig.cc>2023-08-07 23:05:12 +0200
commit9afcea251bdc895ffd49cb11f455fd636fdf817b (patch)
tree7565b39062a1f186ea6417ab584604a015a9f47b
parent8ce2d9ffff40bf07c3857cb09f7771435fa5693a (diff)
downloadvyos-1x-9afcea251bdc895ffd49cb11f455fd636fdf817b.tar.gz
vyos-1x-9afcea251bdc895ffd49cb11f455fd636fdf817b.zip
dhcp: T5428: always release lease from default VRF
Otherwise packet can be received in a VRF that was already deleted. Image of the following CLI commands: del interface ethernet eth0 address dhcp del interface ethernet eth0 vrf red del vrf name red VRF could be deleted even if dhclient release was not yet completely processed.
-rw-r--r--data/templates/dhcp-client/override.conf.j22
-rw-r--r--src/systemd/dhclient@.service2
2 files changed, 2 insertions, 2 deletions
diff --git a/data/templates/dhcp-client/override.conf.j2 b/data/templates/dhcp-client/override.conf.j2
index d4d5eb49f..03fd71bf1 100644
--- a/data/templates/dhcp-client/override.conf.j2
+++ b/data/templates/dhcp-client/override.conf.j2
@@ -10,6 +10,6 @@ ConditionPathExists={{ isc_dhclient_dir }}/dhclient_%i.conf
ExecStart=
ExecStart={{ vrf_command }}/sbin/dhclient -4 {{ dhclient_options }} {{ ifname }}
ExecStop=
-ExecStop={{ vrf_command }}/sbin/dhclient -4 {{ dhclient_options }} {{ ifname }} -r
+ExecStop=/sbin/dhclient -4 -r {{ dhclient_options }} {{ ifname }}
WorkingDirectory={{ isc_dhclient_dir }}
PIDFile={{ isc_dhclient_dir }}/dhclient_%i.pid
diff --git a/src/systemd/dhclient@.service b/src/systemd/dhclient@.service
index 6d41de232..099f7ed52 100644
--- a/src/systemd/dhclient@.service
+++ b/src/systemd/dhclient@.service
@@ -7,7 +7,7 @@ After=vyos-router.service
[Service]
Type=exec
ExecStart=/sbin/dhclient -4 -d $DHCLIENT_OPTS
-ExecStop=/sbin/dhclient -4 -d $DHCLIENT_OPTS -r
+ExecStop=/sbin/dhclient -4 -r $DHCLIENT_OPTS
Restart=always
RestartPreventExitStatus=
RestartSec=10