diff options
-rw-r--r-- | python/vyos/ifconfig.py | 38 | ||||
-rwxr-xr-x | src/conf_mode/interface-wireguard.py | 2 | ||||
-rwxr-xr-x | src/conf_mode/snmp.py | 2 |
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 = { |