SDN
Courses
http://www.cse.wustl.edu/~jain/tutorials/ http://www.cs.kent.edu/~mallouzi/Software%20Defined%20Networking/ http://www.cs.fsu.edu/~xyuan/cis5930/ https://www.cs.princeton.edu/~jrex/papers/ http://zoo.cs.yale.edu/classes/cs434/cs434-2017-spring/lectures/02-prognet-openflow.pdf https://www.youtube.com/playlist?list=PLpherdrLyny8YN4M24iRJBMCXkLcGbmhY
Mininet
Install
Supported switch & controller
Run
http://mininet.org/api/classmininet_1_1topo_1_1Topo.html
Remote control
https://github.com/mininet/mininet/wiki/FAQ#how-can-i-control-my-mininet-hosts-remotely https://github.com/mininet/mininet/wiki/FAQ#how-can-i-add-a-rest-interface-to-mininet
Switch - C - Open vSwitch - OpenFlow 1.0+
Switch - C - Lagopus - OpenFlow 1.3
https://github.com/lagopus/lagopus VLAN, QinQ, MAC-in-MAC, MPLS and PBB. tunnel protocol processing for overlay-type networking with GRE, VxLAN and GTP. Memory: 2GB or more
Switch - C - OpenFlow 1.3 Software Switch
https://github.com/CPqD/ofsoftswitch13
Controller - Python - Faucet - OpenFlow 1.3
http://faucet.nz/ for multi table OpenFlow 1.3 switches, that implements layer 2 switching, VLANs, ACLs, and layer 3 IPv4 and IPv6 routing, static and via BGP.
Docs
http://docs.openvswitch.org/en/latest/tutorials/faucet/#overview https://github.com/faucetsdn/faucet/tree/master/docs PDF http://costiser.ro/2017/03/07/sdn-lesson-2-introducing-faucet-as-an-openflow-controller
faucet.yaml
http://faucet.readthedocs.io/en/latest/configuration.html#configuration-options
DP
https://github.com/faucetsdn/faucet/blob/master/docs/default_conf_doc.md
dp_id
None
Name for this dp, used for stats reporting and configuration
timeout
300
inactive MAC timeout
arp_neighbor_timeout
500
ARP and neighbor timeout (seconds)
stack
None
stacking config, when cross connecting multiple DPs
vlan_acl_table
None
vlan_table
None
port_acl_table
None
The table for internally associating vlans
Port
number
None
acl_in
None
native_vlan
None
tagged_vlans
None
permanent_learn
False
stack
None
unicast_flood
True
mirror
None
mirror_destination
False
max_hosts
255
maximum number of hosts
Router
vlans
None
VLAN
acl_in
None
routes
None
vid
None
faucet_vips
None
max_hosts
255
Limit number of hosts that can be learned on a VLAN.
proactive_arp_limit
None
proactively ARP for hosts (None unlimited)
proactive_nd_limit
None
proactively ND for hosts (None unlimited)
unicast_flood
True
Manually install
FAUCET_LOG_LEVEL / GAUGE_LOG_LEVEL
Docker
https://github.com/faucetsdn/faucet/tree/master/etc/ryu/faucet
Controller - Python - Ryu
Docker
Writing Your Ryu Application
http://ryu.readthedocs.io/en/latest/writing_ryu_app.html
Debug
Controller - OCaml - Frenetic
https://github.com/frenetic-lang/frenetic (.ova provided) http://www-users.cselabs.umn.edu/classes/Spring-2016/csci8211/Lecture-Notes/csci8211-Frenetic-Pyretic.pptx
Source build
Manual
Install
https://gist.githubusercontent.com/basus/cd48c8e4e9d14f853cea4f45f7e0edaf/raw/b6d698a16e1de5fa7d0daef7f7a36a57a9766ae1/frenetic.sh
Controller - C - OVN
https://docs.openstack.org/networking-ovn/latest/admin/features.html
Controller - C++ - OpenContrail by Juniper
http://www.opencontrail.org/opencontrail-quick-start-guide/
Kubernetes
Controller - JAVA - ODL
Releases
Ports
https://wiki.opendaylight.org/view/Ports
Docker
https://hub.docker.com/r/opendaylight/odl/
Init
Controller - JAVA - ONOS
Ports
Docker
Cluster
https://wiki.onosproject.org/display/ONOS/Running+the+published+Docker+ONOS+images
Init
WebUI
http://server_ip:8181/onos/ui/login.html # onos/rocks
Running as a service
https://wiki.onosproject.org/display/ONOS/Running+ONOS+as+a+service
Forming a cluster
Form a cluster of three instances, from one of the target machines
Controller - JAVA - Floodlight
https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/pages/1343544/Installation+Guide
Controller - Calico
https://github.com/projectcalico/calico enabling cloud native application connectivity and policy integrates with Kubernetes, Apache Mesos, Docker, OpenStack and more
Controller - Scala/JAVA - MidoNet
https://github.com/midonet/midonet use with OpenStack, vanilla Linux hosts, Docker, Mesos, etc. MidoNet supports virtual L2 switches, virtual L3 routing, distributed, stateful source NAT and distributed stateful L4 TCP load balancing.
Controller - Ruby - Trema
https://github.com/trema/trema
Controller - Powershell - Microsoft SDN
https://github.com/Microsoft/SDN
Routing framework - Kulfi
https://github.com/merlin-lang/kulfi
Controller - POX - python
inactive: http://en.community.dell.com/techcenter/networking/w/wiki/3820.openvswitch-openflow-lets-get-started
Controller - More
http://yuba.stanford.edu/~casado/of-sw.html https://www.sdxcentral.com/sdn/definitions/sdn-controllers/open-source-sdn-controllers/
Open Security Controller - JAVA
https://www.opensecuritycontroller.org/documentation/tutorials/openstack_workload/
C++ simulation library and framework - OMNeT++
https://omnetpp.org/models
Programming - P4
http://www.inf.usi.ch/faculty/soule/teaching/2015-fall/netpl/ https://p4.org/
Last updated