This series adds support for limiting the size of a flow table, with optional intelligent eviction of flows when the maximum size is exceeded.
Ben Pfaff (12): util: Move bitwise_copy() here, add new bitwise functions. util: New function bitwise_zero(). meta-flow: New "subfield" data structure. timeval: New function time_boot_msec(), factored out of vlog. ofproto: Encapsulate classifier tables in new "struct oftable". ofproto: Make ofproto ->construct() function initialize tables. ofproto: Implement "hidden" and "readonly" OpenFlow tables. ofproto: Remove unnecessary assignment from ofoperation_complete(). ofproto: Make ofproto_rule_destroy__() do nothing for a null argument. ofproto: Move 'used' from ofproto_dpif into ofproto. heap: New library that implements a binary heap-based priority queue. Add support for limiting the number of flows in an OpenFlow flow table. NEWS | 7 + lib/automake.mk | 4 +- lib/autopath.c | 35 ++- lib/bundle.c | 39 ++- lib/heap.c | 216 ++++++++++++ lib/heap.h | 163 +++++++++ lib/learn.c | 194 +++++------- lib/meta-flow.c | 333 +++++++++++++++---- lib/meta-flow.h | 26 ++- lib/multipath.c | 40 ++- lib/nx-match.c | 347 +++++--------------- lib/nx-match.h | 24 +- lib/ofp-parse.c | 9 +- lib/ofp-print.c | 12 +- lib/ofp-util.c | 6 +- lib/timeval.c | 20 +- lib/timeval.h | 4 +- lib/util.c | 152 +++++++++- lib/util.h | 12 +- lib/vlog.c | 8 +- ofproto/ofproto-dpif.c | 43 ++-- ofproto/ofproto-provider.h | 86 ++++-- ofproto/ofproto.c | 776 ++++++++++++++++++++++++++++++++++++++----- ofproto/ofproto.h | 22 ++- tests/.gitignore | 1 + tests/automake.mk | 7 + tests/heap.at | 13 + tests/ofproto-macros.at | 16 + tests/ofproto.at | 220 +++++++++++++ tests/ovs-vsctl.at | 2 + tests/test-heap.c | 504 ++++++++++++++++++++++++++++ tests/testsuite.at | 3 +- utilities/ovs-vsctl.8.in | 3 + utilities/ovs-vsctl.c | 6 +- vswitchd/bridge.c | 63 ++++ vswitchd/vswitch.gv | 2 + vswitchd/vswitch.ovsschema | 26 ++- vswitchd/vswitch.pic | 99 +++--- vswitchd/vswitch.xml | 98 ++++++ 39 files changed, 2922 insertions(+), 719 deletions(-) create mode 100644 lib/heap.c create mode 100644 lib/heap.h create mode 100644 tests/heap.at create mode 100644 tests/test-heap.c -- 1.7.2.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev