-
Notifications
You must be signed in to change notification settings - Fork 51
Getting Started With Frenetic User VM
Craig Riecke edited this page Jun 14, 2016
·
2 revisions
- Install VirtualBox from https://www.virtualbox.org/wiki/Downloads. Use the latest version platform package appropriate for your system.
- From http://download.frenetic-lang.org/uservm/frenetic-uservm-current download the latest Frentic User VM – this file is about 1.5 GB and may take about 10 minutes or so to download.
- Unzip the file and import the .ova file into VirtualBox. This takes two minutes or so.
-
Start up a terminal window - – two are provided in the VM under Accessories: Byobu Terminal (which integrates nicely with tmux) and LXTerminal (which has graphical tabs). Either one will do.
-
Start up a Mininet sample network with a switch and 2 hosts:
$ sudo mn --topo=single,2 --controller=remote
-
Try pinging the host h2 from the host h1:
mininet> h1 ping h2
Unfortunately, the ping won't work because you don't have an SDN network program in place! Press CTRL-C to stop the pinging.
-
Start up another terminal window and start up Frenetic:
$ frenetic http-controller --verbosity debug
-
In a third terminal window, start up the example program for the Python repeater:
$ python -m frenetic.examples.repeater
-
Now, back in the window running Mininet, the ping should now succeed:
mininet> h1 ping h2
Congratulations! You now have a working Software Defined Network.
- Learn Frenetic programming in Python from the Frenetic Programmers Guide
- Try some Python examples, see Example Applications in Python
- Learn Frenetic programming in OCaml from the Frenetic Tutorial
- Learn the theory behind Frenetic by reading the papers at http://frenetic-lang.org
- See examples of production Frenetic-based SDN's at https://github.com/coscin/coscin-app and https://github.com/coscin/gates.