From 2cb8062719280b9695b3e50c6cfa7c6997309bbc Mon Sep 17 00:00:00 2001
From: Jernej Jakob <jernej.jakob@gmail.com>
Date: Fri, 1 May 2020 20:05:17 +0200
Subject: wirelessmodem: T2241: make VRF and bond/bridge membership mutually
 exclusive

---
 src/conf_mode/interfaces-wirelessmodem.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/conf_mode/interfaces-wirelessmodem.py b/src/conf_mode/interfaces-wirelessmodem.py
index 03832f345..2e25c33a9 100755
--- a/src/conf_mode/interfaces-wirelessmodem.py
+++ b/src/conf_mode/interfaces-wirelessmodem.py
@@ -134,9 +134,15 @@ def verify(wwan):
     if not os.path.exists(f"/dev/{wwan['device']}"):
         raise ConfigError(f"Device {wwan['device']} does not exist")
 
-    vrf_name = wwan['vrf']
-    if vrf_name and vrf_name not in interfaces():
-        raise ConfigError(f'VRF {vrf_name} does not exist')
+    if wwan['vrf']:
+        if wwan['vrf'] not in interfaces():
+            raise ConfigError(f'VRF "{wwan["vrf"]}" does not exist')
+
+        if wwan['is_bridge_member']:
+            raise ConfigError((
+                f'Interface "{wwan["intf"]}" cannot be member of VRF '
+                f'"{wwan["vrf"]}" and bridge {wwan["is_bridge_member"]} '
+                f'at the same time!'))
 
     return None
 
-- 
cgit v1.2.3