From 76fe726e3530158ee175d34b9cb74209ccca2345 Mon Sep 17 00:00:00 2001
From: hagbard <vyosdev@derith.de>
Date: Sun, 6 Jan 2019 16:04:52 -0800
Subject: Fix: T1162 - WireGuard: Unable to modify tunnels - KeyError: 'state'

---
 src/conf_mode/wireguard.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

(limited to 'src/conf_mode')

diff --git a/src/conf_mode/wireguard.py b/src/conf_mode/wireguard.py
index f5452579e..c88e9085a 100755
--- a/src/conf_mode/wireguard.py
+++ b/src/conf_mode/wireguard.py
@@ -124,7 +124,6 @@ def get_config():
           if c.exists(cnf + ' peer ' + p + ' preshared-key'):
             config_data['interfaces'][intfc]['peer'][p]['psk'] = c.return_value(cnf + ' peer ' + p + ' preshared-key')
   
-
   return config_data
 
 def verify(c):
@@ -166,12 +165,13 @@ def apply(c):
   ### link status up/down aka interface disable
 
   for intf in c['interfaces']:
-    if c['interfaces'][intf]['state'] == 'disable':
-      sl.syslog(sl.LOG_NOTICE, "disable interface " + intf)
-      subprocess.call(['ip l s dev ' + intf + ' down ' + ' &>/dev/null'], shell=True)
-    else:
-      sl.syslog(sl.LOG_NOTICE, "enable interface " + intf)
-      subprocess.call(['ip l s dev ' + intf + ' up ' + ' &>/dev/null'], shell=True)
+    if not c['interfaces'][intf]['status'] == 'delete':
+      if c['interfaces'][intf]['state'] == 'disable':
+        sl.syslog(sl.LOG_NOTICE, "disable interface " + intf)
+        subprocess.call(['ip l s dev ' + intf + ' down ' + ' &>/dev/null'], shell=True)
+      else:
+        sl.syslog(sl.LOG_NOTICE, "enable interface " + intf)
+        subprocess.call(['ip l s dev ' + intf + ' up ' + ' &>/dev/null'], shell=True)
 
   ### deletion of a specific interface
   for intf in c['interfaces']:
-- 
cgit v1.2.3