Import switchd(8), a basic WIP OpenFlow implementation for OpenBSD.
authorreyk <reyk@openbsd.org>
Tue, 19 Jul 2016 16:54:26 +0000 (16:54 +0000)
committerreyk <reyk@openbsd.org>
Tue, 19 Jul 2016 16:54:26 +0000 (16:54 +0000)
commitd24c1ddb59f93e30ff64fdd3703cf88de9c8e584
tree57cf9e2fff53e04fe06029216d70c0bc35ae70ad
parent969858aeecaa06945deb4fe2339e066219db92d5
Import switchd(8), a basic WIP OpenFlow implementation for OpenBSD.

switchd consists of two parts:
1. switchd(8) and switchctl(8), an OpenFlow controller or "vswitch".
2. switch(4), an OpenFlow-aware kernel "bridge".

This the 1st part, the driver will be imported later.  The code will
remain disabled for a while, but it helps development to have it in
the tree.  switchd currently supports partial OpenFlow 1.0, but the
goal is to use OpenFlow 1.3.5 instead (switch(4) already does 1.3.5).

For more background information see:
http://www.openbsd.org/papers/bsdcan2016-switchd.pdf
https://youtu.be/Cuo0qT-lqig

With help from yasuoka@ goda@
Import discussed with deraadt@
29 files changed:
usr.sbin/switchctl/Makefile [new file with mode: 0644]
usr.sbin/switchctl/parser.c [new file with mode: 0644]
usr.sbin/switchctl/parser.h [new file with mode: 0644]
usr.sbin/switchctl/switchctl.8 [new file with mode: 0644]
usr.sbin/switchctl/switchctl.c [new file with mode: 0644]
usr.sbin/switchd/Makefile [new file with mode: 0644]
usr.sbin/switchd/control.c [new file with mode: 0644]
usr.sbin/switchd/genmap.sh [new file with mode: 0644]
usr.sbin/switchd/imsg_util.c [new file with mode: 0644]
usr.sbin/switchd/log.c [new file with mode: 0644]
usr.sbin/switchd/ofcconn.c [new file with mode: 0644]
usr.sbin/switchd/ofp.c [new file with mode: 0644]
usr.sbin/switchd/ofp.h [new file with mode: 0644]
usr.sbin/switchd/ofp10.c [new file with mode: 0644]
usr.sbin/switchd/ofp10.h [new file with mode: 0644]
usr.sbin/switchd/ofp13.c [new file with mode: 0644]
usr.sbin/switchd/ofp_map.h [new file with mode: 0644]
usr.sbin/switchd/packet.c [new file with mode: 0644]
usr.sbin/switchd/parse.y [new file with mode: 0644]
usr.sbin/switchd/proc.c [new file with mode: 0644]
usr.sbin/switchd/proc.h [new file with mode: 0644]
usr.sbin/switchd/switch.c [new file with mode: 0644]
usr.sbin/switchd/switchd.8 [new file with mode: 0644]
usr.sbin/switchd/switchd.c [new file with mode: 0644]
usr.sbin/switchd/switchd.conf.5 [new file with mode: 0644]
usr.sbin/switchd/switchd.h [new file with mode: 0644]
usr.sbin/switchd/timer.c [new file with mode: 0644]
usr.sbin/switchd/types.h [new file with mode: 0644]
usr.sbin/switchd/util.c [new file with mode: 0644]