From 9770ef24231faa3ee7c9fab7855e04fa3dd57f2f Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Wed, 29 Jun 2022 08:40:57 +0200 Subject: [PATCH] dhcpserver implies static interface for --networkmanager --- src/hostinfo/networkmanager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/hostinfo/networkmanager.py b/src/hostinfo/networkmanager.py index 503146e..5b8f833 100644 --- a/src/hostinfo/networkmanager.py +++ b/src/hostinfo/networkmanager.py @@ -217,6 +217,15 @@ class Network(object): network = Network() +def interface_is_static(i): + if i._static_: + return True + if i._ip_._dhcpserver_: + return True + if i._ipv6_._dhcpserver_: + return True + return False + def ipv6_dhcp_duid(interface): duid = set([interface.nm_ipv6_dhcp_duid[0:]]) for ipv6 in interface._ipv6_: @@ -264,7 +273,7 @@ def update_settings(settings, update): def configure_networking(connection, interface, settings=None): # Construct ipv4 and ipv6 data to be set on interface update = dict(settings_to_update(settings)) - if not interface._static_: + if not interface_is_static(interface): update['connection', 'zone'] = None update['ipv4', 'method'] = 'auto' update['ipv6', 'method'] = 'auto' -- GitLab