diff options
author | Brandon Stepler <brandon@stepler.net> | 2021-02-15 10:30:00 -0500 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-03-19 19:41:09 +0100 |
commit | ff6afe62e801e570f6478decf2b4a813a5c0ee94 (patch) | |
tree | 2ba8221481e0460ea710f3bfe86c83196d2adeee /python | |
parent | 74f526c9c1fe782c604d2b88c1753d787dc696b4 (diff) | |
download | vyos-1x-ff6afe62e801e570f6478decf2b4a813a5c0ee94.tar.gz vyos-1x-ff6afe62e801e570f6478decf2b4a813a5c0ee94.zip |
dhcp: T3300: add DHCP default route distance
(cherry picked from commit dd2eb5e5686655c996ae95285b8ad7eb73d63d0b)
Diffstat (limited to 'python')
-rw-r--r-- | python/vyos/ifconfig/interface.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/python/vyos/ifconfig/interface.py b/python/vyos/ifconfig/interface.py index 7a63c68d7..86fdba661 100644 --- a/python/vyos/ifconfig/interface.py +++ b/python/vyos/ifconfig/interface.py @@ -958,6 +958,9 @@ class Interface(Control): pid_file = f'{config_base}_{ifname}.pid' lease_file = f'{config_base}_{ifname}.leases' + # Stop client with old config files to get the right IF_METRIC. + self._cmd(f'systemctl stop dhclient@{ifname}.service') + if enable and 'disable' not in self._config: if dict_search('dhcp_options.host_name', self._config) == None: # read configured system hostname. @@ -976,10 +979,8 @@ class Interface(Control): # 'up' check is mandatory b/c even if the interface is A/D, as soon as # the DHCP client is started the interface will be placed in u/u state. # This is not what we intended to do when disabling an interface. - return self._cmd(f'systemctl restart dhclient@{ifname}.service') + return self._cmd(f'systemctl start dhclient@{ifname}.service') else: - self._cmd(f'systemctl stop dhclient@{ifname}.service') - # cleanup old config files for file in [config_file, options_file, pid_file, lease_file]: if os.path.isfile(file): |