====== Software Defined Networking (SDN) ======
===== OpenFlow =====
[[https://overlaid.net/2017/02/15/openflow-basic-concepts-and-theory/|OpenFlow – Basic Concepts and Theory]]
==== Opinion: ====
* https://blog.ipspace.net/2016/06/build-your-own-service-provider-gear-on.html
* https://blog.ipspace.net/2017/05/is-anyone-using-open-daylight.html
* Counting Packet-IN and Packet-OUT Messages in a pcap-Trace [[https://github.com/tscheffl/Counting-Openflow-Messages|Github Link]]
* http://networkstatic.net/openflow-proactive-vs-reactive-flows/
===== P4 =====
* [[ne:sdn:p4:p4|P4]]
===== Mininet =====
* [[ne:sdn:mininet:start|Mininet Dokumentation, Installation und Nutzung]]
===== Linux Network Bridge =====
* https://www.kernel.org/doc/Documentation/networking/switchdev.rst
* https://wiki.archlinux.org/title/Network_bridge
===== OpenvSwitch =====
* http://openvswitch.org/download/
* https://blog.scottlowe.org/2014/11/21/removing-ovs-configuration-settings/
* http://therandomsecurityguy.com/openvswitch-cheat-sheet/
* [[https://gist.github.com/djoreilly/c5ea44663c133b246dd9d42b921f7646|OVS cheat sheet]]
* [[https://developers.redhat.com/blog/2017/04/06/direct-kernel-open-vswitch-flow-programming/|Direct Kernel Open vSwitch Flow Programming]]
==== Mirroring ====
ovs-vsctl -- set Bridge br0 mirrors=@m \
-- --id=@eth0 get Port eth0 \
-- --id=@eth1 get Port eth1 \
-- --id=@eth2 get Port eth2 \
-- --id=@m create Mirror name=mymirror select-dst-port=@eth0,@eth1 select-src-port=@eth0,@eth1 output-port=@eth2
$ ovs-vsctl add-br br0
$ ovs-vsctl add-port br0 eth0
$ ovs-vsctl add-port br0 tap0
$ ovs-vsctl add-port br0 tap1 \
-- --id=@p get port tap1 \
-- --id=@m create mirror name=m0 select-all=true output-port=@p \
-- set bridge br0 mirrors=@m
==== Tutorial ====
* https://www.openvswitch.org/support/dist-docs-2.5/tutorial/Tutorial.md.html
===== Whitebox-Switches =====
* [[ne:sdn-hardware|SDN Hardware-Switches]]
==== Software für Whitebox-Switches ====
* https://www.epsglobal.com/about-eps-global/blog/january-2021/dent-and-sonic-the-hitchhiker-and-the-hedgehog
=== SONiC ===
* https://azure.microsoft.com/de-de/blog/sonic-the-networking-switch-software-that-powers-the-microsoft-global-cloud/
=== Dent ===
* https://thenewstack.io/dent-an-operating-system-for-disaggregated-network-switches/
* https://dent.dev/
===== Raspberry Pi as an OpenFlow Switch =====
* http://openflow-sdn.blogspot.co.uk/2013/05/cheapest-openflow-switch-in-world-using.html
===== Raspberry Pi as an OpenFlow Controller =====
* https://sdn-vuw.blogspot.de/2016/07/the-worlds-smallest-openflow-testbed.html
* https://northboundnetworks.com/collections/zodiac-fx
===== Controller =====
* [[ne:sdn:ryu|RYU]]
* [[ne:sdn:faucet|Faucet]]
===== ONOS =====
* [[ne:sdn:onos|Installation - ONOS v1.12 (Simon Joswig November 22, 2017)]]
===== Literatur =====
* https://www.amazon.de/Software-Defined-Networking-Controllern-Praxishandbuch/dp/3110449846/
* https://www.amazon.de/Software-Defined-Networks-Comprehensive-Approach/dp/0128045558/
* https://www.amazon.de/Software-Defined-Networking-SDN-OpenFlow/dp/1483427234/
* https://www.gdt.id.au/~gdt/presentations/2016-07-05-questnet-sdn/papers/