With the advent of SDN, the advancing of the customizable networks has been accelerated. Its focus is mainly on the control-ability of the programs. SDN guarantees to significantly ease the network management and it also brings this opportunity of applying new ideas into current networks immediately.
In this repository you can find some sample codes of SDN written on ELRYU controller and for more information you can see documentation section. I wrote all of these introduction and sample codes as my intern project in ITRC.
As a project we implemented simple firewall with python 3 on ELRyu controller, and for testing it we used mininet platform.
I personally prefer python3 so I ported Ryu Controller on python3 and named it ELRyu Controller
Run firewall application on ryu with following command:
$ ryu-manager sdn101/app/rest_firewall.py
Run mininet with your custom options using command that like following command:
$ sudo mn --switch=ovs,protocol=OpenFlow13 --controller=remote,x.x.x.x
Run firewall client application with following command:
$ python3 sdn101/firewall_client_cli.py
Enter your server ip address and port.
Use Firewall CLI Client in order to manage your firewall and have fun :))
A Persian documentation about SDN and it's history can be found in Introduction to SDN on my google drive.