dataplane: single-threaded rewrite

There's now just one thread for the dataplane instead of one per port. This
greatly reduces the amount of code needed for each port implementation.
2 files changed