[ovs-git] Open vSwitch: Abstract everything that uses ofp_phy_port, add OF1.1 support. (master)

dev at openvswitch.org dev at openvswitch.org
Wed Mar 7 22:05:22 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  9e1fd49b0cf494315c82f27c651486ef82e83446 (commit)
       via  08f94c0e1a47518e73f954af8f61eb0df31ac8bd (commit)
       via  6c0386119d614d5e26ca08cc3d8e527806b87ef9 (commit)
       via  7887679be26e75b897494580f280870d9a1fa318 (commit)
       via  5293a2e145a9ccc7e42c4a3cf49dee2a21a3b1c8 (commit)
       via  7b7503ea627ccd2a0851803ca39c1505f30415d3 (commit)
       via  3811e66bb6e6ea4d56271f6061495b89fdd547bd (commit)
       via  87ea5e5e26c97598cd66ef64c8386afac2b77fff (commit)
       via  539315543cc6123ae4efec162e291f7f90d0ccf0 (commit)
       via  27527aa09ce456796eeea728cef9528aa5612b70 (commit)
       via  032f3fbd856864cdcbdf505d404e826999b8a2ae (commit)
       via  31c6fcd7d928dfeadd89eb8c30e4045ae68083be (commit)
      from  f4ec6ff479ace8f9b893f883557235f2ea6bab8f (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 9e1fd49b0cf494315c82f27c651486ef82e83446
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=9e1fd49b0cf494315c82f27c651486ef82e83446
Author: Ben Pfaff <blp at nicira.com>
		
Abstract everything that uses ofp_phy_port, add OF1.1 support.
		
Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 08f94c0e1a47518e73f954af8f61eb0df31ac8bd
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=08f94c0e1a47518e73f954af8f61eb0df31ac8bd
Author: Ben Pfaff <blp at nicira.com>
		
openflow: Split OFPAT_* into OFPAT10_* and OFPAT11_*.
		
An upcoming commit will start referring to OpenFlow 1.1 actions, which are
renumbered relative to OpenFlow 1.0 actions, so this commit prepares by
changing all the existing uses of OFPAT_* to instead use OFPAT10_*.

This commit also introduces the OFPAT11_* constants.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 6c0386119d614d5e26ca08cc3d8e527806b87ef9
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6c0386119d614d5e26ca08cc3d8e527806b87ef9
Author: Ben Pfaff <blp at nicira.com>
		
netdev: Abstract "features" interface away from OpenFlow 1.0.
		
netdev_get_features() and other functions have always used OpenFlow 1.0
"enum ofp_port_features" bits as part of their interface.  This commit
switches over to using an internally defined interface that is not tied
directly to any OpenFlow version, making evolution of each side of the
interface easier in the future.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 7887679be26e75b897494580f280870d9a1fa318
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7887679be26e75b897494580f280870d9a1fa318
Author: Ben Pfaff <blp at nicira.com>
		
ofp-util: Don't decode some OF1.1 messages as OF1.0 stats messages.
		
This bug was not yet visible because none of the messages that would be
misinterpreted were yet implemented.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 5293a2e145a9ccc7e42c4a3cf49dee2a21a3b1c8
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5293a2e145a9ccc7e42c4a3cf49dee2a21a3b1c8
Author: Ben Pfaff <blp at nicira.com>
		
Break OFPT_* constants into common value and 1.0- and 1.1-specific values.
		
Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 7b7503ea627ccd2a0851803ca39c1505f30415d3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7b7503ea627ccd2a0851803ca39c1505f30415d3
Author: Ben Pfaff <blp at nicira.com>
		
ofp-util: Add functions for working with OpenFlow 1.1 port numbers.
		
OpenFlow 1.1 extends port numbers to 32 bits.  Initially we plan to support
only port numbers in the 16-bit range in Open vSwitch.  However the OF1.1
reserved ports have high-valued fixed numbers that require translation to
high fixed values in the 16-bit range for OF1.0.  These new functions
provide this translation.

Nothing uses these functions yet.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 3811e66bb6e6ea4d56271f6061495b89fdd547bd
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=3811e66bb6e6ea4d56271f6061495b89fdd547bd
Author: Ben Pfaff <blp at nicira.com>
		
ofp-print: Print OpenFlow version number of message, unless it's 1.0.
		
The version number is an important part of the OpenFlow message's
meaning, so include it.  Version 1.0 is grandfathered in so existing output
parsers don't have to change.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 87ea5e5e26c97598cd66ef64c8386afac2b77fff
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=87ea5e5e26c97598cd66ef64c8386afac2b77fff
Author: Ben Pfaff <blp at nicira.com>
		
Begin breaking openflow-1.0.h into common and version-specific definitions.
		
The intention is that, as each OpenFlow 1.1 and 1.2 feature is added to Open
vSwitch, the corresponding protocol definitions will be broken up this way:

  - Definitions that are the same in OF1.0 and OF1.1 will retain the "OFP"
    or "ofp" prefix and move to openflow-common.h.

  - Definitions that are specific to OF1.0 will be renamed with an "OFP10"
    or "ofp10" prefix and stay in openflow-1.0.h.

  - Definitions that are specific to OF1.1 or to OF1.1 and OF1.2 will be
    renamed with an "OFP11" or "ofp11" prefix and move to openflow-1.1.h.

  - Definitions that are specific to OF1.2 will be renamed with an "OFP12"
    or "ofp12" prefix and move to openflow-1.2.h.

This commit starts this process with some basic OpenFlow definitions.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 539315543cc6123ae4efec162e291f7f90d0ccf0
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=539315543cc6123ae4efec162e291f7f90d0ccf0
Author: Ben Pfaff <blp at nicira.com>
		
Move content of openflow.h into openflow-1.0.h.
		
This prepares for a gradual introduction of definitions from OpenFlow
1.1 and later, by making it clearer that the current definitions are
specific to OpenFlow 1.0.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 27527aa09ce456796eeea728cef9528aa5612b70
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=27527aa09ce456796eeea728cef9528aa5612b70
Author: Ben Pfaff <blp at nicira.com>
		
Introduce ofputil_protocol, to abstract the protocol in use on a connection.
		
Open vSwitch already handles a few different protocol variations, but it
does so in a nonuniform manner:

  - OpenFlow 1.0 and NXM flow formats are distinguished using the NXFF_*
    constant values from nicira-ext.h.

  - The "flow_mod_table_id" feature setting is maintained in ofproto as
    part of an OpenFlow connection's (ofconn's) state.

There's no way to easily communicate this state among components.  It's
not much of a problem yet, but as more protocol support is added it seems
better to have an abstract, uniform way to represent protocol versions and
variants.  This commit implements that by introducing a new type
"enum ofputil_protocol".  Each ofputil_protocol value represents a variant
of a protocol version.  Each value is a separate bit, so a single enum
can also represent a set of protocols, which is often useful as well.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 032f3fbd856864cdcbdf505d404e826999b8a2ae
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=032f3fbd856864cdcbdf505d404e826999b8a2ae
Author: Ben Pfaff <blp at nicira.com>
		
ofp-print: Remove unused function ofp_message_type_to_string().
		
ofputil_msg_type_name() is a better interface.

Reviewed-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 31c6fcd7d928dfeadd89eb8c30e4045ae68083be
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=31c6fcd7d928dfeadd89eb8c30e4045ae68083be
Author: Ben Pfaff <blp at nicira.com>
		
ovs-ofctl: Avoid segfault upon receive error for "monitor", "snoop".
		
Bug #10062.
Reported-by: James Schmidt <jschmidt at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


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

Summary of changes:
 build-aux/check-structs                         |   51 +-
 include/openflow/automake.mk                    |   32 +-
 include/openflow/{openflow.h => openflow-1.0.h} |  310 ++----
 include/openflow/openflow-1.1.h                 |  204 ++++
 include/openflow/openflow-common.h              |  197 ++++
 include/openflow/openflow.h                     |  809 +---------------
 lib/learn.c                                     |    2 +-
 lib/learning-switch.c                           |   86 ++-
 lib/learning-switch.h                           |    8 +-
 lib/netdev-linux.c                              |  115 ++-
 lib/netdev-provider.h                           |   13 +-
 lib/netdev.c                                    |   60 +-
 lib/netdev.h                                    |   35 +-
 lib/ofp-errors.h                                |    3 +
 lib/ofp-parse.c                                 |  107 +--
 lib/ofp-parse.h                                 |   12 +-
 lib/ofp-print.c                                 |  462 +++++----
 lib/ofp-print.h                                 |    4 +-
 lib/ofp-util.c                                  | 1217 ++++++++++++++++++++---
 lib/ofp-util.def                                |   30 +-
 lib/ofp-util.h                                  |  269 +++++-
 lib/rconn.c                                     |   12 +-
 lib/rconn.h                                     |    1 +
 lib/stream.c                                    |    2 +-
 lib/util.h                                      |   14 +
 lib/vconn.c                                     |   33 +-
 lib/vconn.h                                     |    1 +
 ofproto/connmgr.c                               |   67 +-
 ofproto/connmgr.h                               |   12 +-
 ofproto/fail-open.c                             |    4 +-
 ofproto/in-band.c                               |    4 +-
 ofproto/ofproto-dpif-sflow.c                    |    4 +-
 ofproto/ofproto-dpif.c                          |   98 +-
 ofproto/ofproto-provider.h                      |   30 +-
 ofproto/ofproto.c                               |  205 ++--
 tests/autopath.at                               |    8 +-
 tests/learn.at                                  |   19 +-
 tests/ofp-print.at                              |  122 +++-
 tests/ofproto.at                                |   30 +-
 tests/ovs-ofctl.at                              |   65 +-
 tests/test-vconn.c                              |   20 +-
 utilities/ovs-controller.c                      |   41 +-
 utilities/ovs-ofctl.8.in                        |   62 +-
 utilities/ovs-ofctl.c                           |  489 +++++-----
 vswitchd/bridge.c                               |    4 +-
 vswitchd/ovs-vswitchd.c                         |    2 +-
 46 files changed, 3160 insertions(+), 2215 deletions(-)
 copy include/openflow/{openflow.h => openflow-1.0.h} (72%)
 create mode 100644 include/openflow/openflow-1.1.h
 create mode 100644 include/openflow/openflow-common.h


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list