[ovs-git] Open vSwitch: ofproto: Add simple tests for dumping aggregates and for OpenFlow 1.0. (next)

dev at openvswitch.org dev at openvswitch.org
Tue Jun 7 23:23:03 UTC 2011


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, next has been updated
  discards  e040f3b3e6d89cbe9b7d027c4fac73a257871b14 (commit)
  discards  8e87244f36be822ee964a0350369e43be0e170c8 (commit)
  discards  146498047604f9ed29793c721e86f15ca41eedfb (commit)
  discards  bf75416443fec7a0d4de7980521f2e44bdcf000f (commit)
  discards  b90129a926b01d4915d6222c47caf084df61ac3d (commit)
  discards  a6bae844e2003adcf3e4767e2376038dd9c160e7 (commit)
  discards  f1c1d80770f614160fd5806c1bc24b64ddcfbdb3 (commit)
  discards  4084b43e47a01a66c14cda3eb6368349b2a4f72a (commit)
  discards  4d7f0472b9beb9ba1e876004c1a1dc1782e1bc05 (commit)
  discards  cd826618ac0669bd85398833d5e07f7e7c0b8051 (commit)
  discards  2c34b4803ae20c5f4e48f379f40705374c6f33b1 (commit)
  discards  6ce7a5f67cfd4bd01b0d1f0355b1f1a77b299b3e (commit)
  discards  92851b5f86b5444466da12d3aba508608081bebe (commit)
  discards  a253c8d206302b0f4a4c101c5cb3c60b5fd78d49 (commit)
  discards  0a1d4069e235c6f9d30d6e26f14134798f34d2c8 (commit)
  discards  8cd06a19d7bd3a6f6566f1f19da643dbfcdf82d6 (commit)
       via  71a9e070004a906842c62518876986a0068e82a5 (commit)
       via  6049f80e996f3cc7671ae12b0b2f48111824372c (commit)
       via  282308641bf475fbf103279dbf44a1d5c87670cc (commit)
       via  93a097de17768db187f3874216ab44e79829dec6 (commit)
       via  10a132ef6f2b4ce8d8c82e75f0420e47cbef8e4b (commit)
       via  86ee36f92890d1ec25604f848cb6f85a313567e9 (commit)
       via  548c699c31ea14267115becd1ef4f09a6e1a0528 (commit)
       via  58a2864961c83b1e960aba99aa22fa544b5b78e3 (commit)
       via  8b7756918570fdbf961dee0e1b2b6a17691f38b3 (commit)
       via  8d09832f4fc2943fa4f82c5444f14d2ecd6da9f5 (commit)
       via  a2e5816c484add4cc248eaef749d0443de3de00a (commit)
       via  f3e4c866a23acdd3b70d0e89289c2cb9e0761e1e (commit)
       via  88d7f5e6723f8e56235158a52c39a8c30c5a6160 (commit)
       via  eaf2cc30e3a1ed0268208246b090b0df9d6f2711 (commit)
       via  6bc59ae0d241c160c3a9db72efeb71577eb064b0 (commit)
       via  d51ac41cd6f304dce6e61954addb7a97d4183305 (commit)
       via  a3c4dc652ff62b2444a1cd5bd92f9a5fccacab6b (commit)
       via  4e51de4c40165c966206809b893e6c9a3f16cbab (commit)
       via  955a7127749e6e6e45b3e1a4d396a62e66d563f3 (commit)
       via  5a08f9b04417ad1dc343861f3be3975a5cbd074c (commit)
       via  d3c110b648236b9772bf5e5cad2540bb48d7a90f (commit)
       via  045b2e5c77d02cd0d7bba046e2dbed72ec4828c8 (commit)
       via  d3db2ef1f501cdbbf136de35e77a72e9b4970ece (commit)
       via  b05072ee5ed4a97d0feb03853b881b3e2e2a5536 (commit)
       via  d901ddf433b7b7d37216b5ff4bf185e9319dce47 (commit)
       via  eb8b28e7da920d162f439a5a58088982f0da58a1 (commit)
       via  932df1237b64fcb80c23acb2177bfe659654220a (commit)
       via  cc7ecee48ade1626a6fb6548fff592dcd074e33f (commit)
       via  d26c5b7422b779c170f360aaae194e5910ef7e16 (commit)
       via  6910a6e6f25f7fe7adfd93c8405671e72d4d156b (commit)
       via  25d4983554f6cf8ce5e169f7c5bb5a08c981d27e (commit)
       via  44b4d050d4a2c966ed6f4aef2e523f70b6463648 (commit)
       via  29d7226e8b17ce1891aaba8f3009715b24fa664f (commit)
       via  1cb29ab050c601448a89eb7311a9f07095921bbd (commit)
       via  9d9a0a0452a957472b0f3a9c132aea19cfb4e568 (commit)
       via  b3e9b2eda9ae5be2ac2b7917858732738a818b66 (commit)
       via  afabef2b7de84e628b1f2f1ba2e92ec734463eda (commit)
       via  80e5eed9c2128f04a1d7da134120d96e961dbe10 (commit)
       via  b85145b59fab7efa236cdabd6ef0bda87f373d19 (commit)
       via  7286b1e13dbf358ea6071d04b311474208308ad6 (commit)
       via  eb6f28db085cdf8dd506aa06825199e09f85c32c (commit)
       via  47271d0d8d12c5689cd0103dc47b62913a515b36 (commit)
       via  943e5afe0b450fc665a4a162fe1bacafd34d18e8 (commit)
       via  1ea241383e608ee173671c233a819648d773cb25 (commit)
       via  031d8bffb788d1fb6da52d9671f4171579b7673a (commit)
       via  ac4d3bcb46fa0acd0b63f79449432df28569f74f (commit)
      from  e040f3b3e6d89cbe9b7d027c4fac73a257871b14 (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 71a9e070004a906842c62518876986a0068e82a5
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=71a9e070004a906842c62518876986a0068e82a5
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Add simple tests for dumping aggregates and for OpenFlow 1.0.
		
We had no tests that exercised OFPST_AGGREGATE or NXST_AGGREGATE.  At one
point in development I screwed up aggregate stats badly enough that they
caused an immediate and reproducible segfault, which this simple test would
have caught.

Also, it's best to test everything in both NXM and OpenFlow 1.0 flow
formats, since they have slightly different code.


commit 6049f80e996f3cc7671ae12b0b2f48111824372c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6049f80e996f3cc7671ae12b0b2f48111824372c
Author: Ben Pfaff <blp at nicira.com>
		
Define UINT64_MAX as "unknown" in Open vSwitch specific interfaces.
		
Some hardware supports reporting packet or byte counters but not both, so
OVS has to be prepared for that.

Suggested-by: Justin Pettit <jpettit at nicira.com>


commit 282308641bf475fbf103279dbf44a1d5c87670cc
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=282308641bf475fbf103279dbf44a1d5c87670cc
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Implement asynchronous OFPT_FLOW_MOD commands.
		
Some switching hardware takes a very long time to update its forwarding
rules, up to hundreds of milliseconds.  It is undesirable for Open
vSwitch to block waiting this long for individual OpenFlow flow table
modification commands to complete.  This commit enables ofproto to queue
up any number of independent flow table operations with asynchronous
completion.

I tested earlier versions of this commit using the "ofproto/clog" and
"ofproto/unclog" commands that it implements in the software switch
implementation.  I have not tested the current version very much at all.

CC: Casey Barker <crbarker at google.com>
CC: Rajiv Ramanathan <rajivr at google.com>


commit 93a097de17768db187f3874216ab44e79829dec6
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=93a097de17768db187f3874216ab44e79829dec6
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Collect all rules for an OpenFlow request before acting on any.
		
An upcoming commit adds support for asynchronous flow table modification.
In an attempt to ensure that the software and hardware flow tables are
properly in sync, that commit limits any given rule to a single outstanding
operation at a time.  It does so by figuring out all of the rules that an
OpenFlow request will affect before modifying any of them, and then
deferring the request if it will affect any rules that have ongoing
operations.  This commit is a step in that direction.


commit 10a132ef6f2b4ce8d8c82e75f0420e47cbef8e4b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=10a132ef6f2b4ce8d8c82e75f0420e47cbef8e4b
Author: Ben Pfaff <blp at nicira.com>
		
ofp-util: New functions ofputil_actions_equal(), ofputil_actions_clone().
		
I found that introducing these helper functions provided a very modest
increase in readability.


commit 86ee36f92890d1ec25604f848cb6f85a313567e9
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=86ee36f92890d1ec25604f848cb6f85a313567e9
Author: Ben Pfaff <blp at nicira.com>
		
connmgr: New function ofconn_send_error().
		
An upcoming commit will sometimes make connmgr responsible for sending
error replies, so it's reasonable for it to have a function to do that.


commit 548c699c31ea14267115becd1ef4f09a6e1a0528
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=548c699c31ea14267115becd1ef4f09a6e1a0528
Author: Ben Pfaff <blp at nicira.com>
		
classifier: New function cls_rule_hash().
		
An upcoming commit will introduce the first use.


commit 58a2864961c83b1e960aba99aa22fa544b5b78e3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=58a2864961c83b1e960aba99aa22fa544b5b78e3
Author: Ben Pfaff <blp at nicira.com>
		
flow: Give flow_wildcards_hash() a 'basis' parameter.
		
An upcoming commit will add more interesting uses.


commit 8b7756918570fdbf961dee0e1b2b6a17691f38b3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8b7756918570fdbf961dee0e1b2b6a17691f38b3
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Better abstract flow stats encoding.
		


commit 8d09832f4fc2943fa4f82c5444f14d2ecd6da9f5
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8d09832f4fc2943fa4f82c5444f14d2ecd6da9f5
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Better abstract aggregate stats encoding and decoding.
		


commit a2e5816c484add4cc248eaef749d0443de3de00a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a2e5816c484add4cc248eaef749d0443de3de00a
Author: Ben Pfaff <blp at nicira.com>
		
openflow: Make stats replies more like other OpenFlow messages.
		


commit f3e4c866a23acdd3b70d0e89289c2cb9e0761e1e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f3e4c866a23acdd3b70d0e89289c2cb9e0761e1e
Author: Ben Pfaff <blp at nicira.com>
		
nicira-ext: Separate nx_aggregate_stats_reply from ofp_aggregate_stats_reply.
		
An upcoming patch will make stats messages much more like other messages,
in that their structures will include all of the headers.  This means that
struct ofp_aggregate_stats_reply will no longer be appropriate as a
member of struct nx_aggregate_stats_reply, because it will then include
those additional header members.

Also, struct nx_aggregate_stats_reply doesn't need to use the special
ovs_32aligned_be64 type, since its 64-bit members are correctly aligned,
which is another reasonable reason to keep it separate.


commit 88d7f5e6723f8e56235158a52c39a8c30c5a6160
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=88d7f5e6723f8e56235158a52c39a8c30c5a6160
Author: Ben Pfaff <blp at nicira.com>
		
openflow: Merge ofp_flow_stats_request and ofp_aggregate_stats_request.
		


commit eaf2cc30e3a1ed0268208246b090b0df9d6f2711
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=eaf2cc30e3a1ed0268208246b090b0df9d6f2711
Author: Ben Pfaff <blp at nicira.com>
		
openflow: Remove 'body' member from struct ofp_stats_msg.
		
This member does not actually help with anything.


commit 6bc59ae0d241c160c3a9db72efeb71577eb064b0
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6bc59ae0d241c160c3a9db72efeb71577eb064b0
Author: Ben Pfaff <blp at nicira.com>
		
openflow: Merge ofp_stats_request and ofp_stats_reply.
		
These structures for OpenFlow stats requests and replies have identical
memebers, but until now they have been separate structures.  Since in some
cases we actually want to treat both of them the same way, this has led
to various kinds of awkwardness.  This commit merges them into a new
"struct ofp_stats_msg" and fixes up the users.


commit d51ac41cd6f304dce6e61954addb7a97d4183305
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d51ac41cd6f304dce6e61954addb7a97d4183305
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Correctly fill in table_id in NXST_FLOW replies.
		


commit a3c4dc652ff62b2444a1cd5bd92f9a5fccacab6b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a3c4dc652ff62b2444a1cd5bd92f9a5fccacab6b
Author: Ben Pfaff <blp at nicira.com>
		
list: Clarify description of list_moved().
		
This function doesn't have any users, but an upcoming commit will add one.


commit 4e51de4c40165c966206809b893e6c9a3f16cbab
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4e51de4c40165c966206809b893e6c9a3f16cbab
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Fix memory leak in port_configure().
		


commit 955a7127749e6e6e45b3e1a4d396a62e66d563f3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=955a7127749e6e6e45b3e1a4d396a62e66d563f3
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Fix memory leak in ofproto_destroy__().
		


commit 5a08f9b04417ad1dc343861f3be3975a5cbd074c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5a08f9b04417ad1dc343861f3be3975a5cbd074c
Author: Ben Pfaff <blp at nicira.com>
		
signals: New function signal_unregister().
		
Fixes a very minor memory leak in ovs-vswitchd reported by valgrind.


commit d3c110b648236b9772bf5e5cad2540bb48d7a90f
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d3c110b648236b9772bf5e5cad2540bb48d7a90f
Author: Ben Pfaff <blp at nicira.com>
		
dpif-linux: Fix memory and file descriptor leak in dpif_linux_close().
		
Found with valgrind.


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

Summary of changes:
 AUTHORS                                            |    1 +
 ChangeLog                                          |    3 +
 INSTALL.OpenFlow                                   |  150 -----------
 INSTALL.userspace                                  |   12 -
 Makefile.am                                        |    2 +-
 PORTING                                            |    6 +-
 README                                             |    7 +-
 datapath/datapath.c                                |   10 +-
 datapath/flow.c                                    |   89 ++++++--
 datapath/flow.h                                    |    2 +
 datapath/vport-capwap.c                            |    5 +-
 lib/bond.c                                         |   32 +--
 lib/dpif-linux.c                                   |   56 +++--
 lib/dpif-netdev.c                                  |    4 +
 lib/dpif-provider.h                                |   11 +-
 lib/dpif.c                                         |    9 +-
 lib/dpif.h                                         |    6 +-
 lib/learning-switch.c                              |   33 ++-
 lib/learning-switch.h                              |   11 +-
 lib/list.c                                         |    6 +-
 lib/netdev-dummy.c                                 |   74 +-----
 lib/netdev-linux.c                                 |  121 ++--------
 lib/netdev-provider.h                              |   39 +--
 lib/netdev-vport.c                                 |   83 +------
 lib/netdev.c                                       |  155 +-----------
 lib/netdev.h                                       |   11 +-
 lib/ofp-util.c                                     |   93 +++----
 lib/ofp-util.h                                     |    1 +
 lib/rtnetlink-link.c                               |    4 +-
 lib/signals.c                                      |   21 ++-
 lib/signals.h                                      |    3 +
 lib/stream-ssl.c                                   |  105 --------
 lib/util.c                                         |   11 +
 lib/util.h                                         |    2 +
 ofproto/in-band.c                                  |    1 +
 ofproto/ofproto-dpif.c                             |  261 +++++++++++---------
 ofproto/ofproto.c                                  |   57 ++++-
 ofproto/private.h                                  |   34 ++-
 ovsdb/SPECS                                        |   20 ++
 ovsdb/column.c                                     |   30 ++-
 ovsdb/column.h                                     |   10 +-
 ovsdb/execution.c                                  |    8 +-
 ovsdb/ovsdb-doc.in                                 |    2 +
 ovsdb/row.c                                        |   24 ++-
 ovsdb/row.h                                        |   11 +-
 ovsdb/table.c                                      |  109 +++++++--
 ovsdb/table.h                                      |    8 +-
 ovsdb/transaction.c                                |  196 +++++++++++++++-
 python/ovs/db/schema.py                            |   59 ++++-
 tests/.gitignore                                   |    2 +
 tests/automake.mk                                  |   14 +-
 tests/ofproto-macros.at                            |    8 +-
 tests/ovsdb-execution.at                           |   85 +++++++-
 tests/ovsdb-server.at                              |    2 +-
 tests/ovsdb-table.at                               |   25 ++
 tests/ovsdb-tool.at                                |    2 +-
 .../test-openflowd.8.in                            |   60 +++---
 .../ovs-openflowd.c => tests/test-openflowd.c      |    6 +-
 tests/test-ovsdb.c                                 |   17 +-
 utilities/.gitignore                               |    2 -
 utilities/automake.mk                              |   11 -
 utilities/ovs-appctl.8.in                          |    1 -
 utilities/ovs-controller.8.in                      |   19 +-
 utilities/ovs-controller.c                         |   13 +-
 utilities/ovs-dpctl.8.in                           |   27 --
 utilities/ovs-ofctl.8.in                           |   19 +-
 utilities/ovs-pcap.1.in                            |    4 +-
 utilities/ovs-pki.8.in                             |    1 -
 utilities/ovs-save                                 |    5 +-
 utilities/ovs-tcpundump.1.in                       |    3 +-
 vswitchd/bridge.c                                  |    1 +
 vswitchd/ovs-vswitchd.8.in                         |    3 -
 vswitchd/ovs-vswitchd.c                            |    1 +
 vswitchd/vswitch.ovsschema                         |   19 +-
 xenserver/openvswitch-xen.spec                     |    2 -
 75 files changed, 1215 insertions(+), 1145 deletions(-)
 delete mode 100644 INSTALL.OpenFlow
 rename utilities/ovs-openflowd.8.in => tests/test-openflowd.8.in (85%)
 rename utilities/ovs-openflowd.c => tests/test-openflowd.c (98%)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list