[ovs-git] Open vSwitch: Implement QoS framework. (master)

dev at openvswitch.org dev at openvswitch.org
Thu Jun 17 22:19:13 UTC 2010


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  c1c9c9c4b636ab2acf2f75024c282a9a497ca9a9 (commit)
       via  a90b56b7708a17e8bd689d4a3558348f04cb8dcb (commit)
       via  e3648418c4bf028e6bca38bcbfc5a5ed493447fb (commit)
       via  ff4ed3c9a1911821f16b49b5ebb5b64a9c5d907c (commit)
       via  38a997566d7faa1e8c4b9c029faed6789e7528ff (commit)
       via  974d6a6d0b13e811ed98e4d70854442a8c086672 (commit)
       via  25eeae6a1e12445c6d17b27d092f5936a6150892 (commit)
       via  a35fbea5bb1b49bcdad696a62c3814e02c4df6e2 (commit)
       via  b4d73e97bae62b5eb18bcd216b603b69ce63297b (commit)
       via  8e2093fc182d6e418b998a55e3a9080d7f97cd0a (commit)
       via  69123704450703f7ebea4af9e3b9635399fc21f2 (commit)
       via  fa37b408eac875cbc0d7adbbb3f7a004371172da (commit)
       via  ce5a3e38dacd8042dd7c4de7be24aca9c2887103 (commit)
       via  4a0335937fb482e412952a5e05ef738eab9542dc (commit)
       via  ef1e753e5de8ef3204ef9831942e958672567186 (commit)
       via  8d49c47a5ddda216dfb3998370f0375217b6d6a1 (commit)
       via  7ac0f8dbf41c185e3e8d3cc9d033467575c99542 (commit)
      from  78c54bded9a5b88977ba3dbe1d5b877248ad34b2 (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 c1c9c9c4b636ab2acf2f75024c282a9a497ca9a9
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c1c9c9c4b636ab2acf2f75024c282a9a497ca9a9
Author: Ben Pfaff <blp at nicira.com>
		
Implement QoS framework.
		
ovs-vswitchd doesn't declare its QoS capabilities in the database yet,
so the controller has to know what they are.  We can add that later.

The linux-htb QoS class has been tested to the extent that I can see that
it sets up the queues I expect when I run "tc qdisc show" and "tc class
show".  I haven't tested that the effects on flows are what we expect them
to be.  I am sure that there will be problems in that area that we will
have to fix.


commit a90b56b7708a17e8bd689d4a3558348f04cb8dcb
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a90b56b7708a17e8bd689d4a3558348f04cb8dcb
Author: Ben Pfaff <blp at nicira.com>
		
shash: New functions shash_destroy_free_data() and shash_clear_free_data().
		


commit e3648418c4bf028e6bca38bcbfc5a5ed493447fb
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e3648418c4bf028e6bca38bcbfc5a5ed493447fb
Author: Ben Pfaff <blp at nicira.com>
		
port-array: Add port_array_delete() function.
		
port_array_delete(pa, idx) is equivalent to port_array_set(pa, idx, NULL),
but it never allocates memory and avoids conditionals.


commit ff4ed3c9a1911821f16b49b5ebb5b64a9c5d907c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ff4ed3c9a1911821f16b49b5ebb5b64a9c5d907c
Author: Ben Pfaff <blp at nicira.com>
		
netdev-linux: Create rtnetlink socket up front instead of on demand.
		
This simplifies a bit of existing code since it is known that an rtnetlink
socket will always be available.  It will simplify additional code in
upcoming commits.


commit 38a997566d7faa1e8c4b9c029faed6789e7528ff
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=38a997566d7faa1e8c4b9c029faed6789e7528ff
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Improve support for nested Netlink attributes.
		
Fairly often it happens that nested Netlink attributes must themselves
contain Netlink attributes.  In such a case, nlmsg_put_nested() is not so
convenient, because it requires the contents to be pre-assembled and then
copied into place.  This commit introduces a new interface that instead
allows the nested attributes to be assembled in-place.  As a demonstration,
it updates nl_msg_put_nested() to use this new interface.


commit 974d6a6d0b13e811ed98e4d70854442a8c086672
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=974d6a6d0b13e811ed98e4d70854442a8c086672
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Add support for Netlink table dumping.
		


commit 25eeae6a1e12445c6d17b27d092f5936a6150892
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=25eeae6a1e12445c6d17b27d092f5936a6150892
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Add functions for handling nested attributes.
		


commit a35fbea5bb1b49bcdad696a62c3814e02c4df6e2
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a35fbea5bb1b49bcdad696a62c3814e02c4df6e2
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Make nl_sock_transact() always return a reply on success.
		
Until now, if nl_sock_transact() received a reply that merely acknowledged
success, without providing any other payload, it would return success but
not provide the reply to its caller.  This is inconsistent and could easily
cause a segfault in a caller that expects to see the reply on success, if
kernel behavior changed, for whatever reason, so that a request that
previously returned data now just returns an acknowledgment.  In practice
this kind of change should never happen, but it is still better to handle
it properly.


commit b4d73e97bae62b5eb18bcd216b603b69ce63297b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=b4d73e97bae62b5eb18bcd216b603b69ce63297b
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Fix bad assumption about nested Netlink attributes.
		
I had assumed that nested Netlink attributes contained an entire Netlink
message, including header.  This is wrong: they contain only a series of
attributes.

Nothing in the tree actually used nested attributes until now, so this
doesn't fix any existing bugs.


commit 8e2093fc182d6e418b998a55e3a9080d7f97cd0a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8e2093fc182d6e418b998a55e3a9080d7f97cd0a
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Make nl_sock_transact() discard reply if 'replyp' is null.
		
Sometimes only the success or failure return value is interesting, not the
details of the reply, so this simplifies some callers.


commit 69123704450703f7ebea4af9e3b9635399fc21f2
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=69123704450703f7ebea4af9e3b9635399fc21f2
Author: Ben Pfaff <blp at nicira.com>
		
netlink: Drop sock parameter from nl_msg_put_(ge)nlmsghdr().
		
These two functions use their "sock" parameter only to figure out the
nlmsg_pid to put in the nlmsghdr.  But that field can be filled in just
as well right before sending the message.  Since our functions for sending
Netlink messages always modify the nlmsghdr anyhow (to fill in the length),
there is little benefit to filling in the nlmsg_pid in advance.  The cost,
on the other hand, is having to pass another argument to functions that
already have too many.  So this commit removes the argument.


commit fa37b408eac875cbc0d7adbbb3f7a004371172da
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=fa37b408eac875cbc0d7adbbb3f7a004371172da
Author: Ben Pfaff <blp at nicira.com>
		
vconn: Move OpenFlow utility functions into new file ofp-util.c.
		
The main purpose of the vconn code is to ship OpenFlow messages across
network connections.  Over time a large number of utility functions related
to OpenFlow messages have also crept into vconn.c, but that's really
logically separate.  This commit breaks those functions out into a new
file.


commit ce5a3e38dacd8042dd7c4de7be24aca9c2887103
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ce5a3e38dacd8042dd7c4de7be24aca9c2887103
Author: Ben Pfaff <blp at nicira.com>
		
ovs-vsctl: Support references among records at creation time.
		
This makes it easy to create a bunch of records that are all related to
each other in a single ovs-vsctl invocation.  It adds an example to the
ovs-vsctl manpage.


commit 4a0335937fb482e412952a5e05ef738eab9542dc
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4a0335937fb482e412952a5e05ef738eab9542dc
Author: Ben Pfaff <blp at nicira.com>
		
ovs-vsctl: Add support for command options that accept arguments.
		


commit ef1e753e5de8ef3204ef9831942e958672567186
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ef1e753e5de8ef3204ef9831942e958672567186
Author: Ben Pfaff <blp at nicira.com>
		
ovs-vsctl: Update manpage.  Use same order as ovs-vswitchd.conf.db.5.
		


commit 8d49c47a5ddda216dfb3998370f0375217b6d6a1
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8d49c47a5ddda216dfb3998370f0375217b6d6a1
Author: Ben Pfaff <blp at nicira.com>
		
ovs-vsctl: Fix assert-fail when an error occurs and "create" command used.
		
When the "create" command is used, post_create() calls
ovsdb_idl_txn_get_insert_uuid(), which asserts that the transaction
completed successfully.  This makes it clear that postprocess functions
should only run when the transaction completes successfully.  (Currently
post_create() is the only postprocess function.)


commit 7ac0f8dbf41c185e3e8d3cc9d033467575c99542
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7ac0f8dbf41c185e3e8d3cc9d033467575c99542
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Fix byte order for OFP_VLAN_NONE to dl_vlan in struct flow.
		
This is not a bug, since OFP_VLAN_NONE is all-1-bits, but it is still
best to get it correct.


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

Summary of changes:
 datapath/actions.c                      |    9 +
 extras/ezio/ovs-switchui.c              |    1 +
 include/openflow/openflow.h             |   39 +-
 include/openvswitch/datapath-protocol.h |   12 +-
 lib/automake.mk                         |    2 +
 lib/learning-switch.c                   |    1 +
 lib/netdev-gre.c                        |   11 +
 lib/netdev-linux.c                      | 1671 +++++++++++++++++++++++++++++--
 lib/netdev-patch.c                      |   11 +
 lib/netdev-provider.h                   |  149 +++
 lib/netdev.c                            |  279 +++++
 lib/netdev.h                            |   57 +-
 lib/netlink.c                           |  303 +++++-
 lib/netlink.h                           |   34 +-
 lib/ofp-util.c                          |  751 ++++++++++++++
 lib/{vconn.h => ofp-util.h}             |   55 +-
 lib/ovsdb-data.c                        |   53 +-
 lib/ovsdb-data.h                        |    7 +-
 lib/ovsdb-idl.c                         |   12 +-
 lib/ovsdb-idl.h                         |    3 +-
 lib/port-array.c                        |   13 +-
 lib/port-array.h                        |    3 +-
 lib/rconn.c                             |    1 +
 lib/shash.c                             |   36 +-
 lib/shash.h                             |    3 +
 lib/vconn.c                             |  670 +-------------
 lib/vconn.h                             |   62 --
 lib/vlog-modules.def                    |    1 +
 ofproto/fail-open.c                     |    1 +
 ofproto/ofproto-sflow.c                 |    2 +-
 ofproto/ofproto.c                       |  168 +++-
 ofproto/pinsched.c                      |    2 +-
 ofproto/pktbuf.c                        |    1 +
 ofproto/status.c                        |    1 +
 ovsdb/ovsdb-idlc.in                     |    2 +-
 ovsdb/ovsdbmonitor/MainWindow.ui        |   20 +
 ovsdb/ovsdbmonitor/Ui_MainWindow.py     |  125 ++-
 tests/test-ovsdb.c                      |    4 +-
 utilities/ovs-ofctl.c                   |    1 +
 utilities/ovs-vsctl.8.in                |   33 +-
 utilities/ovs-vsctl.c                   |  132 ++-
 vswitchd/bridge.c                       |   90 ++
 vswitchd/ovs-brcompatd.c                |    4 +-
 vswitchd/proc-net-compat.c              |    7 +-
 vswitchd/vswitch.ovsschema              |   35 +-
 vswitchd/vswitch.xml                    |  135 +++
 46 files changed, 3992 insertions(+), 1020 deletions(-)
 create mode 100644 lib/ofp-util.c
 copy lib/{vconn.h => ofp-util.h} (67%)


hooks/post-receive
-- 
Open vSwitch




More information about the git mailing list