| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
the default table-miss flow for OpenFlow 1.3.5. This is enough to make
switchd(8) to work with switch(4) and HP 3800 switch out-of-the-box.
ok reyk@
|
|
|
|
|
|
|
| |
invalid state transitions and invalid protocol version switching after the
hello messages exchange.
ok reyk@
|
|
|
|
|
|
|
| |
also prevents connections from switching the version in the middle of
the operation.
tweak from and ok reyk@
|
|
|
|
| |
switchd.h. No functional change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
device is just an fd that is connected to a switch, either via TCP or
via /dev/switch. Change the switchctl from "device add" to "connect"
etc. This change is an intermediate step towards other changes,
including the configuration grammar, so a few things will be left
undocumented for now.
switchctl(8) examples,
switchctl connect /dev/switch0
switchctl connect /dev/switch0 forward-to 10.1.1.1
switchctl connect 127.0.0.1
switchctl connect 127.0.0.1 forward-to 10.1.1.1
switchctl disconnect /dev/switch0
Discussed with rzalamena@
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
messages, multiple messages per buffer and important things like
connection limits and file descriptor accounting. It works with TCP
connections as well as switch(4). The ofrelay.c part replaces
networking that was in ofp.c and will soon handle all socket
connections of switchd. It is called "ofrelay" because it will be
used as client, server, and forwarder.
OK rzalamena@
|
| |
|
|
|
|
|
|
|
|
|
| |
message is received or a socket is closed.
This is just a temporary fix to avoid switchd(8) from hogging the cpu and
leaking memory while testing.
ok reyk@
|
|
|
|
|
|
|
|
| |
Note: this daemon has the -Wcast-qual compilation flag which trigger a
warning that wasn't enable in httpd(8) or relayd(8). This will be fixed
in a next diff and then synchronized with other daemons.
ok reyk@
|
|
|
|
|
| |
similar approach like iked: first validate the packet, then parse it,
and execute actions. debug logging is a side effect of validation.
|
| |
|
| |
|
| |
|
|
|
|
| |
Pointed out by David Hill and clang.
|
|
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@
|