Skip to content
Snippets Groups Projects
Commit 956546ac authored by Brandon Heller's avatar Brandon Heller
Browse files

Change port base from 0 to 1

OpenFlow versions > v0.9 require this.

Only tested w/FatTree topo - it's almost a guarantee that this breaks
every other topology.
parent e9d4482e
No related branches found
No related tags found
No related merge requests found
......@@ -52,6 +52,9 @@
from mininet.util import quietRun, makeIntfPair, moveIntf, isShellBuiltin
from mininet.moduledeps import moduleDeps, OVS_KMOD, OF_KMOD, TUN
PORT_BASE = 1 # Port numbering to start from. OF > v0.9 is 1-indexed.
class Node( object ):
"""A virtual network node is simply a shell in a network namespace.
We communicate with it using pipes."""
......@@ -258,7 +261,7 @@ def newPort( self ):
"Return the next port number to allocate."
if len( self.ports ) > 0:
return max( self.ports.values() ) + 1
return 0
return PORT_BASE
def addIntf( self, intf, port=None ):
"""Add an interface.
......@@ -544,8 +547,9 @@ def start( self, controllers ):
mac_str = ' --datapath-id=0000' + \
''.join( self.defaultMAC.split( ':' ) ) + ' '
ports = sorted( self.ports.values() )
if len( ports ) != ports[ -1 ] + 1:
raise Exception( 'only contiguous, zero-indexed port ranges'
print ports
if len( ports ) != ports[ -1 ]:
raise Exception( 'only contiguous, one-indexed port ranges '
'supported: %s' % self.intfs )
intfs = [ self.intfs[ port ] for port in ports ]
self.cmd( 'ovs-dpctl', 'add-if', self.dp, ' '.join( intfs ) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment