[ovs-dev] [ovs-git] Open vSwitch: ofproto: Always terminate OpenFlow description strings (master)

Ben Pfaff blp at nicira.com
Tue Feb 23 08:56:23 PST 2010


Oops.  I rewound the branch.  It is now as if the push never happened.

On Mon, Feb 22, 2010 at 11:38:08PM -0800, Justin Pettit wrote:
> I had intended for this to get pushed to "openflow-1.0", not the
> master branch.  I will make sure that this gets reverted in the
> morning once I sanity-check that I won't make it worse with Ben.  In
> the meantime, please don't pull from here.
> 
> Sorry!
> 
> --Justin
> 
> 
> On Feb 22, 2010, at 11:05 PM, dev at openvswitch.org wrote:
> 
> > 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  8c5b1a2ced970e2f9e32474e1b0d13c98fa4bf5b (commit)
> >       via  30bebc49820e726ec596747489813dea608289e3 (commit)
> >       via  f0b1120b91028665813691491fc3b6591610e9bc (commit)
> >       via  1c8fda550d68a7493c158cef9d4ffe73d9a1c374 (commit)
> >       via  c49fa5f573b5d2e468c95aee98d1d37414025751 (commit)
> >       via  01e54b54a34c52829bf68e715deac6010da5b8db (commit)
> >       via  7c14bb3b645ec686aa67ea029796f7303059e603 (commit)
> >       via  4579614c80133679cf5d14dd18698b87cb32e7a1 (commit)
> >       via  cb953e1e5bbaaedbfaba407e8ed7a8588ef1ed41 (commit)
> >       via  0ef48bdee4a058457a874f7ecb574c6fcf71ac82 (commit)
> >       via  d55ae8d66ad90b2a58746c29989695e4113529d0 (commit)
> >       via  208e2b9644425ffca33d39465c70dadf051630ca (commit)
> >       via  fa833c91138de206b624c9f1755d374509a3a522 (commit)
> >       via  860ad6b988e26e2f8bec862480049bc7ea425b26 (commit)
> >       via  6703d702d7624b45eaa6f2dd25accbfea3116049 (commit)
> >       via  c1278f348a2f920c7567e51774aa72c783e24024 (commit)
> >       via  687a8c4ff10b8d74260f0e6531ed3c20de8b31d6 (commit)
> >       via  61bdf7029e00af321d496170b96beddce1ef892f (commit)
> >       via  ccfa4cee1c5d2c8da6383e2f324d973759020822 (commit)
> >       via  663dcea6ef6a14e8b63696e42c2039d1c6d74a1d (commit)
> >      from  2f0a1f4277ed61e765e6e5383c07fe8fa1f067d3 (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 8c5b1a2ced970e2f9e32474e1b0d13c98fa4bf5b
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8c5b1a2ced970e2f9e32474e1b0d13c98fa4bf5b
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Always terminate OpenFlow description strings
> > 		
> > If an OpenFlow description was too long, it would not be properly
> > truncated with a final null character.  In addition to properly terminating
> > the string, this set of changes prints a warning if a description is too
> > long and standardizes on a naming standard for description variables.
> > 
> > 
> > commit 30bebc49820e726ec596747489813dea608289e3
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=30bebc49820e726ec596747489813dea608289e3
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ovs-openflowd: Standardize on OpenFlow description option
> > 		
> > ovs-vswitchd used a slightly different way to set the manufacturer,
> > hardware revision, software revision, serial number, and datapath
> > description than ovs-openflowd.  This standardizes on the ovs-vswitch
> > style and describes how to use them in the man page.
> > 
> > 
> > commit f0b1120b91028665813691491fc3b6591610e9bc
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f0b1120b91028665813691491fc3b6591610e9bc
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ovs-vswitchd: Add support for setting OpenFlow datapath descriptions
> > 		
> > 
> > 
> > commit 1c8fda550d68a7493c158cef9d4ffe73d9a1c374
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1c8fda550d68a7493c158cef9d4ffe73d9a1c374
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ovs-openflowd: Fix typo in comment describing dp_desc
> > 		
> > 
> > 
> > commit c49fa5f573b5d2e468c95aee98d1d37414025751
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c49fa5f573b5d2e468c95aee98d1d37414025751
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > Don't go beyond buffer length when printing descriptions
> > 		
> > Prevent reading past the end of the buffer when a description is not
> > null-terminated.
> > 
> > Reported-by: Ben Pfaff <blp at nicira.com>
> > 
> > 
> > commit 01e54b54a34c52829bf68e715deac6010da5b8db
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=01e54b54a34c52829bf68e715deac6010da5b8db
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Don't leak descriptions when destroying an ofproto
> > 		
> > Reported-by: Ben Pfaff <blp at nicira.com>
> > 
> > 
> > commit 7c14bb3b645ec686aa67ea029796f7303059e603
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7c14bb3b645ec686aa67ea029796f7303059e603
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Set protocol version to 0x01 (OpenFlow 1.0)
> > 		
> > Finalize OpenFlow 1.0 wire-compatibility:
> > 
> >    - Set protocol version to 0x01
> >    - Remove references to retired OFPC_MULTI_PHY_TX
> >    - Clean extraneous spaces in header file
> > 
> > NOTE: This is the final commit in the OpenFlow 1.0 set.  Starting with
> > this commit, OVS is OpenFlow 1.0 wire-compatible.  Slicing is not yet
> > implemented.
> > 
> > 
> > commit 4579614c80133679cf5d14dd18698b87cb32e7a1
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4579614c80133679cf5d14dd18698b87cb32e7a1
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Add wire-compatibility for slicing (OpenFlow 1.0)
> > 		
> > OpenFlow 1.0 adds support for a subset of QoS that's referred to as slicing.
> > Open vSwitch does not support this yet, so send errors if it's used.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0 until
> > the final commit in this OpenFlow 1.0 set.
> > 
> > 
> > commit cb953e1e5bbaaedbfaba407e8ed7a8588ef1ed41
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=cb953e1e5bbaaedbfaba407e8ed7a8588ef1ed41
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Querying port stats for individual ports (OpenFlow 1.0)
> > 		
> > OpenFlow 1.0 adds "port_no" field to the Port Stat request messages to
> > allow stats for individual ports to be queried.  Port stats for all ports
> > can still be requested by specifying OFPP_NONE as the port number.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0 until
> > the final commit in this OpenFlow 1.0 set.
> > 
> > 
> > commit 0ef48bdee4a058457a874f7ecb574c6fcf71ac82
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=0ef48bdee4a058457a874f7ecb574c6fcf71ac82
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Match on IP ToS/DSCP bits (OpenFlow 1.0)
> > 		
> > OpenFlow 1.0 adds support for matching on IP ToS/DSCP bits.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0 until
> > the final commit in this OpenFlow 1.0 set.
> > 
> > 
> > commit d55ae8d66ad90b2a58746c29989695e4113529d0
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d55ae8d66ad90b2a58746c29989695e4113529d0
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Improve resolution of flow stats and removed messages (OpenFlow 1.0)
> > 		
> > OpenFlow 1.0 increases the resolution of flow stats and flow removed messages
> > from seconds to (potentially) nanoseconds.  The spec stats that only
> > millisecond granularity is required, so that's all we provide at this
> > time.  Increasing to nanoseconds would require more significant code
> > change and would not provide an appreciable improvement in real world
> > use.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0 until
> > the final commit in this OpenFlow 1.0 set.
> > 
> > 
> > commit 208e2b9644425ffca33d39465c70dadf051630ca
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=208e2b9644425ffca33d39465c70dadf051630ca
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Add support for matching IP addresses in ARP header (OpenFlow 1.0)
> > 		
> > The OpenFlow 1.0 specification supports matching the IP address and
> > opcode in ARP messages.  The datapath already supports this, so this
> > commit merely exposes that through the OpenFlow module.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0
> > until the final commit in this OpenFlow 1.0 set.
> > 
> > 
> > commit fa833c91138de206b624c9f1755d374509a3a522
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=fa833c91138de206b624c9f1755d374509a3a522
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Add support for flow cookies (OpenFlow 1.0)
> > 		
> > In OpenFlow 1.0, flows have been extended to include an opaque
> > identifier, referred to as a cookie. The cookie is specified by the
> > controller when the flow is installed; the cookie will be returned as
> > part of each flow stats and flow removed message.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0 until
> > the final commit in this Openflow 1.0 set.
> > 
> > 
> > commit 860ad6b988e26e2f8bec862480049bc7ea425b26
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=860ad6b988e26e2f8bec862480049bc7ea425b26
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Add user-specifiable datapath description (OpenFlow 1.0)
> > 		
> > In OpenFlow 1.0, a "dp_desc" character array was added to the ofp_desc_stats
> > structure that allows a human readable description of the datapath to be
> > provided.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 1.0 until
> > the final commit in this OpenFlow 1.0 set.
> > 
> > 
> > commit 6703d702d7624b45eaa6f2dd25accbfea3116049
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6703d702d7624b45eaa6f2dd25accbfea3116049
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Use 64-bit datapath id and management id (OpenFlow 0.9)
> > 		
> > The length of a datapath was changed from 48 bits to 64 bits in OpenFlow
> > 0.9.  For parity, we increased the management id size to match.
> > 
> > NOTE: This is the final commit in the OpenFlow 0.9 set.  Starting with
> > this commit, OVS is OpenFlow 0.9-compliant.
> > 
> > 
> > commit c1278f348a2f920c7567e51774aa72c783e24024
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c1278f348a2f920c7567e51774aa72c783e24024
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Add support for barrier command (OpenFlow 0.9)
> > 		
> > OpenFlow 0.9 introduces the concept of the barrier command.  When the
> > controller sends a Barrier Request, the switch is not allowed to respond
> > with a Barrier Reply until it has finished processing any other commands
> > that preceded it.  This commit provides that support.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 0.9 until the
> > final commit in this OpenFlow 0.9 set.
> > 
> > 
> > commit 687a8c4ff10b8d74260f0e6531ed3c20de8b31d6
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=687a8c4ff10b8d74260f0e6531ed3c20de8b31d6
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Cleanups to openflow.h (OpenFlow 0.9)
> > 		
> > This commit cleans up a few comments in openflow.h.  The only one of
> > significance is that OpenFlow port numbers now begin enumeration at 1.
> > OVS already behaved in this manner, so this is just a documentation
> > issue for us.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 0.9 until the
> > final commit in this OpenFlow 0.9 set.
> > 
> > 
> > commit 61bdf7029e00af321d496170b96beddce1ef892f
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=61bdf7029e00af321d496170b96beddce1ef892f
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Add selective Flow Removed messages and flow deletes (OpenFlow 0.9)
> > 		
> > In OpenFlow 0.9, flow "expiration" messages are sent when flows are
> > explicitly removed by a delete action.  As such, the message is renamed
> > from Flow Expired to Flow Removed.  This commit adds that support as well
> > as supporting the ability to choose sending these messages on a per flow
> > basis.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 0.9 until the
> > final commit in this OpenFlow 0.9 set.
> > 
> > 
> > commit ccfa4cee1c5d2c8da6383e2f324d973759020822
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ccfa4cee1c5d2c8da6383e2f324d973759020822
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Check overlap, emerg flow cache, and error code sync (OpenFlow 0.9)
> > 		
> > This commit adds (some) support for a couple new OpenFlow 0.9 features:
> > 
> >    - The OFPFF_CHECK_OVERLAP flag in Flow Mod messages allows the
> >      controller to prevent flows that would conflict at the same
> >      priority.
> > 
> >    - An emergency flow cache that contains a small flow table that is
> >      used if the switch loses connectivity with the controller.  I
> >      believe the design has fundamental flaws and looks likely to be
> >      retired.  If a controller attempts to add a flow to the emergency
> >      flow cache, OVS always responds that the tables are full.
> > 
> > The OpenFlow 0.9 error codes are also sync'd in the commit.
> > 
> > NOTE: OVS at this point is not wire-compatible with OpenFlow 0.9 until the
> > final commit in this OpenFlow 0.9 set.
> > 
> > 
> > commit 663dcea6ef6a14e8b63696e42c2039d1c6d74a1d
> > Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=663dcea6ef6a14e8b63696e42c2039d1c6d74a1d
> > Author: Justin Pettit <jpettit at nicira.com>
> > 		
> > ofproto: Match VLAN PCP and rewrite ToS bits (OpenFlow 0.9)
> > 		
> > Starting in OpenFlow 0.9, it is possible to match on the VLAN PCP
> > (priority) field and rewrite the IP ToS/DSCP bits.  This check-in
> > provides that support and bumps the wire protocol number to 0x98.
> > 
> > NOTE: The wire changes come together over the set of OpenFlow 0.9 commits,
> > so OVS will not be OpenFlow-compatible with any official release between
> > this commit and the one that completes the set.
> > 
> > 
> > -----------------------------------------------------------------------
> > 
> > Summary of changes:
> > datapath/actions.c                      |   28 +++
> > datapath/datapath.c                     |    6 +-
> > datapath/flow.c                         |    4 +-
> > extras/ezio/ovs-switchui.c              |    5 +
> > include/openflow/openflow.h             |  302 ++++++++++++++++++----------
> > include/openvswitch/datapath-protocol.h |   20 ++-
> > lib/cfg.c                               |    4 +-
> > lib/classifier.c                        |   58 ++++++-
> > lib/classifier.h                        |    6 +-
> > lib/dpif-netdev.c                       |   26 +++-
> > lib/flow.c                              |   58 ++----
> > lib/flow.h                              |    1 -
> > lib/learning-switch.c                   |   29 ++--
> > lib/odp-util.c                          |    3 +
> > lib/ofp-print.c                         |  126 +++++++++---
> > lib/vconn.c                             |   25 ++-
> > ofproto/ofproto.c                       |  329 +++++++++++++++++++++----------
> > ofproto/ofproto.h                       |   13 +-
> > ofproto/pktbuf.c                        |    6 +-
> > ofproto/status.c                        |    2 +-
> > tests/flowgen.pl                        |   10 +-
> > tests/test-classifier.c                 |   21 ++-
> > utilities/ovs-ofctl.8.in                |   33 +++-
> > utilities/ovs-ofctl.c                   |  100 ++++++++--
> > utilities/ovs-openflowd.8.in            |   65 +++++--
> > utilities/ovs-openflowd.c               |   62 ++++---
> > vswitchd/bridge.c                       |   76 +++++++
> > vswitchd/ovs-vswitchd.conf.5.in         |   38 +++-
> > 28 files changed, 1045 insertions(+), 411 deletions(-)
> > 
> > 
> > hooks/post-receive
> > -- 
> > Open vSwitch
> > 
> > _______________________________________________
> > git mailing list
> > git at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/git_openvswitch.org
> 
> 
> _______________________________________________
> git mailing list
> git at openvswitch.org
> http://openvswitch.org/mailman/listinfo/git_openvswitch.org




More information about the dev mailing list