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
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.
git clone https://github.com/frenetic-lang/manual.git
cd programmers_guide/code
programmers_guide/frenetic_programmers_guide.pdf
DB node: Cassandra database and Zookeeper.
Configuration Node: Neutron server, configuration API server, IF-MAP server, discovery server and configuration related services.
Analytics Node: the analytics data collector, operational and analytics API server and Query engine.
Web UI: the web-server and web job-server
Control node: BGP speaker, DNS server and named
Compute node: the vRouter a kernel loadable module and a user space vRouter agent, along with Openstack compute services.
8181 for REST API and GUI
8101 to access the ONOS CLI (SSH)
9876 for intra-cluster communication (communication between target machines)
6653 optional, for OpenFlow
6640 optional, for OVSDB