- Download SPRING-OPEN VM here <LINK>
- Setup the VM working environment. Please refer to here to install the VirtualBox and import the SPRING-OPEN VM.
Login the VM using the following username and password
username : mininet password : mininet
Run the SPRING-OPEN controller
mininet@mininet-vm:~$ cd spring-open mininet@mininet-vm:~/spring-open$ ./onos.sh start Starting ZooKeeper ... ls: cannot access /home/mininet/spring-open/onos-logs/zk.mininet-vm.log*: No such file or directory JMX enabled by default Using config: /home/mininet/spring-open/conf/zoo.cfg Starting zookeeper ... STARTED Starting ONOS controller ... STARTED
You can check if the controller is running correctly as following
mininet@mininet-vm:~/spring-open$ ./onos.sh status [ZooKeeper] JMX enabled by default Using config: /home/mininet/spring-open/conf/zoo.cfg Mode: standalone [RAMCloud coordinator] 0 RAMCloud coordinator running [RAMCloud server] 0 RAMCloud server running [ONOS core] 1 instance of onos running
Run CLI
mininet@mininet-vm:~$ cd spring-open-cli/ mininet@mininet-vm:~/spring-open-cli$ source ./workspace/ve/bin/activate (ve)mininet@mininet-vm:~/spring-open-cli$ sudo make start-sdncon if ! lsof -iTCP:8000 -sTCP:LISTEN >/dev/null; then \ ( \ cd /home/mininet/spring-open-cli/sdncon; \ [ -d /home/mininet/spring-open-cli/workspace/ve/cassandra/data/sdncon ] || python manage.py syncdb --noinput; \ /home/mininet/spring-open-cli/build/start-and-wait-for-port.sh -p 8000 -l /home/mininet/spring-open-cli/workspace/ve/log/sdncon.log python manage.py runserver 0.0.0.0:8000; \ ); \ fi Creating tables ... Installing custom SQL ... Installing indexes ... No fixtures found. Launching python manage.py runserver 0.0.0.0:8000 (log: /home/mininet/spring-open-cli/workspace/ve/log/sdncon.log) Waiting for port 8000.... OK +++ sdncon running (ve)mininet@mininet-vm:~/spring-open-cli$ cd cli/ (ve)mininet@mininet-vm:~/spring-open-cli/cli$ ./cli.py version200 default controller: 127.0.0.1:8000, SDN OS 1.0 - custom version mininet-vm>
Run the mininet (Probably, you might want to open another terminal to run the mininet)
mininet@mininet-vm:~$ cd mininet/ mininet@mininet-vm:~/mininet$ cd custom/ mininet@mininet-vm:~/mininet/custom$ sudo ./testEcmp_10sw.py *** Creating network *** Adding controller *** Adding hosts: h1 h2 h3 h4 *** Adding switches: s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 *** Adding links: (h1, s1) (h2, s6) (h3, s7) (h4, s10) (s1, s2) (s1, s3) (s2, s3) (s2, s5) (s2, s8) (s2, s9) (s3, s4) (s4, s5) (s4, s6) (s5, s6) (s5, s8) (s5, s9) (s7, s8) (s7, s9) (s8, s9) (s8, s10) (s9, s10) *** Configuring hosts h1 h2 h3 h4 *** Starting controller *** Starting 10 switches s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 *** Starting CLI: mininet>
Check if all the switches are connected to SPRING-OPEN controller using CLI.
mininet-vm> sh switch # Switch DPID Alias Connected Since Connected At Type Controller --|-----------------------|------------|----------------------------|---------------|------|---------- 1 00:00:00:00:00:00:00:01 SFO-ER1 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60315 packet mininet-vm 2 00:00:00:00:00:00:00:02 SFO-CR2 Thu Dec 04 16:45:03 PST 2014 127.0.0.1:60311 packet mininet-vm 3 00:00:00:00:00:00:00:03 SFO-CR3 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60319 packet mininet-vm 4 00:00:00:00:00:00:00:04 Dallas-CR4 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60313 packet mininet-vm 5 00:00:00:00:00:00:00:05 Dallas-CR5 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60320 packet mininet-vm 6 00:00:00:00:00:00:00:06 Dallas-ER6 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60314 packet mininet-vm 7 00:00:00:00:00:00:00:07 NewYork-ER7 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60316 packet mininet-vm 8 00:00:00:00:00:00:00:08 NewYork-CR8 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60312 packet mininet-vm 9 00:00:00:00:00:00:00:09 NewYork-CR9 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60317 packet mininet-vm 10 00:00:00:00:00:00:00:0a NewYork-ER10 Thu Dec 04 16:45:05 PST 2014 127.0.0.1:60318 packet mininet-vm mininet-vm> sh link # Src Switch DPID Src Port Dst Switch DPID Dst Port Type --|--------------------------------------|--------|--------------------------------------|--------|------ 1 00:00:00:00:00:00:00:01 (SFO-ER1) 3 00:00:00:00:00:00:00:03 (SFO-CR3) 1 packet 2 00:00:00:00:00:00:00:01 (SFO-ER1) 4 00:00:00:00:00:00:00:03 (SFO-CR3) 4 packet 3 00:00:00:00:00:00:00:02 (SFO-CR2) 1 00:00:00:00:00:00:00:01 (SFO-ER1) 2 packet 4 00:00:00:00:00:00:00:02 (SFO-CR2) 3 00:00:00:00:00:00:00:05 (Dallas-CR5) 1 packet 5 00:00:00:00:00:00:00:02 (SFO-CR2) 4 00:00:00:00:00:00:00:09 (NewYork-CR9) 3 packet 6 00:00:00:00:00:00:00:02 (SFO-CR2) 5 00:00:00:00:00:00:00:08 (NewYork-CR8) 3 packet 7 00:00:00:00:00:00:00:02 (SFO-CR2) 6 00:00:00:00:00:00:00:08 (NewYork-CR8) 6 packet 8 00:00:00:00:00:00:00:03 (SFO-CR3) 2 00:00:00:00:00:00:00:02 (SFO-CR2) 2 packet 9 00:00:00:00:00:00:00:03 (SFO-CR3) 3 00:00:00:00:00:00:00:04 (Dallas-CR4) 1 packet 10 00:00:00:00:00:00:00:04 (Dallas-CR4) 2 00:00:00:00:00:00:00:05 (Dallas-CR5) 2 packet 11 00:00:00:00:00:00:00:05 (Dallas-CR5) 4 00:00:00:00:00:00:00:08 (NewYork-CR8) 4 packet 12 00:00:00:00:00:00:00:05 (Dallas-CR5) 5 00:00:00:00:00:00:00:09 (NewYork-CR9) 5 packet 13 00:00:00:00:00:00:00:06 (Dallas-ER6) 2 00:00:00:00:00:00:00:04 (Dallas-CR4) 3 packet 14 00:00:00:00:00:00:00:06 (Dallas-ER6) 3 00:00:00:00:00:00:00:05 (Dallas-CR5) 3 packet 15 00:00:00:00:00:00:00:08 (NewYork-CR8) 1 00:00:00:00:00:00:00:07 (NewYork-ER7) 2 packet 16 00:00:00:00:00:00:00:08 (NewYork-CR8) 2 00:00:00:00:00:00:00:09 (NewYork-CR9) 1 packet 17 00:00:00:00:00:00:00:08 (NewYork-CR8) 5 00:00:00:00:00:00:00:0a (NewYork-ER10) 3 packet 18 00:00:00:00:00:00:00:09 (NewYork-CR9) 4 00:00:00:00:00:00:00:07 (NewYork-ER7) 3 packet 19 00:00:00:00:00:00:00:0a (NewYork-ER10) 2 00:00:00:00:00:00:00:09 (NewYork-CR9) 2 packet
Test connections in mininet
mininet> pingall *** Ping: testing ping reachability h1 -> h2 h3 h4 h2 -> h1 h3 h4 h3 -> h1 h2 h4 h4 -> h1 h2 h3 *** Results: 0% dropped (12/12 received)
- Done. Have fun with PRING-OPEN!