[ovs-dev] [ovs-git] Open vSwitch: ofproto: Always terminate OpenFlow description strings (master)
Justin Pettit
jpettit at nicira.com
Tue Feb 23 09:11:44 PST 2010
Awesome! Can you also scrub these mailing list archives and
stealthily visit all the subscribers to delete my mea culpa?
Thanks a lot for protecting my honor!
--Justin
(Sent from my phone. Sorry for any typos.)
On Feb 23, 2010, at 8:56 AM, Ben Pfaff <blp at nicira.com> wrote:
> 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