Exam project for Softwarized and Virtualized Mobile Networks
University of Trento - Prof. Fabrizio Granelli
git clone https://github.com/RED-PAND4/SDN-Project.git
- Linux OS (tested on Ubuntu 20.04)
- Ryu
- Mininet
- Python & Python3
start controller
ryu-manager morph_controller.py
run network
sudo python3 morph_network.py
command
Enter command (bus, ring, star, cli, quit): bus
Enter command (bus, ring, star, cli, quit): ring
Enter command (bus, ring, star, cli, quit): star
Enter command (bus, ring, star, cli, quit): cli -> enter mininet CLI for mininet command
Enter command (bus, ring, star, cli, quit): quit -> end all
help
you need to wait the spanning tree before trying to ping the hosts, it ends when you see the "/FORWARD" at the end of the line in the controller terminal or you can wait 40-50 seconds from when you decide the topology
- Making sure Mininet is clear and all Ryu controllers instances are terminated:
sudo mn -c ; sudo fuser -k 6633/tcp
- Starting the network with Mininet:
sudo mn --custom ryu_api_solution/network.py --controller remote --topo test --arp
- Run Ryu controller with rest api:
python3 ryu_api_solution/run_controller.py
That's how the physical network looks like:
- Run our app to slice the network
python3 ryu_api_solution/slice_topology.py
Now the network has been sliced: "red" host can only communicate with "red" hosts and the same is for the "blue" ones
- Simulate a link down between s2 and s5
mininet> link s2 s5 down
- Run our app to solve the broken link
python3 ryu_api_solution/solve_link_down.py
Finally we reprogrammed two of the switches, to overcome the use of the link between s2 and s5 and restore the functionality of the network.






