# !/usr/bin/python
'''
from mininet.topo import Topo
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.link import TCLink
from mininet.util import irange,dumpNodeConnections
from mininet.node import Controller, RemoteController
class CustomTopo(Topo):
def __init__(self, link1, link2, link3, fanout=2, **opts):
Topo.__init__(self, **opts)
self.fanout = fanout
coreSw = self.addSwitch('c1')
for i in irange(1, fanout):
aggregation_sw = self.addSwitch('a%s' %i)
self.addLink(coreSw, aggregation_sw, **link1)
for j in irange(1, fanout):
edgeSwNumber = fanout * (i-1) + j
edge_sw = self.addSwitch('e%s' %edgeSwNumber)
self.addLink(aggregation_sw, edge_sw, **link2)
for k in irange(1, fanout):
hostNumber = fanout * (edgeSwNumber - 1 )+ k
host = self.addHost('h%s' %hostNumber)
self.addLink(edge_sw, host, **link3)
topos = { 'custom': ( lambda: CustomTopo() ) }
def SimpleTest():
"Set up link parameters"
print ">>>> Setting link parameters"
">> core to aggregation switches"
link1 = {'bw':50, 'delay':'5ms'}
">> aggregation to edge switches"
link2 = {'bw':30, 'delay':'10ms'}
">> edge switches to hosts"
link3 = {'bw':10, 'delay':'15ms'}
"Creating network and run simple performance test"
print ">>>> Creating Custom Topology"
topo = CustomTopo(link1, link2, link3, fanout=3)
print ">>>> Starting Mininet"
net = Mininet(topo=topo, link=TCLink )
net.start()
dumpNodeConnections(net.hosts)
h1 = net.get('h1')
h27 = net.get('h27')
print ">>>> Initiating Test Sequence"
# Start pings
outputString = h1.cmd('ping', '-c6', h27.IP())
print outputString
CLI(net)
net.stop()
if __name__ == '__main__':
SimpleTest()
your code goes here
IyAhL3Vzci9iaW4vcHl0aG9uCgonJycKCgoKZnJvbSBtaW5pbmV0LnRvcG8gaW1wb3J0IFRvcG8KZnJvbSBtaW5pbmV0LmNsaSBpbXBvcnQgQ0xJCmZyb20gbWluaW5ldC5uZXQgaW1wb3J0IE1pbmluZXQKZnJvbSBtaW5pbmV0LmxpbmsgaW1wb3J0IFRDTGluawpmcm9tIG1pbmluZXQudXRpbCBpbXBvcnQgaXJhbmdlLGR1bXBOb2RlQ29ubmVjdGlvbnMKZnJvbSBtaW5pbmV0Lm5vZGUgaW1wb3J0IENvbnRyb2xsZXIsIFJlbW90ZUNvbnRyb2xsZXIKCmNsYXNzIEN1c3RvbVRvcG8oVG9wbyk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgbGluazEsIGxpbmsyLCBsaW5rMywgZmFub3V0PTIsICoqb3B0cyk6CiAgICAgICAgVG9wby5fX2luaXRfXyhzZWxmLCAqKm9wdHMpCiAgICAgICAgc2VsZi5mYW5vdXQgPSBmYW5vdXQKCiAgICAgICAgY29yZVN3ID0gc2VsZi5hZGRTd2l0Y2goJ2MxJykKICAgICAgICBmb3IgaSBpbiBpcmFuZ2UoMSwgZmFub3V0KToKICAgICAgICAgICAgYWdncmVnYXRpb25fc3cgPSBzZWxmLmFkZFN3aXRjaCgnYSVzJyAlaSkKICAgICAgICAgICAgc2VsZi5hZGRMaW5rKGNvcmVTdywgYWdncmVnYXRpb25fc3csICoqbGluazEpCiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IgaiBpbiBpcmFuZ2UoMSwgZmFub3V0KToKICAgICAgICAgICAgICAgIGVkZ2VTd051bWJlciA9IGZhbm91dCAqIChpLTEpICsgagogICAgICAgICAgICAgICAgZWRnZV9zdyA9IHNlbGYuYWRkU3dpdGNoKCdlJXMnICVlZGdlU3dOdW1iZXIpCiAgICAgICAgICAgICAgICBzZWxmLmFkZExpbmsoYWdncmVnYXRpb25fc3csIGVkZ2Vfc3csICoqbGluazIpCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGZvciBrIGluIGlyYW5nZSgxLCBmYW5vdXQpOgogICAgICAgICAgICAgICAgICAgIGhvc3ROdW1iZXIgPSBmYW5vdXQgKiAoZWRnZVN3TnVtYmVyIC0gMSApKyBrCiAgICAgICAgICAgICAgICAgICAgaG9zdCA9IHNlbGYuYWRkSG9zdCgnaCVzJyAlaG9zdE51bWJlcikKICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZExpbmsoZWRnZV9zdywgaG9zdCwgKipsaW5rMykKCnRvcG9zID0geyAnY3VzdG9tJzogKCBsYW1iZGE6IEN1c3RvbVRvcG8oKSApIH0KCQpkZWYgU2ltcGxlVGVzdCgpOgogICAgIlNldCB1cCBsaW5rIHBhcmFtZXRlcnMiCiAgICBwcmludCAiPj4+PiBTZXR0aW5nIGxpbmsgcGFyYW1ldGVycyIKICAgIAogICAgIj4+IGNvcmUgdG8gYWdncmVnYXRpb24gc3dpdGNoZXMiCiAgICBsaW5rMSA9IHsnYncnOjUwLCAnZGVsYXknOic1bXMnfQogICAgCiAgICAiPj4gYWdncmVnYXRpb24gdG8gZWRnZSBzd2l0Y2hlcyIKICAgIGxpbmsyID0geydidyc6MzAsICdkZWxheSc6JzEwbXMnfQogICAgCiAgICAiPj4gZWRnZSBzd2l0Y2hlcyB0byBob3N0cyIKICAgIGxpbmszID0geydidyc6MTAsICdkZWxheSc6JzE1bXMnfQogICAgIkNyZWF0aW5nIG5ldHdvcmsgYW5kIHJ1biBzaW1wbGUgcGVyZm9ybWFuY2UgdGVzdCIKCiAgICBwcmludCAiPj4+PiBDcmVhdGluZyBDdXN0b20gVG9wb2xvZ3kiCiAgICB0b3BvID0gQ3VzdG9tVG9wbyhsaW5rMSwgbGluazIsIGxpbmszLCBmYW5vdXQ9MykKCiAgICBwcmludCAiPj4+PiBTdGFydGluZyBNaW5pbmV0IgogICAgbmV0ID0gTWluaW5ldCh0b3BvPXRvcG8sIGxpbms9VENMaW5rICkKCiAgICBuZXQuc3RhcnQoKQogICAgZHVtcE5vZGVDb25uZWN0aW9ucyhuZXQuaG9zdHMpCiAgICBoMSA9IG5ldC5nZXQoJ2gxJykKICAgIGgyNyA9IG5ldC5nZXQoJ2gyNycpCiAgICBwcmludCAiPj4+PiBJbml0aWF0aW5nIFRlc3QgU2VxdWVuY2UiCgogICAgIyBTdGFydCBwaW5ncwogICAgb3V0cHV0U3RyaW5nID0gaDEuY21kKCdwaW5nJywgJy1jNicsIGgyNy5JUCgpKQogICAgcHJpbnQgb3V0cHV0U3RyaW5nCgogICAgQ0xJKG5ldCkKICAgIG5ldC5zdG9wKCkKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBTaW1wbGVUZXN0KCkKCiB5b3VyIGNvZGUgZ29lcyBoZXJl
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/py_compile.py", line 117, in compile
raise py_exc
py_compile.PyCompileError: File "prog.py", line 72
'''
from mininet.topo import Topo
from mininet.cli import CLI
from mininet.net import Mininet
from mininet.link import TCLink
from mininet.util import irange,dumpNodeConnections
from mininet.node import Controller, RemoteController
class CustomTopo(Topo):
def __init__(self, link1, link2, link3, fanout=2, **opts):
Topo.__init__(self, **opts)
self.fanout = fanout
coreSw = self.addSwitch('c1')
for i in irange(1, fanout):
aggregation_sw = self.addSwitch('a%s' %i)
self.addLink(coreSw, aggregation_sw, **link1)
for j in irange(1, fanout):
edgeSwNumber = fanout * (i-1) + j
edge_sw = self.addSwitch('e%s' %edgeSwNumber)
self.addLink(aggregation_sw, edge_sw, **link2)
for k in irange(1, fanout):
hostNumber = fanout * (edgeSwNumber - 1 )+ k
host = self.addHost('h%s' %hostNumber)
self.addLink(edge_sw, host, **link3)
topos = { 'custom': ( lambda: CustomTopo() ) }
def SimpleTest():
"Set up link parameters"
print ">>>> Setting link parameters"
">> core to aggregation switches"
link1 = {'bw':50, 'delay':'5ms'}
">> aggregation to edge switches"
link2 = {'bw':30, 'delay':'10ms'}
">> edge switches to hosts"
link3 = {'bw':10, 'delay':'15ms'}
"Creating network and run simple performance test"
print ">>>> Creating Custom Topology"
topo = CustomTopo(link1, link2, link3, fanout=3)
print ">>>> Starting Mininet"
net = Mininet(topo=topo, link=TCLink )
net.start()
dumpNodeConnections(net.hosts)
h1 = net.get('h1')
h27 = net.get('h27')
print ">>>> Initiating Test Sequence"
# Start pings
outputString = h1.cmd('ping', '-c6', h27.IP())
print outputString
CLI(net)
net.stop()
if __name__ == '__main__':
SimpleTest()
your code goes here
^
SyntaxError: EOF while scanning triple-quoted string literal