summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-05-29 15:37:46 +0200
committerChristian Poessinger <christian@poessinger.com>2021-05-29 15:37:46 +0200
commit153a1c1d2549632342030fb4f7d41456b4f17fdb (patch)
tree8c0b5bc9ddd060f997b37e7b6b61e1270a982821
parent0593173f6b7002b7d24f44b43eccbd07c71a3d79 (diff)
downloadvyos-1x-153a1c1d2549632342030fb4f7d41456b4f17fdb.tar.gz
vyos-1x-153a1c1d2549632342030fb4f7d41456b4f17fdb.zip
vti: T1579: only remove the interface when it exists
-rwxr-xr-xsrc/conf_mode/interfaces-vti.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/conf_mode/interfaces-vti.py b/src/conf_mode/interfaces-vti.py
index acd4a9790..09fd8f5f9 100755
--- a/src/conf_mode/interfaces-vti.py
+++ b/src/conf_mode/interfaces-vti.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+from netifaces import interfaces
from sys import exit
from vyos.config import Config
@@ -64,9 +65,12 @@ def generate(vti):
return None
def apply(vti):
- tmp = VTIIf(**vti)
- tmp.remove()
+ if vti['ifname'] in interfaces():
+ # Always delete the VTI interface in advance
+ VTIIf(**vti).remove()
+
if 'deleted' not in vti:
+ tmp = VTIIf(**vti)
tmp.update(vti)
return None