Justin Pettit [Fri, 13 Nov 2009 20:41:57 +0000 (12:41 -0800)]
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.
Justin Pettit [Fri, 13 Nov 2009 19:36:02 +0000 (11:36 -0800)]
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.
Justin Pettit [Fri, 13 Nov 2009 19:08:32 +0000 (11:08 -0800)]
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.
Justin Pettit [Thu, 12 Nov 2009 23:40:33 +0000 (15:40 -0800)]
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.
Justin Pettit [Wed, 11 Nov 2009 22:59:49 +0000 (14:59 -0800)]
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.
Ben Pfaff [Tue, 23 Feb 2010 23:14:15 +0000 (15:14 -0800)]
ofproto: Delete fail-open flow when turning off fail-open mode.
fail_open_destroy() was not deleting the fail-open flow, so turning off
fail-open mode did not work if fail-open had already been triggered.
This commit fixes the problem.
Reported by Paul Ingram <paul@nicira.com>.
Ben Pfaff [Tue, 23 Feb 2010 00:28:30 +0000 (16:28 -0800)]
tests: Add basic unit tests for interface-reconfigure.
These tests are probably not perfect, and we could and should certainly
add more of them, but they should at least help us to notice when commits
change interface-reconfigure's behavior.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Tue, 23 Feb 2010 00:26:50 +0000 (16:26 -0800)]
xenserver: Add --no-syslog feature to interface-reconfigure.
This makes it easier to do unit tests (some of which will be added in an
upcoming commit) by allowing messages to be read from stderr instead of
having to somehow intercept syslog calls.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Tue, 23 Feb 2010 00:25:54 +0000 (16:25 -0800)]
xenserver: Add --root-prefix feature to interface-reconfigure.
This makes it easier to do unit tests (some of which will be added in an
upcoming commit) by allowing fake configuration files and scripts to be
added in a directory other than the real root.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 21:42:02 +0000 (13:42 -0800)]
xenserver: Add assertion and additional comments to ovs-vsctl commands.
I found these useful while debugging.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 21:32:01 +0000 (13:32 -0800)]
xenserver: Remove a VLAN's bridge when bringing down its PIF.
Before, interface-reconfigure would only bring remove a VLAN's bridge
incidentally as part of removing its datapath's bridge. This commit fixes
it.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 21:27:19 +0000 (13:27 -0800)]
xenserver: Avoid doing unneeded work in deconfigure_datapath().
Deleting a bridge deletes all of its ports, too, so there's no benefit in
doing so manually beforehand.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Tue, 23 Feb 2010 00:41:19 +0000 (16:41 -0800)]
xenserver: Set xs-network-uuids for both datapath and VLAN bridges.
It makes sense to set xs-network-uuids for every bridge, so this commit
does so. It also makes the code a bit more readable by factoring logic
out into a new function.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 21:41:19 +0000 (13:41 -0800)]
xenserver: Always call ovs-vsctl in bring_down().
The datapath_modify_config() call here was at the wrong level of
indentation, so it was only getting called if 'dp' was to be deleted.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 21:08:10 +0000 (13:08 -0800)]
xenserver: Fix bringing up VLAN PIFs.
In configure_datapath(), bringing up a VLAN PIF's datapath is no different
from bringing up a non-VLAN PIF's datapath, but the code was making
unnecessary distinctions. Also, the test
if parent and datapath:
did not work at all, because there was no variable named 'datapath' in
scope and no obvious source of one.
In preconfigure(), it then becomes necessary to create a VLAN bridge for a
VLAN PIF, in a straightforward way.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Tue, 23 Feb 2010 17:47:31 +0000 (09:47 -0800)]
xenserver: Hoist identical bridge and vswitch functions into common code.
The previous commit made pif_bridge_name() in the bridge and vswitch
versions of interface-reconfigure functionally identical, so this commit
hoists them into a single common implementation in InterfaceReconfigure.py.
pif_is_bridged() also comes along for the ride because it is also generic
and because it is logically related. Only the bridge code uses it at the
moment.
Suggested-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 20:53:17 +0000 (12:53 -0800)]
xenserver: Accept VLAN PIFs in pif_bridge_name().
pif_bridge_name() was written when the vswitch interface-reconfigure was
working with the raw Open vSwitch configuration via ovs-cfg-mod. Then,
it made no sense to ask for the "bridge name" of a VLAN PIF, because a
VLAN PIF didn't have a bridge.
Now, however, the vSwitch interface-reconfigure works with ovs-vsctl, which
provides a thin layer over the OVS configuration that makes VLAN bridges
appear to exist. So now it makes sense to ask for the bridge of a VLAN
PIF, and this commit enables that.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Tue, 23 Feb 2010 00:36:30 +0000 (16:36 -0800)]
xenserver: Delete ports by interface name.
ovs-vsctl command "--if-exists del-port eth0" does nothing if eth0 is on
a bridge as part of a bond, because the bond's port name is not eth0 but
something else. But interface-reconfigure needs to do that, so this commit
adds that ability to ovs-vsctl and modifies interface-reconfigure to use it.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Mon, 22 Feb 2010 20:37:20 +0000 (12:37 -0800)]
xenserver: Fix comment in interface-reconfigure.
This comment was accurate, but didn't actually say what the function did.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Ben Pfaff [Thu, 18 Feb 2010 19:01:26 +0000 (11:01 -0800)]
ovsdb: Introduce <nonnull-json-value> to clarify specifications.
Ben Pfaff [Thu, 18 Feb 2010 19:00:04 +0000 (11:00 -0800)]
ovsdb: Fix use of <value> as both a JSON value and as a database value.
Ben Pfaff [Fri, 12 Feb 2010 19:26:32 +0000 (11:26 -0800)]
xenserver: Upgrade and compact database on system boot.
This should take care of many of the OVSDB-related upgrade and downgrade
problems reported by Nicira internal testers.
Bug #2388.
Ben Pfaff [Fri, 12 Feb 2010 19:26:54 +0000 (11:26 -0800)]
ovsdb: Implement ovsdb-tool commands "compact" and "convert".
Partial fix for bug #2391.
Ben Pfaff [Thu, 11 Feb 2010 23:35:46 +0000 (15:35 -0800)]
ovsdb: Factor out code to fsync a file's containing directory.
In an upcoming commit, another function wants to do the same thing, so
break it out into a helper function.
Ben Pfaff [Thu, 11 Feb 2010 00:35:24 +0000 (16:35 -0800)]
ovsdb: Refactor code for writing a transaction to a file.
An upcoming commit will add another user for this code, so it is good to
abstract it a little better.
Ben Pfaff [Mon, 15 Feb 2010 19:31:32 +0000 (11:31 -0800)]
ovsdb: Allow ovsdb_log_open()'s caller to choose whether to lock.
The current callers of ovsdb_log_open() always want to lock the file if
they are accessing it for read/write access. An upcoming commit will add
a new caller that does not fit this model (it wants to lock the file
across a wider region) and so the caller should be able to choose whether
to do locking. This commit adds that ability.
Also, get rid of the use of <fcntl.h> flags to choose the open mode, which
has always seemed somewhat crude and which this change would make even
cruder.
Ben Pfaff [Fri, 12 Feb 2010 19:17:17 +0000 (11:17 -0800)]
ovsdb-server: Add --run option.
Bug #2398.
Ben Pfaff [Wed, 10 Feb 2010 23:37:52 +0000 (15:37 -0800)]
ovsdb: Add functions to clone schemas.
These will be used by an upcoming commit.
Ben Pfaff [Fri, 12 Feb 2010 19:35:35 +0000 (11:35 -0800)]
ovsdb-client: Add blank line between tables in CSV, tabular output.
Adding a blank line makes the output easier to read when there are
multiple tables.
Ben Pfaff [Mon, 15 Feb 2010 19:30:06 +0000 (11:30 -0800)]
ovsdb-client: Add "dump" command for dumping entire database contents.
There are no tests for this currently, but an upcoming commit will use it
to test other commands.
Ben Pfaff [Fri, 12 Feb 2010 19:34:10 +0000 (11:34 -0800)]
ovsdb-client: Improve HTML output.
This commit introduces links from UUIDs to rows that represent them and
shortens UUIDs added to tables to their first 8 characters. This makes
the output more readable.
Ben Pfaff [Wed, 10 Feb 2010 23:54:43 +0000 (15:54 -0800)]
uuid: New function uuid_from_string_prefix().
For use in an upcoming commit.
Ben Pfaff [Fri, 12 Feb 2010 19:32:36 +0000 (11:32 -0800)]
ovsdb-client: Introduce new data formatting style as the default.
The new data formatting style is generally shorter and easier to read than
the JSON representation (which is still available using "-d json").
Ben Pfaff [Wed, 10 Feb 2010 22:38:05 +0000 (14:38 -0800)]
ovsdb-client: Remove --wide option.
This option just confused people, since no one really expected the output
to be truncated at 79 columns by default.
Ben Pfaff [Fri, 12 Feb 2010 19:13:24 +0000 (11:13 -0800)]
ovsdb: Fix commit to disk of rows added to a table with all-default values.
Ben Pfaff [Fri, 12 Feb 2010 22:33:10 +0000 (14:33 -0800)]
ovs-vsctl: Clarify manpage.
If anyone ever reads the manpage, this should help.
Ben Pfaff [Fri, 12 Feb 2010 21:58:17 +0000 (13:58 -0800)]
ofproto: Use UINT16_MAX in place of -1, for clarity.
Reported-by: Jesse Gross <jesse@nicira.com>
Ben Pfaff [Thu, 11 Feb 2010 19:11:23 +0000 (11:11 -0800)]
Merge "master" into "next".
The main change here is the need to update all of the uses of UNUSED in
the next branch to OVS_UNUSED as it is now spelled on "master".
Ben Pfaff [Thu, 11 Feb 2010 18:59:47 +0000 (10:59 -0800)]
Rename UNUSED macro to OVS_UNUSED to avoid naming conflict.
Requested by Jean Tourrilhes <jt@hpl.hp.com>.
Ben Pfaff [Wed, 10 Feb 2010 19:23:28 +0000 (11:23 -0800)]
ovs-ofctl: Drop assignment whose value is never used.
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Wed, 10 Feb 2010 19:21:56 +0000 (11:21 -0800)]
ovs-vsctl: Avoid redundant initializations in "add-br" command.
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Wed, 10 Feb 2010 19:18:48 +0000 (11:18 -0800)]
ofproto: Avoid passing indeterminate value to rule_insert().
The 'in_port' argument to rule_insert() is only used if its 'packet'
argument is nonnull, so this is not, strictly speaking, a bug, but it
seems much cleaner.
The default -1 value of in_port matches what pktbuf_retrieve() stores
there on failure.
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Wed, 10 Feb 2010 19:08:27 +0000 (11:08 -0800)]
ovsdb: Drop write-only variable.
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Wed, 10 Feb 2010 19:07:28 +0000 (11:07 -0800)]
ovs-brcompatd: Use error instead of pointer in handle_fdb_query_cmd().
It is safe to use either value here but as long as we are saving the
error value we might as well use it.
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 19:04:30 +0000 (11:04 -0800)]
sflow: Don't assign value that is never used.
The "error" return from collectors_create() is actually not that
interesting, because there could still be some collectors configured
properly anyhow, so we might as well discard the error return here,
without even assigning it to a variable.
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 19:02:09 +0000 (11:02 -0800)]
vswitchd: Drop assignment whose value is never used in port_reconfigure().
Seems cleaner this way.
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 18:57:14 +0000 (10:57 -0800)]
process: Remove pointless, redundant assignments from stream_read().
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 18:55:45 +0000 (10:55 -0800)]
tests: Remove write-only variables.
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 18:52:28 +0000 (10:52 -0800)]
ovsdb: Remove write-only variable from parse_body() in log.c.
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 18:51:11 +0000 (10:51 -0800)]
ovsdb: Add default case to ovsdb_mutation_set_execute().
The value of 'error' is indeterminate if m->mutator is not set to a valid
value here, so we should add a default case to handle the exception. It
shouldn't happen, of course.
Found by Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Thu, 11 Feb 2010 18:34:45 +0000 (10:34 -0800)]
netdev-linux: Avoid fiddling with indeterminate data.
If we are using netlink to get stats and get_ifindex() fails, then for
an internal network device we will then swap around a bunch of
indeterminate (uninitialized) data values. That won't hurt anything--the
caller will still set them to all-1-bits due to the error--but it still
seems wrong. So this commit avoid it.
Found using Clang (http://clang-analyzer.llvm.org/).
Ben Pfaff [Wed, 10 Feb 2010 19:29:58 +0000 (11:29 -0800)]
dhcp: Don't pass NULL to memcmp() even with size 0.
ISO C says that the arguments to memcmp() must be nonnull even if the
size argument is 0, so don't do that.
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Wed, 10 Feb 2010 19:13:09 +0000 (11:13 -0800)]
vswitch: Fix uninitialized variable.
The 'ip' variable in this inner "if" statement shadows a variable with
the same name in the enclosing block. The variable in the inner block
is never initialized.
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Wed, 10 Feb 2010 19:09:40 +0000 (11:09 -0800)]
flow: Fix null pointer dereference in flow_from_match().
Found by Clang (http://clang-analyzer.llvm.org).
Ben Pfaff [Thu, 11 Feb 2010 00:57:48 +0000 (16:57 -0800)]
xenserver: Fix bond configuration.
This bug was introduced as part of the merge from "master" and does not
therefore exist in Citrix upstream code.
Ben Pfaff [Thu, 11 Feb 2010 00:54:30 +0000 (16:54 -0800)]
ovs-wdt: Mark variable static and use NULL for a null pointer.
Neither is really a bug but it's cleaner this way.
Found by sparse (http://sparse.wiki.kernel.org/).
Ben Pfaff [Thu, 11 Feb 2010 00:50:51 +0000 (16:50 -0800)]
datapath: Mark functions "static".
Found by sparse (http://sparse.wiki.kernel.org/).
Ben Pfaff [Thu, 11 Feb 2010 00:53:40 +0000 (16:53 -0800)]
datapath: When adding a port, return the new port number to userspace.
'port' is a kernel-space copy of the odp_port and modifying it is useless.
'portp' is the userspace copy; modifying it is useful.
None of our current userspace users care about the port number and so we
never noticed.
Found by sparse (http://sparse.wiki.kernel.org/).
Ben Pfaff [Wed, 10 Feb 2010 18:41:44 +0000 (10:41 -0800)]
ovs-brcompatd: Handle transaction errors slightly more gracefully.
It is not a good idea to just exit on an OVSDB transaction error.
TXN_TRY_AGAIN will definitely happen in practice; TXN_ERROR should not but
we should not just fail if it does.
This should allow us to better debug bug #2418.
Ben Pfaff [Tue, 9 Feb 2010 18:17:58 +0000 (10:17 -0800)]
ovsdb: Add support for multiple databases to the protocol.
This also adds protocol compatibility to the database itself and to
ovsdb-client. It doesn't actually add multiple database support to
ovsdb-server, since we don't really need that yet.
Ben Pfaff [Tue, 9 Feb 2010 19:17:16 +0000 (11:17 -0800)]
xenserver: Fix failure to bring up secondary management interfaces.
When a secondary management interface is configured on a XenServer,
interface-reconfigure would fail to bring it up because it would attempt
to add a bridge that already exists. This commit makes it tolerate that
situation.
Ben Pfaff [Tue, 9 Feb 2010 20:13:46 +0000 (12:13 -0800)]
ovs-vsctl: Add --may-exist option for add-port, add-bond commands.
This is useful in interface-reconfigure, in an upcoming commit.
Ben Pfaff [Tue, 9 Feb 2010 19:03:14 +0000 (11:03 -0800)]
ovs-vsctl: Add --may-exist option for add-br command.
This will be used in the XenServer interface-reconfigure script.
Ben Pfaff [Tue, 9 Feb 2010 19:02:44 +0000 (11:02 -0800)]
ovs-vsctl: Improve error message when options follow command names.
Ben Pfaff [Tue, 9 Feb 2010 18:20:13 +0000 (10:20 -0800)]
vswitchd: Add missing * to use of sizeof.
Found using coccinelle and coccicheck (http://coccinelle.lip6.fr/).
Ben Pfaff [Tue, 9 Feb 2010 18:19:14 +0000 (10:19 -0800)]
dhcp: Add missing * to use of sizeof.
Found with coccinelle and coccicheck (http://coccinelle.lip6.fr/).
Ben Pfaff [Tue, 9 Feb 2010 00:37:49 +0000 (16:37 -0800)]
ovsdb: Make scalars and 1-element sets interchangeable.
It is natural to write "abc" in place of ["set",["abc"]] and vice versa.
I cannot think of a reason not to support this, and it can make reading
and writing OVSDB files and transactions easier, so support it.
Ben Pfaff [Tue, 9 Feb 2010 00:03:21 +0000 (16:03 -0800)]
ovsdb: Get rid of "declare" operation.
It's more elegant, and just as easy to implement, if we allow a
"named-uuid" to be a forward reference to a "uuid-name" in a later
"insert" operation.
Ben Pfaff [Mon, 8 Feb 2010 23:37:49 +0000 (15:37 -0800)]
ovsdb: Fix support for systems where libpcre is not installed.
This is one of the loose ends that I intended to fix up and test before
pushing off my commits to add use of PCRE, but obviously I forgot.
Ben Pfaff [Mon, 8 Feb 2010 22:09:41 +0000 (14:09 -0800)]
ovsdb: Add support for referential integrity in the database itself.
Ben Pfaff [Mon, 8 Feb 2010 22:09:36 +0000 (14:09 -0800)]
ovsdb: Add simple constraints.
Ben Pfaff [Thu, 4 Feb 2010 20:20:11 +0000 (12:20 -0800)]
ovsdb: Slightly simplify ovsdb_table_get_row(), ovsdb_table_put_row().
There is no value in saving a call to uuid_hash() in ovsdb_table_put_row(),
because uuid_hash() is a trivial inline function, so integrate
ovsdb_table_get_row__() into ovsdb_table_get_row() and simplify
ovsdb_table_put_row().
Ben Pfaff [Thu, 4 Feb 2010 19:47:32 +0000 (11:47 -0800)]
ovsdb: Use direct pointer from table to txn_table to simplify code.
Until now, when a transaction modified rows in a table, the metadata
associated with that table modification (in struct ovsdb_txn_table) had to
be looked up through a hash table. This made the code unnecessarily
complicated and had no benefit in itself, so this commit changes
struct ovsdb_table to have a direct pointer to its ovsdb_txn_table.
Ben Pfaff [Thu, 4 Feb 2010 19:23:23 +0000 (11:23 -0800)]
list: Fix indentation.
Ben Pfaff [Fri, 5 Feb 2010 22:11:12 +0000 (14:11 -0800)]
ovsdb-idl: On transaction hard failure make a reason available to client.
This make ovs-vsctl able to report problems that occur in better detail.
Ben Pfaff [Fri, 5 Feb 2010 22:10:02 +0000 (14:10 -0800)]
ovs-vsctl: When deleting a real bridge, delete ports of child fake bridges.
Otherwise these ports and their interfaces hang around unreferenced.
Ben Pfaff [Thu, 4 Feb 2010 22:34:01 +0000 (14:34 -0800)]
ovsdb: Fix result object for "declare" operation.
The "declare" operation is specified to return a <uuid>, e.g.:
["uuid", "
7b703002-f7b6-45c6-bfd6-
7619b21a1a5f"]
It was actually just returning the second part, e.g.
"
7b703002-f7b6-45c6-bfd6-
7619b21a1a5f"
This commit makes the result match the specification.
Jesse Gross [Mon, 8 Feb 2010 20:48:54 +0000 (15:48 -0500)]
datapath: Set Nicira random address in the datapath.
OVS now sets the Nicira OUI plus the top bit on packets that it
generates to indicate a random address. This makes the datapath
do the same thing.
Jesse Gross [Mon, 1 Feb 2010 23:20:22 +0000 (18:20 -0500)]
vswitch: Consistently set Nicira OUI.
In places where a random Ethernet address needs to be generated we
are inconsistent about setting an OUI. This sets an OUI everywhere
to allow the source of packets to be easily identified.
Jesse Gross [Mon, 8 Feb 2010 19:52:20 +0000 (14:52 -0500)]
gre: Fix use after free in netns compatibility layer.
The newly updated network namespace compatibility layer contained
an issue in the pernet automatic storage allocation feature that
prematurely freed memory. This caused an OOPS if the module was
unloaded.
Jesse Gross [Mon, 8 Feb 2010 18:22:41 +0000 (13:22 -0500)]
Fix some regressions from the merge from master.
Justin Pettit [Sun, 7 Feb 2010 08:10:02 +0000 (00:10 -0800)]
vswitch: Set control_ip in sFlow configuration
Justin Pettit [Sun, 7 Feb 2010 04:46:40 +0000 (20:46 -0800)]
xenserver: Various cleanups to get OVS to work with XenServer 5.5
Justin Pettit [Sat, 6 Feb 2010 02:15:08 +0000 (18:15 -0800)]
xenserver: Exclude compile Python byte code from packaging
Justin Pettit [Sat, 6 Feb 2010 01:43:57 +0000 (17:43 -0800)]
xenserver: Fix permissions on new interface-reconfigure files
Justin Pettit [Sat, 6 Feb 2010 01:15:29 +0000 (17:15 -0800)]
Merge branch 'next' of repo.nicira.com:/srv/git/openvswitch into next
Justin Pettit [Fri, 5 Feb 2010 23:58:27 +0000 (15:58 -0800)]
Merge branch 'master' into next
Conflicts:
COPYING
datapath/datapath.h
lib/automake.mk
lib/dpif-provider.h
lib/dpif.c
lib/hmap.h
lib/netdev-provider.h
lib/netdev.c
lib/stream-ssl.h
ofproto/executer.c
ofproto/ofproto.c
ofproto/ofproto.h
tests/automake.mk
utilities/ovs-ofctl.c
utilities/ovs-vsctl.in
vswitchd/ovs-vswitchd.conf.5.in
xenserver/etc_init.d_vswitch
xenserver/etc_xensource_scripts_vif
xenserver/opt_xensource_libexec_interface-reconfigure
Jesse Gross [Wed, 3 Feb 2010 22:39:29 +0000 (17:39 -0500)]
gre: Simplify net namespace operations.
Ports commit cfb8fb "net: Simplify ip_gre pernet operations." from
the mainline kernel.
Jesse Gross [Wed, 3 Feb 2010 00:01:49 +0000 (19:01 -0500)]
gre: Net namespace identifiers are read_mostly.
Ports commit f99189 "netns: net_identifiers should be read_mostly"
from the mainline kernel.
Jesse Gross [Wed, 3 Feb 2010 00:01:00 +0000 (19:01 -0500)]
gre: Network namespace upon device creation.
gre: Optimize tx path.
Ports commit 81adee "net: Support specifying the network namespace
upon device creation." from the mainline kernel.
Jesse Gross [Tue, 2 Feb 2010 23:43:55 +0000 (18:43 -0500)]
gre: Optimize multiple unregistration.
Ports commit eef6dd "gre: Optimize multiple unregistration" from
the mainline kernel.
Jesse Gross [Tue, 2 Feb 2010 22:44:26 +0000 (17:44 -0500)]
gre: Convert locking to RCU.
Ports commit 8d5b2c "gre: convert hash tables locking to RCU"
from the mainline kernel.
Jesse Gross [Tue, 2 Feb 2010 22:13:47 +0000 (17:13 -0500)]
gre: Optimize tx path.
Ports commit 0bfbed "tunnels: Optimize tx path" from the mainline
kernel.
Jesse Gross [Tue, 2 Feb 2010 21:44:44 +0000 (16:44 -0500)]
gre: Unify IPTUNNEL_XMIT across kernel versions.
The IPTUNNEL_XMIT macro was split into different versions based on
the kernel. This adds the compatibility code to allow a single
copy to work on all kernel versions, making it easier to maintain.
Ben Pfaff [Thu, 4 Feb 2010 17:37:30 +0000 (09:37 -0800)]
Add extern "C" { ... } to some header files to support usage from C++.
From partner.
Ben Pfaff [Mon, 1 Feb 2010 22:57:48 +0000 (14:57 -0800)]
tests: Fix memory leaks in test programs.
This makes it easier to see memory leaks in the code under test.
Found with valgrind.
Ben Pfaff [Tue, 2 Feb 2010 22:27:22 +0000 (14:27 -0800)]
ovs-vsctl: Free memory on successful exit.
This is not important in itself, but it helps to spot real memory leaks.
Found with valgrind.
Ben Pfaff [Tue, 2 Feb 2010 22:26:53 +0000 (14:26 -0800)]
ovs-vsctl: Fix memory leaks.
Found with valgrind.
Ben Pfaff [Tue, 2 Feb 2010 22:26:17 +0000 (14:26 -0800)]
ovs-vsctl: Free memory on fatal error.
Freeing memory just before exiting is not important in itself, but it makes
it easier to see real memory leaks.
Found with valgrind.
Ben Pfaff [Tue, 2 Feb 2010 22:25:11 +0000 (14:25 -0800)]
ovs-vsctl: Use vsctl_fatal() consistently.
vsctl_fatal() logs its argument as well as printing it on stderr, so it
is preferable within ovs-vsctl. An upcoming commit will also make
vsctl_fatal() free memory, so using it consistently will also make that
memory freed consistently.