rftest.py
972 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/python
import sys
from mininet.net import Mininet
from mininet.cli import CLI
from mininet.log import setLogLevel
from mininet.node import RemoteController
from rftesttopo import ReactiveForwardingTestTopo
setLogLevel( 'info' )
def pingloop( net ):
setLogLevel( 'error' )
try:
while True:
net.ping()
finally:
setLogLevel( 'info' )
def run(controllers=[ '127.0.0.1' ]):
Mininet.pingloop = pingloop
net = Mininet( topo=ReactiveForwardingTestTopo(), build=False, autoSetMacs=True )
ctrl_count = 0
for controllerIP in controllers:
net.addController( 'c%d' % ctrl_count, RemoteController, ip=controllerIP )
ctrl_count = ctrl_count + 1
net.build()
net.start()
CLI( net )
net.stop()
if __name__ == '__main__':
if len( sys.argv ) > 1:
controllers = sys.argv[ 1: ]
else:
print 'Usage: rf-test.py <c0 IP> <c1 IP> ...'
exit( 1 )
run( controllers )