From 196b911288b057fe6788a84f850babde5022714d Mon Sep 17 00:00:00 2001
From: Vjaceslavs Klimovs <vklimovs@gmail.com>
Date: Fri, 9 Oct 2026 18:01:52 -0700
Subject: [PATCH] link: fix crash on a missing link with inherited vlan or
 macsec address

---
 src/libifstate/link/macsec.py | 4 ++++
 src/libifstate/link/vlan.py   | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/libifstate/link/macsec.py b/src/libifstate/link/macsec.py
index ac362b9..6e494a5 100644
--- a/src/libifstate/link/macsec.py
+++ b/src/libifstate/link/macsec.py
@@ -26,6 +26,10 @@ class MacsecLink(Link):
         if "link_netnsid" in self.settings:
             return None
 
+        # the link was not found
+        if "link" not in self.settings:
+            return None
+
         link_item = self.ifstate.link_registry.get_link(
             index=self.settings["link"], netns=self.netns.netns
         )
diff --git a/src/libifstate/link/vlan.py b/src/libifstate/link/vlan.py
index abe997e..348910c 100644
--- a/src/libifstate/link/vlan.py
+++ b/src/libifstate/link/vlan.py
@@ -75,6 +75,10 @@ class VlanLink(Link):
             if "link_netnsid" in self.settings:
                 return None
 
+            # the link was not found
+            if "link" not in self.settings:
+                return None
+
             link_item = self.ifstate.link_registry.get_link(
                 index=self.settings["link"], netns=self.netns.netns
             )
-- 
2.55.0

