diff --git a/vppcfg/config/loopback.py b/vppcfg/config/loopback.py
index a5f1d2d..4bf6294 100644
--- a/vppcfg/config/loopback.py
+++ b/vppcfg/config/loopback.py
@@ -96,3 +96,14 @@ def validate_loopbacks(yaml):
             result = False
 
     return result, msgs
+
+
+def is_mpls(yaml, ifname):
+    """Returns True if the loopback exists and has mpls enabled. Returns false otherwise."""
+    ifname, iface = get_by_name(yaml, ifname)
+    try:
+        if iface["mpls"] == True:
+            return True
+    except:
+        pass
+    return False
diff --git a/vppcfg/config/test_loopback.py b/vppcfg/config/test_loopback.py
index 9c148c5..7b0345c 100644
--- a/vppcfg/config/test_loopback.py
+++ b/vppcfg/config/test_loopback.py
@@ -50,3 +50,8 @@ class TestLoopbackMethods(unittest.TestCase):
         self.assertIn("loop1", ifs)
         self.assertIn("loop2", ifs)
         self.assertNotIn("loop-noexist", ifs)
+
+    def test_is_mpls(self):
+        self.assertTrue(loopback.is_mpls(self.cfg, "loop1"))
+        self.assertFalse(loopback.is_mpls(self.cfg, "loop2"))
+        self.assertFalse(loopback.is_mpls(self.cfg, "loop-noexist"))
diff --git a/vppcfg/example.yaml b/vppcfg/example.yaml
index 6fb9119..c6126c2 100644
--- a/vppcfg/example.yaml
+++ b/vppcfg/example.yaml
@@ -91,6 +91,7 @@ loopbacks:
     mtu: 1500
     mac: 02:de:ad:11:be:ef
     addresses: [ 10.0.2.1/24, 2001:db8:2::1/64 ]
+    mpls: true
 
 bridgedomains:
   bd1:
diff --git a/vppcfg/schema.yaml b/vppcfg/schema.yaml
index 01168ac..db03950 100644
--- a/vppcfg/schema.yaml
+++ b/vppcfg/schema.yaml
@@ -33,6 +33,7 @@ loopback:
   lcp: str(max=15,matches='[a-z]+[a-z0-9-]*',required=False)
   mtu: int(min=128,max=9216,required=False)
   addresses: list(ip_interface(),min=1,max=6,required=False)
+  mpls: bool(required=False)
 ---
 bondethernet:
   description: str(exclude='\'"',len=64,required=False)
diff --git a/vppcfg/unittest/test_loopback.yaml b/vppcfg/unittest/test_loopback.yaml
index 2030dfb..413fbb6 100644
--- a/vppcfg/unittest/test_loopback.yaml
+++ b/vppcfg/unittest/test_loopback.yaml
@@ -6,6 +6,7 @@ loopbacks:
     mtu: 2000
     lcp: "loop56789012345"
     addresses: [ 192.0.2.1/29, 2001:db8::1/64 ]
+    mpls: true
   loop2:
     description: "Loopback, invalid because it has an address but no LCP"
     mtu: 2000