summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorhagbard <vyosdev@derith.de>2019-10-11 11:48:33 -0700
committerhagbard <vyosdev@derith.de>2019-10-11 11:48:33 -0700
commitc5ae327c93c06639bd6bca725e130703d57480d9 (patch)
treed349b5a1463e46b7b5967519ebf84df66c36ed45 /python
parent9b5867b7345e14cd7b738b51ae5b17a524e461f5 (diff)
parentb8996f98127699d14626f254a27d26b9f5748b70 (diff)
downloadvyos-1x-c5ae327c93c06639bd6bca725e130703d57480d9.tar.gz
vyos-1x-c5ae327c93c06639bd6bca725e130703d57480d9.zip
Merge branch 'current' into equuleus
Diffstat (limited to 'python')
-rw-r--r--python/vyos/ifconfig.py38
1 files changed, 21 insertions, 17 deletions
diff --git a/python/vyos/ifconfig.py b/python/vyos/ifconfig.py
index 23e66c089..cc214908a 100644
--- a/python/vyos/ifconfig.py
+++ b/python/vyos/ifconfig.py
@@ -71,6 +71,7 @@ class Interface:
>>> i = Interface('eth0')
"""
self._ifname = str(ifname)
+ self._statechange_wait = True
if not os.path.exists('/sys/class/net/{}'.format(ifname)) and not type:
raise Exception('interface "{}" not found'.format(self._ifname))
@@ -314,17 +315,18 @@ class Interface:
cmd = 'ip link set dev {} {}'.format(self._ifname, state)
tmp = self._cmd(cmd)
- # better safe then sorry - wait until the interface is really up
- # but only for a given period of time to avoid potential deadlocks!
- cnt = 0
- while self.get_state() != state:
- cnt += 1
- if cnt == 50:
- print('Interface {} could not be brought up in time ...'.format(self._ifname))
- break
+ if self._statechange_wait:
+ # better safe then sorry - wait until the interface is really up
+ # but only for a given period of time to avoid potential deadlocks!
+ cnt = 0
+ while self.get_state() != state:
+ cnt += 1
+ if cnt == 50:
+ print('Interface {} could not be brought up in time ...'.format(self._ifname))
+ break
- # sleep 250ms
- sleep(0.250)
+ # sleep 250ms
+ sleep(0.250)
return tmp
@@ -1370,15 +1372,17 @@ class WireGuardIf(Interface):
def __init__(self, ifname):
super().__init__(ifname, type='wireguard')
+ self._statechange_wait = False
+
self.config = {
'port': 0,
- 'private-key': None,
- 'pubkey': None,
- 'psk': '/dev/null',
- 'allowed-ips': [],
- 'fwmark': 0x00,
- 'endpoint': None,
- 'keepalive': 0
+ 'private-key': None,
+ 'pubkey': None,
+ 'psk': '/dev/null',
+ 'allowed-ips': [],
+ 'fwmark': 0x00,
+ 'endpoint': None,
+ 'keepalive': 0
}
def update(self):