summaryrefslogtreecommitdiff
path: root/python/vyos/configdict.py
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-08-04 20:13:29 +0200
committerChristian Breunig <christian@breunig.cc>2023-08-04 20:13:29 +0200
commit782e400d6f276a8a4ee51c92f02e01e7695f55fb (patch)
tree437c5311d9a3f64d9f10c2c582ceeed9dc8b82de /python/vyos/configdict.py
parent292b064d743522d11179bd3cd91a08731380f3a9 (diff)
downloadvyos-1x-782e400d6f276a8a4ee51c92f02e01e7695f55fb.tar.gz
vyos-1x-782e400d6f276a8a4ee51c92f02e01e7695f55fb.zip
dhcp: T5428: client renewal fails when running inside VRF
vyos@vyos# run show vrf MGMT processes 2282 sshd There is no dhclient process running in given VRF. dhclient complains it can not send out packets via the given interface (as it's not bound to that VRF) Aug 02 20:29:54 dhclient[1686]: send_packet: Network is unreachable Aug 02 20:29:54 dhclient[1686]: send_packet: please consult README file regarding broadcast address. Aug 02 20:29:54 dhclient[1686]: dhclient.c:3001: Failed to send 300 byte long packet over fallback interface.
Diffstat (limited to 'python/vyos/configdict.py')
-rw-r--r--python/vyos/configdict.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py
index f642d38f2..fd7b1b997 100644
--- a/python/vyos/configdict.py
+++ b/python/vyos/configdict.py
@@ -455,6 +455,10 @@ def get_interface_dict(config, base, ifname='', recursive_defaults=True):
dhcp = is_node_changed(config, base + [ifname, 'dhcp-options'])
if dhcp: dict.update({'dhcp_options_changed' : {}})
+ # Changine interface VRF assignemnts require a DHCP restart, too
+ dhcp = is_node_changed(config, base + [ifname, 'vrf'])
+ if dhcp: dict.update({'dhcp_options_changed' : {}})
+
# Some interfaces come with a source_interface which must also not be part
# of any other bond or bridge interface as it is exclusivly assigned as the
# Kernels "lower" interface to this new "virtual/upper" interface.