From e45648cdd5a52569be7f3ac30473b0c7474a7894 Mon Sep 17 00:00:00 2001 From: hagbard Date: Thu, 10 Oct 2019 08:04:36 -0700 Subject: snmpd: T1705 - High CPU usage by bgpd when snmp is active --- src/conf_mode/snmp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 = { -- cgit v1.2.3 From f5c04661e6c031baedb6092ecafee501cca7bc28 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 11 Oct 2019 07:55:16 +0200 Subject: Python/ifconfig: T1723: add flag to specify if we should wait for interface up --- python/vyos/ifconfig.py | 38 +++++++++++++++++++++----------------- 1 file 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): -- cgit v1.2.3 From b8996f98127699d14626f254a27d26b9f5748b70 Mon Sep 17 00:00:00 2001 From: hagbard Date: Fri, 11 Oct 2019 08:45:44 -0700 Subject: wireguard: T1724 - add check for option endpoint --- src/conf_mode/interface-wireguard.py | 2 ++ 1 file changed, 2 insertions(+) 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): -- cgit v1.2.3