[ovs-git] Open vSwitch: Add support for limiting the number of flows in an OpenFlow flow table. (master)

dev at openvswitch.org dev at openvswitch.org
Wed Feb 1 22:15:25 UTC 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  254750ceb233f44744c1a9331145c3c2287bd0df (commit)
       via  18b2a258c4c87ccd7d00fcd64722c669ba8a8cab (commit)
       via  95974447c9005f4ad6ef880b2331e7dca0e6f661 (commit)
       via  1745cd08c93adaa11268526309addefd51604394 (commit)
       via  1eae3d335aad4119c6c50fbac9bf810a86886924 (commit)
       via  e0181a21131df8888a644593859f8ceb6c0ff6f8 (commit)
       via  5c67e4afcfa8ec9d1e0b98489436623a15109b16 (commit)
       via  0f5f95a965ddc59e32bcae09a1735d1267fea13d (commit)
       via  d0918789c75c172c78963f5edbad6758af38d12c (commit)
       via  4ae90ff9e2011d54f52043a55707d16c8a9a258e (commit)
       via  816fd533f85923c03cf8d9d6450bd9a0845d5160 (commit)
       via  6cc7ea5ea05a71f01526577439ebedcc133f99cd (commit)
       via  ddc4f8e27f231b35df0c73a16bacc17396fb00f3 (commit)
      from  a39edbd4a409ad14b79c2205e340c07185785b92 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 254750ceb233f44744c1a9331145c3c2287bd0df
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=254750ceb233f44744c1a9331145c3c2287bd0df
Author: Ben Pfaff <blp at nicira.com>
		
Add support for limiting the number of flows in an OpenFlow flow table.
		
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 18b2a258c4c87ccd7d00fcd64722c669ba8a8cab
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=18b2a258c4c87ccd7d00fcd64722c669ba8a8cab
Author: Ben Pfaff <blp at nicira.com>
		
ofproto-dpif: Track the rule being translated during flow translation.
		
An upcoming commit will need access to the rule being translated during
xlate_actions(), so this commit adds that feature.  The existing 'cookie'
member of struct action_xlate_ctx can be accessed through this rule, so
this commit also removes that member.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 95974447c9005f4ad6ef880b2331e7dca0e6f661
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=95974447c9005f4ad6ef880b2331e7dca0e6f661
Author: Ben Pfaff <blp at nicira.com>
		
heap: New library that implements a binary heap-based priority queue.
		
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 1745cd08c93adaa11268526309addefd51604394
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1745cd08c93adaa11268526309addefd51604394
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Move 'used' from ofproto_dpif into ofproto.
		
This will allow the upcoming flow table eviction policy code to determine
which flows will expire soon.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 1eae3d335aad4119c6c50fbac9bf810a86886924
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1eae3d335aad4119c6c50fbac9bf810a86886924
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Make ofproto_rule_destroy__() do nothing for a null argument.
		
This is our customary way to implement a "destroy" function.  It allows
a minor simplification in ofoperation_complete().

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit e0181a21131df8888a644593859f8ceb6c0ff6f8
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e0181a21131df8888a644593859f8ceb6c0ff6f8
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Remove unnecessary assignment from ofoperation_complete().
		
Nothing uses op->victim following this assignment, so it is not
needed.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 5c67e4afcfa8ec9d1e0b98489436623a15109b16
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5c67e4afcfa8ec9d1e0b98489436623a15109b16
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Implement "hidden" and "readonly" OpenFlow tables.
		
A "hidden" table is one that OpenFlow operations affect only if the
table_id is explicitly specified, that is, operations that affect
all tables ignore it.

A "read-only" table is one that OpenFlow operations are not allowed
to modify.

I intend to use these flags in an upcoming commit for implementing
tables internal to the Open vSwitch implementation.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 0f5f95a965ddc59e32bcae09a1735d1267fea13d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=0f5f95a965ddc59e32bcae09a1735d1267fea13d
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Make ofproto ->construct() function initialize tables.
		
If the ->construct() function initializes the OpenFlow tables itself,
then it can conveniently do implementation-specific configuration of
those tables afterward.  There isn't any such configuration to do yet;
an upcoming commit will add some.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit d0918789c75c172c78963f5edbad6758af38d12c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d0918789c75c172c78963f5edbad6758af38d12c
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Encapsulate classifier tables in new "struct oftable".
		
So far, each OpenFlow table has just been a classifier.  Upcoming
commits will add more data for each OpenFlow table, so this commit
encapsulates the struct classifier in a higher-level structure
to provide a good place to keep that data.

Some of the new functions introduced in this commit are trivial, but they
will become more elaborate in upcoming commits.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 4ae90ff9e2011d54f52043a55707d16c8a9a258e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4ae90ff9e2011d54f52043a55707d16c8a9a258e
Author: Ben Pfaff <blp at nicira.com>
		
timeval: New function time_boot_msec(), factored out of vlog.
		
An upcoming commit has a new use for the time at which OVS started up, so
this moves this functionality to a common location.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 816fd533f85923c03cf8d9d6450bd9a0845d5160
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=816fd533f85923c03cf8d9d6450bd9a0845d5160
Author: Ben Pfaff <blp at nicira.com>
		
meta-flow: New "subfield" data structure.
		
Until now, parts of a field have been dealt with in a fairly ad-hoc way.
struct mf_subfield and the supporting functions added by this commit make
their use more systematic.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 6cc7ea5ea05a71f01526577439ebedcc133f99cd
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6cc7ea5ea05a71f01526577439ebedcc133f99cd
Author: Ben Pfaff <blp at nicira.com>
		
util: New function bitwise_zero().
		
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit ddc4f8e27f231b35df0c73a16bacc17396fb00f3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ddc4f8e27f231b35df0c73a16bacc17396fb00f3
Author: Ben Pfaff <blp at nicira.com>
		
util: Move bitwise_copy() here, add new bitwise functions, add a test.
		
bitwise_copy() is generally useful so make it a general utility function.
Also add a comment.

Upcoming commits will introduce users for the new functions.

Signed-off-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 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            |  335 +++++++++++++++----
 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/random.c               |   14 +-
 lib/random.h               |    3 +-
 lib/timeval.c              |   20 +-
 lib/timeval.h              |    4 +-
 lib/util.c                 |  168 ++++++++++-
 lib/util.h                 |   12 +-
 lib/vlog.c                 |    8 +-
 ofproto/ofproto-dpif.c     |   96 +++---
 ofproto/ofproto-provider.h |   87 ++++--
 ofproto/ofproto.c          |  784 +++++++++++++++++++++++++++++++++++++++-----
 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          |  486 +++++++++++++++++++++++++++
 tests/test-util.c          |  105 ++++++-
 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 ++++++
 42 files changed, 3080 insertions(+), 745 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


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list