summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--python/vyos/ifconfig.py38
-rwxr-xr-xsrc/conf_mode/interface-wireguard.py2
-rwxr-xr-xsrc/conf_mode/snmp.py2
3 files changed, 24 insertions, 18 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):
diff --git a/src/conf_mode/interface-wireguard.py b/src/conf_mode/interface-wireguard.py
index 0dcce6b1c..7a684bafa 100755
--- a/src/conf_mode/interface-wireguard.py
+++ b/src/conf_mode/interface-wireguard.py
@@ -190,6 +190,8 @@ def verify(c):
raise ConfigError("ERROR: allowed-ips required for peer " + p)
if not c['peer'][p]['pubkey']:
raise ConfigError("peer pubkey required for peer " + p)
+ if not c['peer'][p]['endpoint']:
+ raise ConfigError("peer endpoint required for peer " + p)
def apply(c):
diff --git a/src/conf_mode/snmp.py b/src/conf_mode/snmp.py
index 0ddab2129..60e4c343d 100755
--- a/src/conf_mode/snmp.py
+++ b/src/conf_mode/snmp.py
@@ -224,7 +224,7 @@ init_config_tmpl = """
SNMPDRUN=yes
# snmpd options (use syslog, close stdin/out/err).
-SNMPDOPTS='-LSed -u snmp -g snmp -p /run/snmpd.pid'
+SNMPDOPTS='-LSed -u snmp -g snmp -I -ipCidrRouteTable, inetCidrRouteTable -p /run/snmpd.pid'
"""
default_config_data = {