这是代码.做的是一个胖树结构,
我运行之后没有报错但是得不到任何的结果,就像什么都没建立起
from mininet.topo import Topo
class FatTreeTopo( Topo ):
CoreSwitchList = []
AggSwitchList = []
EdgeSwitchList = []
HostList = []
def __init__(self, k):
"Create fat-tree topo"
self.pod = k
self.iCoreLayerSwitch = (k/2)**2
self.iAggLayerSwitch = k*k/2
self.iEdgeLayerSwitch = k*k/2
self.iHost = k*k*k/4
Topo.__init__(self)
def createTopo(self):
self.createCoreLayerSwitch(self.iCoreLayerSwitch)
self.createAggLayerSwitch(self.iAggLayerSwitch)
self.createEdgeLayerSwitch(self.iEdgeLayerSwitch)
self.createHost(self.iHost)
def addSwitch(self, counter, level, switch_list):
for x in xrange(1, counter+1):
PREFIX = str(level) + "00"
if x >= int(10):
PREFIX = str(level) + "0"
switch_list.append(self.addSwitch('s' + PREFIX + str(x)))
def createCoreLayerSwitch(self, Counter):
self.addSwitch(Counter, 1, self.CoreSwitchList)
def createAggLayerSwitch(self, Counter):
self.addSwitch(Counter, 2, self.AggSwitchList)
def createEdgeLayerSwitch(self,Counter):
self.addSwitch(Counter, 3, self.EdgeSwitchList)
def createHost(self, Counter):
for x in xrange(1, Counter+1):
PREFIX = "h00"
if x >= int(10):
PREFIX = "h0"
elif x >= int(100):
PREFIX = "h"
self.HostList.append(self.addHost(PREFIX + str(x)))
def createLink(self):
end = self.pod/2
for x in xrange(0, self.iAggLayerSwitch, end):
for i in xrange(0, end):
for j in xrange(0, end):
self.addLink(
self.CoreSwitchList[i*end+j],
self.AggSwitchList[x+i])
for x in xrange(0, self.iAggLayerSwutch, end):
for i in xrange(0, end):
for j in xrange(0, end):
self.addLink(
self.AggSwitchList[x+i], self.EdgeSwitchList[x+j])
for x in xrange(0, self.iEdgeLayerSwitch):
for i in xrange(0, end):
self.addLink(
self.EdgeSwitchList[x], self.HostList[end * x + i])
topos = { 'fattree': FatTreeTopo }