[ovs-git] Open vSwitch: ofproto: New feature to notify controllers of flow table changes. (master)

dev at openvswitch.org dev at openvswitch.org
Thu Jul 12 21:20:19 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  2b07c8b182b76e4e3a162796d3ae273ef51d4131 (commit)
       via  e2a3d183f60b93265c095ede1379194916444822 (commit)
       via  080437614b40799853a42806fa29e7c71f42210d (commit)
       via  41792464296d4ea9393adff3eea7bef514655cba (commit)
       via  a644168568471eb33f8d1e60e872859f4e5bbc69 (commit)
       via  1d31ece9c09ecd31ed524f0f83573e8780774abb (commit)
       via  5cc63216b1dba9be9ac243d9b47f65d3e23bcab6 (commit)
       via  e8fa940e4af32f904ff1958a36f95ad4153eac67 (commit)
       via  6ceeaa926d9cb325d963da0c6f03bcc3b98c0344 (commit)
       via  e615b0a347057f9af7e93922acd4ae794ac87015 (commit)
       via  d4ce8a49d75f686a6e4437864b207fdae39a9675 (commit)
       via  de0f16bc0b39294e524eac88a4ac03a6b25cb1f7 (commit)
      from  bdcc59259553133f25a1c9759fa4bfa302adc365 (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 2b07c8b182b76e4e3a162796d3ae273ef51d4131
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=2b07c8b182b76e4e3a162796d3ae273ef51d4131
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: New feature to notify controllers of flow table changes.
		
OpenFlow switching monitoring and controller coordination can be made more
efficient if the switch can notify a controller of flow table changes as
they occur, rather than periodically polling for changes.  This commit
implements such a feature.

Feature #6633.
CC: Natasha Gude <natasha at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit e2a3d183f60b93265c095ede1379194916444822
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e2a3d183f60b93265c095ede1379194916444822
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Add extra comments and checking for expiring a pending rule.
		
A given rule may only have one pending operation at a time, so when an
operation is pending we must not allow a flow expiration to be started on
that rule.

This doesn't fix a user-visible bug in ofproto-dpif because ofproto-dpif
always completes operations immediately, that is, no operations will be
pending when expiration runs.  (Technically there is a bug if the user
runs "ovs-appctl ofproto/clog", but that feature is for debugging only and
there is no reason for a user to ever run it.)

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


commit 080437614b40799853a42806fa29e7c71f42210d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=080437614b40799853a42806fa29e7c71f42210d
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Represent flow cookie changes as operations too.
		
An upcoming commit will add support for monitoring changes to the flow
table.  This feature wants to be able to report changes to flow cookies,
as well as to other properties of a flow.  Until now, however, a flow_mod
that modifies only the flow's cookie is treated as a special case that does
not go through the ofoperation mechanism.  That makes it harder to report
flow cookie-only changes (it would require an additional special case in
the reporting mechanism) so this commit changes cookie-only changes to
go through ofoperations.

The bulk of this change is to change the meaning of ofoperation's 'ofpacts'
member so that a NULL value indicates that the flow's actions are not
changing.  Otherwise a flow-cookie only change would still require copying
and then freeing all the actions, which seems like a waste.

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


commit 41792464296d4ea9393adff3eea7bef514655cba
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=41792464296d4ea9393adff3eea7bef514655cba
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Revert change in flow cookie when an ofoperation fails.
		
The flow_cookie member of struct ofoperation has always been there, but it
seems that it's never been used.  This fixes the code so that if a modify
operation fails the rule's original flow cookie is restored.

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


commit a644168568471eb33f8d1e60e872859f4e5bbc69
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a644168568471eb33f8d1e60e872859f4e5bbc69
Author: Ben Pfaff <blp at nicira.com>
		
rconn: Add byte counting feature to rconn_packet_counter.
		
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 1d31ece9c09ecd31ed524f0f83573e8780774abb
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1d31ece9c09ecd31ed524f0f83573e8780774abb
Author: Ben Pfaff <blp at nicira.com>
		
Add OFPRR_EVICTION to enum ofp_flow_removed_reason.
		
This is likely to be part of OpenFlow 1.3.1 or 1.4 and we have use for it
beforehand to report evicted flows.

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


commit 5cc63216b1dba9be9ac243d9b47f65d3e23bcab6
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5cc63216b1dba9be9ac243d9b47f65d3e23bcab6
Author: Ben Pfaff <blp at nicira.com>
		
ofp-util: Make put_stats__() public as ofputil_put_stats_header().
		
An upcoming commit will introduce a user outside of ofp-util.c.

The change to put_stats_reply__() is larger than strictly necessary to
avoid making really ugly line breaks.

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


commit e8fa940e4af32f904ff1958a36f95ad4153eac67
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e8fa940e4af32f904ff1958a36f95ad4153eac67
Author: Ben Pfaff <blp at nicira.com>
		
ofp-print: Slightly extend ofp_print_bit_names().
		
In an upcoming commit I want to print comma-separated, not space-separated,
names for a set of bits.

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


commit 6ceeaa926d9cb325d963da0c6f03bcc3b98c0344
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6ceeaa926d9cb325d963da0c6f03bcc3b98c0344
Author: Ben Pfaff <blp at nicira.com>
		
classifier: New function cls_rule_is_loose_match().
		
This function will be useful in an upcoming commit.

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


commit e615b0a347057f9af7e93922acd4ae794ac87015
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e615b0a347057f9af7e93922acd4ae794ac87015
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Finalize all ofoperations in a given ofgroup at the same time.
		
An upcoming commit will add support for flow table monitoring by
controllers.  One feature of this upcoming support is that a controller's
own changes to the flow table can be abbreviated to a summary, since the
controller presumably knows what it has already sent to the switch.
However, the summary only makes sense if a set of flow table changes
completely succeeds or completely fails.  If it partially fails, the
switch must not attempt to summarize it, because the controller needs
to know the details.  Given that, we have to wait for all of the
operations in an ofgroup to either succeed or fail before the switch
can send its flow table update report to the controllers.  This
commit makes that change.

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


commit d4ce8a49d75f686a6e4437864b207fdae39a9675
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d4ce8a49d75f686a6e4437864b207fdae39a9675
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Mark some function parameters const.
		
This allows FOR_EACH_MATCHING_TABLE to be used with const TABLE and
OFPROTO arguments.

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


commit de0f16bc0b39294e524eac88a4ac03a6b25cb1f7
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=de0f16bc0b39294e524eac88a4ac03a6b25cb1f7
Author: Ben Pfaff <blp at nicira.com>
		
ofp-print: Print out_port field in "flow_mod"s.
		
Somehow we've overlooked this for a long time.  I guess that feature
doesn't get used very much.

Also updates the test output for OFPT_FLOW_MOD to include the out_port
output and adds out_port to the NXT_FLOW_MOD tests.

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


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

Summary of changes:
 NEWS                               |    2 +
 include/openflow/nicira-ext.h      |  245 +++++++++++++++-
 include/openflow/openflow-common.h |    3 +-
 lib/classifier.c                   |   77 +++--
 lib/classifier.h                   |    3 +
 lib/learning-switch.c              |    5 +
 lib/ofp-errors.h                   |   15 +-
 lib/ofp-parse.c                    |   62 ++++
 lib/ofp-parse.h                    |    4 +
 lib/ofp-print.c                    |  174 ++++++++++-
 lib/ofp-util.c                     |  306 ++++++++++++++++++-
 lib/ofp-util.h                     |   53 ++++-
 lib/rconn.c                        |   36 ++-
 lib/rconn.h                        |   15 +-
 ofproto/connmgr.c                  |  262 ++++++++++++++++-
 ofproto/connmgr.h                  |   32 ++
 ofproto/ofproto-dpif.c             |    5 +
 ofproto/ofproto-provider.h         |   14 +
 ofproto/ofproto.c                  |  589 +++++++++++++++++++++++++++++-------
 tests/ofp-print.at                 |   67 ++++-
 tests/ofproto.at                   |  130 ++++++++
 utilities/ovs-ofctl.8.in           |   39 +++-
 utilities/ovs-ofctl.c              |   87 +++++-
 23 files changed, 2014 insertions(+), 211 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list