diff --git a/tools/test/topos/geant.py b/tools/test/topos/geant.py
index e2e6fb7..6eedd29 100644
--- a/tools/test/topos/geant.py
+++ b/tools/test/topos/geant.py
@@ -15,6 +15,11 @@
 class GeantMplsTopo( Topo ):
     "Internet Topology Zoo Specimen."
 
+    def addSwitch( self, name, **opts ):
+        kwargs = { 'protocols' : 'OpenFlow13' }
+        kwargs.update( opts )
+        return super(GeantMplsTopo, self).addSwitch( name, **kwargs )
+
     def __init__( self ):
         "Create a topology."
 
@@ -23,14 +28,14 @@
 
         # add nodes, switches first...
         ATH = self.addSwitch( 's1' )
-        LIS = self.addSwitch( 's2', protocols='OpenFlow13' )
+        LIS = self.addSwitch( 's2' )
         LON = self.addSwitch( 's3' )
         BRU = self.addSwitch( 's4' )
         PAR = self.addSwitch( 's5' )
         DUB = self.addSwitch( 's6' )
         MAD = self.addSwitch( 's7' )
         GEN = self.addSwitch( 's8' )
-        MIL = self.addSwitch( 's9', protocols='OpenFlow13' )
+        MIL = self.addSwitch( 's9' )
         SOF = self.addSwitch( 's10' )
         BUC = self.addSwitch( 's11' )
         VIE = self.addSwitch( 's12' )
@@ -43,7 +48,7 @@
         PRA = self.addSwitch( 's19' )
         BRA = self.addSwitch( 's20' )
         ZAG = self.addSwitch( 's21' )
-        LJU = self.addSwitch( 's22', protocols='OpenFlow13' )
+        LJU = self.addSwitch( 's22' )
         BUD = self.addSwitch( 's23' )
         MLT = self.addSwitch( 's24' )
         LUX = self.addSwitch( 's25' )
@@ -122,62 +127,62 @@
         self.addLink( HEL , HEL_host )
 
         # add edges between switches
-        self.addLink( ATH , MIL, bw=10 )
-        self.addLink( MIL , ATH, bw=10 )
-        self.addLink( MIL , VIE, bw=10 )
-        self.addLink( MIL , MAR, bw=10 )
-        self.addLink( MIL , GEN, bw=10 )
-        self.addLink( GEN , MIL, bw=10 )
-        self.addLink( MIL , MLT, bw=10 )
-        self.addLink( GEN , FRA, bw=10 )
-        self.addLink( FRA , GEN, bw=10 )
-        self.addLink( GEN , PAR, bw=10 )
-        self.addLink( PAR , GEN, bw=10 )
-        self.addLink( GEN , PAR, bw=10 )
-        self.addLink( FRA , POZ, bw=10 )
-        self.addLink( GEN , MAR, bw=10 )
-        self.addLink( MAR , MAD, bw=10 )
-        self.addLink( MAD , PAR, bw=10 )
-        self.addLink( MAD , LIS, bw=10 )
-        self.addLink( LIS , LON, bw=10 )
-        self.addLink( LON , LIS, bw=10 )
-        self.addLink( LON , PAR, bw=10 )
-        self.addLink( LON , DUB, bw=10 )
-        self.addLink( DUB , LON, bw=10 )
-        self.addLink( LON , BRU, bw=10 )
-        self.addLink( BRU , AMS, bw=10 )
-        self.addLink( AMS , LUX, bw=10 )
-        self.addLink( LUX , FRA, bw=10 )
-        self.addLink( AMS , HAM, bw=10 )
-        self.addLink( HAM , FRA, bw=10 )
-        self.addLink( HAM , COP, bw=10 )
-        self.addLink( COP , AMS, bw=10 )
-        self.addLink( FRA , POZ, bw=10 )
-        self.addLink( FRA , PRA, bw=10 )
-        self.addLink( FRA , BUD, bw=10 )
-        self.addLink( FRA , VIE, bw=10 )
-        self.addLink( POZ , PRA, bw=10 )
-        self.addLink( POZ , KAU, bw=10 )
-        self.addLink( KAU , RIG, bw=10 )
-        self.addLink( ZAG , VIE, bw=10 )
-        self.addLink( ZAG , BUD, bw=10 )
-        self.addLink( BUD , PRA, bw=10 )
-        self.addLink( BUD , BRA, bw=10 )
-        self.addLink( BUD , BUC, bw=10 )
-        self.addLink( BUD , SOF, bw=10 )
-        self.addLink( BUD , LJU, bw=10 )
-        self.addLink( BUC , SOF, bw=10 )
-        self.addLink( BUC , VIE, bw=10 )
-        self.addLink( VIE , BRA, bw=10 )
-        self.addLink( RIG , TLN, bw=10 )
-        self.addLink( TLN , HAM, bw=10 )
-        self.addLink( OSL , STO, bw=10 )
-        self.addLink( STO , HEL, bw=10 )
-        self.addLink( STO , COP, bw=10 )
-        self.addLink( OSL , COP, bw=10 )
-        self.addLink( TLN , HEL, bw=10 )
+        self.addLink( ATH , MIL )
+        self.addLink( MIL , ATH )
+        self.addLink( MIL , VIE )
+        self.addLink( MIL , MAR )
+        self.addLink( MIL , GEN )
+        self.addLink( GEN , MIL )
+        self.addLink( MIL , MLT )
+        self.addLink( GEN , FRA )
+        self.addLink( FRA , GEN )
+        self.addLink( GEN , PAR )
+        self.addLink( PAR , GEN )
+        self.addLink( GEN , PAR )
+        self.addLink( FRA , POZ )
+        self.addLink( GEN , MAR )
+        self.addLink( MAR , MAD )
+        self.addLink( MAD , PAR )
+        self.addLink( MAD , LIS )
+        self.addLink( LIS , LON )
+        self.addLink( LON , LIS )
+        self.addLink( LON , PAR )
+        self.addLink( LON , DUB )
+        self.addLink( DUB , LON )
+        self.addLink( LON , BRU )
+        self.addLink( BRU , AMS )
+        self.addLink( AMS , LUX )
+        self.addLink( LUX , FRA )
+        self.addLink( AMS , HAM )
+        self.addLink( HAM , FRA )
+        self.addLink( HAM , COP )
+        self.addLink( COP , AMS )
+        self.addLink( FRA , POZ )
+        self.addLink( FRA , PRA )
+        self.addLink( FRA , BUD )
+        self.addLink( FRA , VIE )
+        self.addLink( POZ , PRA )
+        self.addLink( POZ , KAU )
+        self.addLink( KAU , RIG )
+        self.addLink( ZAG , VIE )
+        self.addLink( ZAG , BUD )
+        self.addLink( BUD , PRA )
+        self.addLink( BUD , BRA )
+        self.addLink( BUD , BUC )
+        self.addLink( BUD , SOF )
+        self.addLink( BUD , LJU )
+        self.addLink( BUC , SOF )
+        self.addLink( BUC , VIE )
+        self.addLink( VIE , BRA )
+        self.addLink( RIG , TLN )
+        self.addLink( TLN , HAM )
+        self.addLink( OSL , STO )
+        self.addLink( STO , HEL )
+        self.addLink( STO , COP )
+        self.addLink( OSL , COP )
+        self.addLink( TLN , HEL )
 
-topos = { 'att': ( lambda: GeantMplsTopo() ) }
+topos = { 'geant': ( lambda: GeantMplsTopo() ) }
 
 if __name__ == '__main__':
     from onosnet import run
