secchan: Track datapath actions in userspace, to avoid system calls.
authorBen Pfaff <blp@nicira.com>
Tue, 17 Mar 2009 17:24:28 +0000 (10:24 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 17 Mar 2009 17:26:49 +0000 (10:26 -0700)
commit5e52b645eaa51265b7fb4ed99699790f67a69f7a
treebd01d491c3aa416829f5024b62320500cc09131b
parent5b60e0b9256d0a19939da5fe88c58ecf1f765533
secchan: Track datapath actions in userspace, to avoid system calls.

Until now, secchan had no way to determine when datapath actions actually
changed, and so it had to be conservative and update all flows' actions,
or almost all, in some circumstances.

With this commit, secchan keeps track of flows' actions in allocated memory
and only updates them in the datapath when they actually change.

As part of the change, this factors out common code into new functions
rule_install() and rule_uninstall(), which should make secchan more
maintainable.
secchan/ofproto.c