From 4550fff1af835a076aca546f7d57a5d6900a62ae Mon Sep 17 00:00:00 2001
From: Darshan Thaker <dbthaker@gmail.com>
Date: Thu, 14 Aug 2014 12:23:50 -0700
Subject: [PATCH] Raise exception when link incorrectly formatted

---
 mininet/link.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/mininet/link.py b/mininet/link.py
index be73d521..747f2bd3 100644
--- a/mininet/link.py
+++ b/mininet/link.py
@@ -279,7 +279,11 @@ def config( self, bw=None, delay=None, jitter=None, loss=None,
             return
 
         # Clear existing configuration
-        cmds = [ '%s qdisc del dev %s root' ]
+        tcoutput = self.tc( '%s qdisc show dev %s' )
+        if "priomap" not in tcoutput:
+            cmds = [ '%s qdisc del dev %s root' ]
+        else:
+            cmds = []
 
         # Bandwidth limits via various methods
         bwcmds, parent = self.bwCmds( bw=bw, speedup=speedup,
@@ -307,6 +311,9 @@ def config( self, bw=None, delay=None, jitter=None, loss=None,
         # Execute all the commands in our node
         debug("at map stage w/cmds: %s\n" % cmds)
         tcoutputs = [ self.tc(cmd) for cmd in cmds ]
+        for output in tcoutputs:
+            if output != '':
+                error( "*** Error: %s" % output )
         debug( "cmds:", cmds, '\n' )
         debug( "outputs:", tcoutputs, '\n' )
         result[ 'tcoutputs'] = tcoutputs
-- 
GitLab