Merge branch 'master' of github.com:mininet/mininet
This commit is contained in:
+7
-8
@@ -13,7 +13,7 @@ setup for testing, and can even be emulated with the Mininet package.
|
|||||||
|
|
||||||
from mininet.util import irange, natural, naturalSeq
|
from mininet.util import irange, natural, naturalSeq
|
||||||
|
|
||||||
class Graph( object ):
|
class MultiGraph( object ):
|
||||||
"Utility class to track nodes and edges - replaces networkx.Graph"
|
"Utility class to track nodes and edges - replaces networkx.Graph"
|
||||||
|
|
||||||
def __init__( self ):
|
def __init__( self ):
|
||||||
@@ -21,15 +21,14 @@ class Graph( object ):
|
|||||||
|
|
||||||
def add_node( self, node ):
|
def add_node( self, node ):
|
||||||
"Add node to graph"
|
"Add node to graph"
|
||||||
if node not in self.data.keys():
|
self.data.setdefault( node, [] )
|
||||||
self.data[ node ] = []
|
|
||||||
|
|
||||||
def add_edge( self, src, dest ):
|
def add_edge( self, src, dest ):
|
||||||
"Add edge to graph"
|
"Add edge to graph"
|
||||||
|
src, dest = sorted( ( src, dest ) )
|
||||||
self.add_node( src )
|
self.add_node( src )
|
||||||
self.add_node( dest )
|
self.add_node( dest )
|
||||||
self.data[ src ].append( dest )
|
self.data[ src ].append( dest )
|
||||||
self.data[ dest ].append( src )
|
|
||||||
|
|
||||||
def nodes( self ):
|
def nodes( self ):
|
||||||
"Return list of graph nodes"
|
"Return list of graph nodes"
|
||||||
@@ -54,7 +53,7 @@ class Topo(object):
|
|||||||
hinfo: default host options
|
hinfo: default host options
|
||||||
sopts: default switch options
|
sopts: default switch options
|
||||||
lopts: default link options"""
|
lopts: default link options"""
|
||||||
self.g = Graph()
|
self.g = MultiGraph()
|
||||||
self.node_info = {}
|
self.node_info = {}
|
||||||
self.link_info = {} # (src, dst) tuples hash to EdgeInfo objects
|
self.link_info = {} # (src, dst) tuples hash to EdgeInfo objects
|
||||||
self.hopts = {} if hopts is None else hopts
|
self.hopts = {} if hopts is None else hopts
|
||||||
@@ -256,9 +255,9 @@ class LinearTopo(Topo):
|
|||||||
switch = self.addSwitch('s%s' % i)
|
switch = self.addSwitch('s%s' % i)
|
||||||
# Add hosts to switch
|
# Add hosts to switch
|
||||||
for j in irange(1, n):
|
for j in irange(1, n):
|
||||||
hostNum = (i-1)*n + j
|
hostNum = (i-1)*n + j
|
||||||
host = self.addHost('h%s' % hostNum)
|
host = self.addHost('h%s' % hostNum)
|
||||||
self.addLink(host, switch)
|
self.addLink(host, switch)
|
||||||
# Connect switch to previous
|
# Connect switch to previous
|
||||||
if lastSwitch:
|
if lastSwitch:
|
||||||
self.addLink(switch, lastSwitch)
|
self.addLink(switch, lastSwitch)
|
||||||
|
|||||||
Reference in New Issue
Block a user