sliver-openvswitch.git
14 years agoClean-up compiler warnings about ignoring return values
Justin Pettit [Tue, 15 Dec 2009 07:08:10 +0000 (23:08 -0800)]
Clean-up compiler warnings about ignoring return values

Some systems complain when certain functions' return values are not
checked.  This commit fixes those warnings.

Creating ignore() function suggested by Ben Pfaff.

14 years agonetdev-linux: Fix aliasing error.
Ben Pfaff [Tue, 15 Dec 2009 06:59:55 +0000 (22:59 -0800)]
netdev-linux: Fix aliasing error.

The latest version of GCC flags a common socket convention as breaking
strict-aliasing rules.  This commit removes the aliasing and gets rid of
the scary warning.

14 years agoxenserver: Actually destroy VIFs by using ovs-vsctl
Justin Pettit [Tue, 15 Dec 2009 01:44:17 +0000 (17:44 -0800)]
xenserver: Actually destroy VIFs by using ovs-vsctl

When VIFs were destroyed, they were not actually being deleted in the
config database.  This commit makes the appropriate ovs-vsctl commands
in the 'vif' script to accomplish that.

14 years agoovs-vsctl: Set timeout to a default value of five seconds
Justin Pettit [Mon, 14 Dec 2009 21:59:58 +0000 (13:59 -0800)]
ovs-vsctl: Set timeout to a default value of five seconds

In general, we don't want ovs-vsctl to wait forever to connect to the
database, as ovs-vsctl is used extensively in init scripts and the
system will not boot.  Use a default value of five seconds as a
stop-gap.  Eventually, we'll switch to a model of connection attempts,
since using time-based approach is kind of a hack.

14 years agoxenserver: Cleanup xs-network-uuids and xs-network-names usage
Justin Pettit [Mon, 14 Dec 2009 21:43:25 +0000 (13:43 -0800)]
xenserver: Cleanup xs-network-uuids and xs-network-names usage

Switch xs-network-uuids delimiter to a semicolon to match the one used
by xs-network-uuids.  Also, fix pluralization of xs-network-uuids in
vswitch IDL description of the "Bridge" table.

Add description of xs-network-names to vswitch IDL description.

14 years agoHave git ignore "vswitch-idl.txt"
Justin Pettit [Mon, 14 Dec 2009 21:42:06 +0000 (13:42 -0800)]
Have git ignore "vswitch-idl.txt"

14 years agovswitchd: Do not choose generated MAC address for local port.
Ben Pfaff [Mon, 14 Dec 2009 21:09:47 +0000 (13:09 -0800)]
vswitchd: Do not choose generated MAC address for local port.

ovs-vswitchd needs to choose a sensible MAC address for the local port of
a bridge.  Until now, the algorithm has ignored certain interfaces, in
particular internal interfaces and those with the MAC addresses that
indicate that they are probably Xen VIFs.  The goal is to choose a physical
interface's MAC address because this is more stable and more likely to
be meaningful to the outside world.  Stability, in turn, is important
because the MAC address of the local port is used as the default datapath
ID for OpenFlow connections.

This existing algorithm was too specialized to work well with the new
kinds of ports that we have been introducing in OVS.  In particular,
GRE ports could be chosen as the MAC address.  This commit changes the
algorithm for choosing the local port MAC address.  Now it ignores any
interface that has the "local" bit set in its MAC address, which
catches GRE ports.  The new rule also catches the VIF and internal
port cases, so this commit also deletes those special cases.

This commit deleted the only user of eth_addr_is_vif(), so it deletes
that function also.

Jesse Gross suggested this revised heuristic.

CC: Jeremy Stribling <strib@nicira.com>
14 years agoovs-vsctl: Add -t or --timeout option to limit runtime.
Ben Pfaff [Mon, 14 Dec 2009 18:13:36 +0000 (10:13 -0800)]
ovs-vsctl: Add -t or --timeout option to limit runtime.

14 years agoxenserver: Add xs-network-names to "external_ids" column in config db
Justin Pettit [Sat, 12 Dec 2009 00:54:01 +0000 (16:54 -0800)]
xenserver: Add xs-network-names to "external_ids" column in config db

14 years agoxenserver: Cleanup vswitch-xapi-update init script
Justin Pettit [Sat, 12 Dec 2009 00:22:16 +0000 (16:22 -0800)]
xenserver: Cleanup vswitch-xapi-update init script

Remove unused variables and correct typo in usage string.

14 years agoxenserver: Suppress output when creating initial config DB
Justin Pettit [Fri, 11 Dec 2009 21:03:01 +0000 (13:03 -0800)]
xenserver: Suppress output when creating initial config DB

14 years agovswitch: Set datapath_id and ofport in ovsdb.
Ben Pfaff [Sat, 12 Dec 2009 01:03:35 +0000 (17:03 -0800)]
vswitch: Set datapath_id and ofport in ovsdb.

Now ovs-vswitchd fills in the Interface ofport and Bridge datapath_id
fields when it reconfigures.

The existing Bridge datapath_id and hwaddr columns, which had surprising
meanings, have been banished to a new other_config column.

14 years agoRemove redundant calls to set_nonblocking().
Ben Pfaff [Sat, 12 Dec 2009 01:00:28 +0000 (17:00 -0800)]
Remove redundant calls to set_nonblocking().

These set_nonblocking() calls are on a fd returned by make_unix_socket(),
which has already set the fd nonblocking.

14 years agosocket-util: Clarify EAGAIN error code for make_unix_socket().
Ben Pfaff [Sat, 12 Dec 2009 00:59:44 +0000 (16:59 -0800)]
socket-util: Clarify EAGAIN error code for make_unix_socket().

make_unix_socket() can return EAGAIN in rare circumstances, e.g. when the
server's socket listen queue is full.  A lot of OVS callers interpret
EAGAIN as a "try again" error code, but in this case it means that the
attempt to create the socket failed.  So munge EAGAIN into another error
code to prevent that misinterpretation.

14 years agoovsdb-idl: Prevent segfault destroying an incomplete transaction.
Ben Pfaff [Sat, 12 Dec 2009 00:58:16 +0000 (16:58 -0800)]
ovsdb-idl: Prevent segfault destroying an incomplete transaction.

14 years agoovsdb: Fix segfault when a column set contains an invalid column name.
Ben Pfaff [Sat, 12 Dec 2009 00:37:29 +0000 (16:37 -0800)]
ovsdb: Fix segfault when a column set contains an invalid column name.

14 years agovswitch: Generate text file documenting the vswitch schema.
Ben Pfaff [Fri, 11 Dec 2009 22:12:50 +0000 (14:12 -0800)]
vswitch: Generate text file documenting the vswitch schema.

Now you can read vswitchd/vswitch-idl.txt for some textual documentation
of the OVS schema.

14 years agoovsdb-idl: Fix deletion of modified row.
Ben Pfaff [Fri, 11 Dec 2009 21:16:15 +0000 (13:16 -0800)]
ovsdb-idl: Fix deletion of modified row.

If the transaction modified a row and then deleted it, the IDL would
instead mistakenly leave the row entirely untouched.

This commit fixes this bug.  It needs a regression test, but this commit
does not add one.

14 years agoovsdb: Cleanly abort delete operations.
Ben Pfaff [Fri, 11 Dec 2009 20:58:30 +0000 (12:58 -0800)]
ovsdb: Cleanly abort delete operations.

14 years agoovs-vsctl: Add --dry-run option.
Ben Pfaff [Fri, 11 Dec 2009 19:28:36 +0000 (11:28 -0800)]
ovs-vsctl: Add --dry-run option.

14 years agoovsdb-client: Add support for pretty-printing JSON in output.
Ben Pfaff [Fri, 11 Dec 2009 19:14:00 +0000 (11:14 -0800)]
ovsdb-client: Add support for pretty-printing JSON in output.

14 years agoovsdb-idl: Fix row insertion and deletion behavior.
Ben Pfaff [Fri, 11 Dec 2009 18:46:59 +0000 (10:46 -0800)]
ovsdb-idl: Fix row insertion and deletion behavior.

When the IDL was used to insert a row, but all of the new row's columns
were left at the default values, then the IDL would not insert the row at
all.

When the IDL was used to delete one or more rows, and the transaction did
not include any update or insertion operations, the transaction was dropped
entirely.

This commit fixes these two bugs.  It needs a regression test, but this
commit does not add one.

14 years agoovs-vsctl: Initialize the database automatically.
Ben Pfaff [Fri, 11 Dec 2009 18:40:55 +0000 (10:40 -0800)]
ovs-vsctl: Initialize the database automatically.

14 years agoxenserver: Have brctl wrapper use config DB instead of config file
Justin Pettit [Fri, 11 Dec 2009 01:07:14 +0000 (17:07 -0800)]
xenserver: Have brctl wrapper use config DB instead of config file

This is a first cut and is likely buggy.  VLANs have not been tested.

14 years agoxenserver: Fix typo in dump-vif-details
Justin Pettit [Fri, 11 Dec 2009 00:54:48 +0000 (16:54 -0800)]
xenserver: Fix typo in dump-vif-details

dump-vif-details was calling ovs-vsctl with "bridge-set-external-id",
when it should have been "br-set-external-id".

14 years agoxenserver: Fixes related to creating config DB in RPM spec file
Justin Pettit [Thu, 10 Dec 2009 23:28:49 +0000 (15:28 -0800)]
xenserver: Fixes related to creating config DB in RPM spec file

Some programs require a "Open_vSwitch" table to exist in the
configuration DB.  This change adds that table when a new DB is created.

Also, don't try to create the DB unless it doesn't exist.

14 years agoovs-brcompatd: Remove references to locking config file
Justin Pettit [Thu, 10 Dec 2009 23:24:26 +0000 (15:24 -0800)]
ovs-brcompatd: Remove references to locking config file

With the config DB, it is no longer necessary to lock the config file.
This removes references to the need for that.

14 years agoxenserver: Remove references to "reload" in init script
Justin Pettit [Thu, 10 Dec 2009 23:21:56 +0000 (15:21 -0800)]
xenserver: Remove references to "reload" in init script

With ovs-vswitchd using the config DB, it is no longer necessary to tell
it to reload its configuration file.  This removes references to the
need for reloading.

It also cleans up some messages placed on the console during boot up.

14 years agoovs-brcompatd: Change man page to reflect new config db changes
Justin Pettit [Thu, 10 Dec 2009 23:04:22 +0000 (15:04 -0800)]
ovs-brcompatd: Change man page to reflect new config db changes

14 years agoxensource: Add kluge to make interface-reconfigure work better.
Ben Pfaff [Fri, 11 Dec 2009 00:43:10 +0000 (16:43 -0800)]
xensource: Add kluge to make interface-reconfigure work better.

This change makes xsconsole able to reconfigure the management interface
on some XenServer hosts.  It's not clear why it is needed--apparently
xapi is creating the bridge behind our back.

14 years agoovs-vsctl: Log fatal errors as well as printing them on the console.
Ben Pfaff [Fri, 11 Dec 2009 00:05:20 +0000 (16:05 -0800)]
ovs-vsctl: Log fatal errors as well as printing them on the console.

This makes debugging errors on XenServer much simpler, since many uses of
ovs-vsctl direct stderr to /dev/null.

14 years agoxenserver: Make basic VM networking work.
Ben Pfaff [Thu, 10 Dec 2009 23:53:03 +0000 (15:53 -0800)]
xenserver: Make basic VM networking work.

Tested by starting and stopping a VM that has a single VIF and verifying
that the VM could get an IP address via DHCP and access the network and
that the VIF's external-ids were set to plausible values.

14 years agoxenserver: Make basic interface-reconfigure calls work.
Ben Pfaff [Thu, 10 Dec 2009 23:37:59 +0000 (15:37 -0800)]
xenserver: Make basic interface-reconfigure calls work.

Now a XenServer can boot OK with the database at least in simple cases.

interface-reconfigure is slow because there is a 5-second sleep in place of
a proper way to wait for vswitchd reconfiguration to complete.

14 years agoxenserver: Check ovsdb-server version and status also.
Ben Pfaff [Thu, 10 Dec 2009 23:36:02 +0000 (15:36 -0800)]
xenserver: Check ovsdb-server version and status also.

14 years agoxenserver: Implement clearing database at boot.
Ben Pfaff [Thu, 10 Dec 2009 23:35:29 +0000 (15:35 -0800)]
xenserver: Implement clearing database at boot.

14 years agoovs-vsctl: Accept documented --no-wait option.
Ben Pfaff [Thu, 10 Dec 2009 23:32:50 +0000 (15:32 -0800)]
ovs-vsctl: Accept documented --no-wait option.

14 years agoovs-vsctl: Add --if-exists options to del-br, del-port commands.
Ben Pfaff [Thu, 10 Dec 2009 22:07:33 +0000 (14:07 -0800)]
ovs-vsctl: Add --if-exists options to del-br, del-port commands.

These options make it easier to reimplement interface-reconfigure using
ovs-vsctl.

14 years agoovs-vsctl: Make functions to find entities more flexible.
Ben Pfaff [Thu, 10 Dec 2009 21:42:12 +0000 (13:42 -0800)]
ovs-vsctl: Make functions to find entities more flexible.

This will be used in upcoming commits.

14 years agoovs-vsctl: Add options parsing infrastructure.
Ben Pfaff [Thu, 10 Dec 2009 21:28:22 +0000 (13:28 -0800)]
ovs-vsctl: Add options parsing infrastructure.

This paves the way for adding options to commands but should have no
user-visible change.

14 years agoovs-vsctl: Add --help output for external-id commands.
Ben Pfaff [Thu, 10 Dec 2009 18:11:43 +0000 (10:11 -0800)]
ovs-vsctl: Add --help output for external-id commands.

14 years agoovs-brcompatd: First cut at integration with new config db
Justin Pettit [Thu, 10 Dec 2009 08:08:39 +0000 (00:08 -0800)]
ovs-brcompatd: First cut at integration with new config db

This is an extremely lightly tested attempt at switching ovs-brcompatd
from using the config file to the new config db.  There are a lot of
shortcomings in this cut, but we need to make progress on the XenServer
integration, so it's going in now.  Expect changes in the near future.

14 years agoovs-vsctl: Fix minor memory leak in add_port().
Justin Pettit [Thu, 10 Dec 2009 06:14:54 +0000 (22:14 -0800)]
ovs-vsctl: Fix minor memory leak in add_port().

14 years agoUpdate .gitignore files
Justin Pettit [Tue, 8 Dec 2009 06:21:35 +0000 (22:21 -0800)]
Update .gitignore files

14 years agoxenserver: Modify init scripts to use new configuration database
Justin Pettit [Tue, 8 Dec 2009 02:18:29 +0000 (18:18 -0800)]
xenserver: Modify init scripts to use new configuration database

14 years agoxenserver: Remove ip_gre kernel module when other modules are removed
Justin Pettit [Mon, 7 Dec 2009 23:59:20 +0000 (15:59 -0800)]
xenserver: Remove ip_gre kernel module when other modules are removed

14 years agoovs-vsctl: New commands for working with external IDs.
Ben Pfaff [Thu, 10 Dec 2009 01:04:08 +0000 (17:04 -0800)]
ovs-vsctl: New commands for working with external IDs.

This aids XenServer integration and should make it easier to integrate
with other environments in the future as well.

14 years agoovs-vsctl: Fix performance problem.
Ben Pfaff [Wed, 9 Dec 2009 21:29:02 +0000 (13:29 -0800)]
ovs-vsctl: Fix performance problem.

14 years agoovs-vsctl: Fix bugs.
Ben Pfaff [Wed, 9 Dec 2009 21:28:48 +0000 (13:28 -0800)]
ovs-vsctl: Fix bugs.

The full ovs-vsctl test suite now passes.

14 years agovsctl: Start making it work with ovsdb.
Ben Pfaff [Wed, 9 Dec 2009 01:18:12 +0000 (17:18 -0800)]
vsctl: Start making it work with ovsdb.

This passes at least one test (the one named "add-br a").  It probably
doesn't pass any more than that.

This is *way* not up to my quality standards, but we are in a super hurry
so I'm pushing it anyhow.

14 years agoovsdb-idlc: Add "const" to "set" function arguments that should have it.
Ben Pfaff [Wed, 9 Dec 2009 01:15:46 +0000 (17:15 -0800)]
ovsdb-idlc: Add "const" to "set" function arguments that should have it.

14 years agoovsdb-idl: New function to obtain the current transaction from any row.
Ben Pfaff [Wed, 9 Dec 2009 01:14:56 +0000 (17:14 -0800)]
ovsdb-idl: New function to obtain the current transaction from any row.

14 years agoovsdb-idl: Bug fixes.
Ben Pfaff [Wed, 9 Dec 2009 01:14:36 +0000 (17:14 -0800)]
ovsdb-idl: Bug fixes.

14 years agovswitch: Add "external_ids" and "ofport" columns to Interface table.
Ben Pfaff [Tue, 8 Dec 2009 21:03:38 +0000 (13:03 -0800)]
vswitch: Add "external_ids" and "ofport" columns to Interface table.

14 years agoovsdb-idlc: Fix parsing of "ephemeral" member of "column".
Ben Pfaff [Tue, 8 Dec 2009 21:39:42 +0000 (13:39 -0800)]
ovsdb-idlc: Fix parsing of "ephemeral" member of "column".

14 years agoovsdb-idl: Update IDL data when "set" functions are called.
Ben Pfaff [Tue, 8 Dec 2009 17:48:37 +0000 (09:48 -0800)]
ovsdb-idl: Update IDL data when "set" functions are called.

Until now, the "set" functions generated by the IDL updated the data in the
database (during commit) but not the data exposed by the IDL in its data
structures.  This was just an oversight, so this commit causes the data
exposed by IDL to be updated also.

14 years agoovsdb-idl: Make it possible to write data through the IDL.
Ben Pfaff [Tue, 8 Dec 2009 01:08:04 +0000 (17:08 -0800)]
ovsdb-idl: Make it possible to write data through the IDL.

Until now the IDL has been exclusively a read-only interface.  This commit
introduces a general-purpose interface for writing to ovsdb via the IDL.

14 years agoovsdb: Implement new "declare" operation.
Ben Pfaff [Mon, 7 Dec 2009 19:47:48 +0000 (11:47 -0800)]
ovsdb: Implement new "declare" operation.

14 years agojson: New convenience function json_array_create_1().
Ben Pfaff [Tue, 8 Dec 2009 01:10:09 +0000 (17:10 -0800)]
json: New convenience function json_array_create_1().

14 years agobitmap: New function bitmap_scan() and macro BITMAP_FOR_EACH_1.
Ben Pfaff [Tue, 8 Dec 2009 01:09:52 +0000 (17:09 -0800)]
bitmap: New function bitmap_scan() and macro BITMAP_FOR_EACH_1.

bitmap_scan() can be optimized significantly for the case of a sparse
bitmap but it doesn't seem worth the additional overhead of writing a test
unless and until we show that it's a useful optimization in practice.

14 years agohmap: Add function to mark an hmap_node as "null" and check for the mark.
Ben Pfaff [Tue, 8 Dec 2009 01:02:00 +0000 (17:02 -0800)]
hmap: Add function to mark an hmap_node as "null" and check for the mark.

This is useful in cases where one might want to know whether an hmap_node
is actually part of an hmap, without using a separate variable to indicate
it.

14 years agoovsdb-idlc: Add rules to make sure .h files get generated before .c files.
Ben Pfaff [Tue, 8 Dec 2009 01:00:14 +0000 (17:00 -0800)]
ovsdb-idlc: Add rules to make sure .h files get generated before .c files.

The .c files #include the .h files so the .h files need to be generated
first.

14 years agoFix alphabetic ordering in lib/automake.mk
Glen Gibb [Tue, 8 Dec 2009 00:24:03 +0000 (16:24 -0800)]
Fix alphabetic ordering in lib/automake.mk

    Files in lib_libopenvswitch_a_SOURCES list in automake.mk were
    incorrectly sorted. Files out of order:
      - lib/uuid.[ch]
      - lib/unixctl.[ch]

14 years agoovsdb: Remove obsolete declaration from ovsdb-server.c.
Ben Pfaff [Mon, 7 Dec 2009 21:32:44 +0000 (13:32 -0800)]
ovsdb: Remove obsolete declaration from ovsdb-server.c.

14 years agovswitchd: Avoid segfault when local port is required but missing.
Ben Pfaff [Mon, 7 Dec 2009 21:02:37 +0000 (13:02 -0800)]
vswitchd: Avoid segfault when local port is required but missing.

Connecting to a controller requires the vswitch to have a local port
(typically named the same as the bridge itself).  Before the introduction
of ovsdb ovs-vswitchd simply added the local port itself if it was missing.
This was not properly implemented with the ovsdb transition, and a segfault
resulted.  This commit avoids the segfault, although it should possibly
be improved to also add the local port, as before.

CC: Jeremy Stribling <strib@nicira.com>
14 years agogre: Temporary workarounds for GRE on Xen.
Jesse Gross [Sun, 6 Dec 2009 02:49:37 +0000 (18:49 -0800)]
gre: Temporary workarounds for GRE on Xen.

Two issues exist that prevent GRE tunnels from working properly on
Xen: iptables rules and brcompatd.  The first issue is that GRE
traffic is not permitted by the default iptables rules.  The second
is that brcompatd removes ports from the configuration that it
believes do not exist, which causes GRE ports to be deleted before
they are created.

This commit avoids these issues though not in the most optimal way.
Better fixes will be forthcoming in the near future.

14 years agogre: Add userspace GRE support.
Jesse Gross [Sun, 6 Dec 2009 00:01:06 +0000 (16:01 -0800)]
gre: Add userspace GRE support.

This implements the userspace portion of GRE on Linux. It communicates
with the kernel module to setup tunnels using either Netlink or ioctls
as appropriate based on the kernel version.

Significant portions of this commit were actually written by
Justin Pettit.

14 years agogre: Add kernel GRE support.
Jesse Gross [Sun, 6 Dec 2009 23:10:35 +0000 (15:10 -0800)]
gre: Add kernel GRE support.

This implements the kernel portion of GRE on Linux.  It consists
of a backported module that provides the GRE capabilities of 2.6.32
plus bug fixes to kernels 2.6.18+.

14 years agogre: Compatibility with older Linux kernel versions.
Jesse Gross [Thu, 3 Dec 2009 02:56:36 +0000 (18:56 -0800)]
gre: Compatibility with older Linux kernel versions.

The upcoming GRE kernel module compiles on a range (2.6.18+) of
Linux kernel versions.  The module expects the kernel headers to
look like newer versions.  Where older and newer versions of the
kernel differ this commit implements shims to paper over the changes.

14 years agonetflow: Correctly set active timeout value.
Jesse Gross [Mon, 7 Dec 2009 05:37:57 +0000 (21:37 -0800)]
netflow: Correctly set active timeout value.

This fixes a bug originally introduced in commit 763435 "vswitchd:
Initial conversion to database-based configuration."  The bug
reversed a less than operator when setting the active timeout field.
Also add a warning if the timeout is set to an invalid value.

CC: Glen Gibb <grg@stanford.edu>
14 years agoUpdate ovsdb specifications based on suggestions from Brandon Heller.
Ben Pfaff [Mon, 7 Dec 2009 17:45:38 +0000 (09:45 -0800)]
Update ovsdb specifications based on suggestions from Brandon Heller.

14 years agoofproto: Fix reversed inequality test.
Ben Pfaff [Mon, 7 Dec 2009 17:25:32 +0000 (09:25 -0800)]
ofproto: Fix reversed inequality test.

Thanks to Glen Gibb <grg@stanford.edu> for pointing out the problem.

14 years agovswitch: Add description for configuring GRE tunnels
Justin Pettit [Sat, 5 Dec 2009 07:07:09 +0000 (23:07 -0800)]
vswitch: Add description for configuring GRE tunnels

14 years agoovsdb-idl: Fix memory leak.
Ben Pfaff [Fri, 4 Dec 2009 23:06:26 +0000 (15:06 -0800)]
ovsdb-idl: Fix memory leak.

14 years agoovsdb-idl: Optimize lookup of struct idl_table from struct idl_table_class.
Ben Pfaff [Fri, 4 Dec 2009 22:55:24 +0000 (14:55 -0800)]
ovsdb-idl: Optimize lookup of struct idl_table from struct idl_table_class.

Before, the idl_table could only be obtained through a hash lookup of a
string.  This way is faster and more straightforward.

14 years agoDistribute ovsdb-idlc built sources, so Python is not required for build.
Ben Pfaff [Fri, 4 Dec 2009 01:06:29 +0000 (17:06 -0800)]
Distribute ovsdb-idlc built sources, so Python is not required for build.

The Xen DDK VM does not include Python, so it's best if we don't have to
require it for the build.

The built sources are still regenerated if necessary.

14 years agovswitchd: Add "id" column to Interface table for use by NOX.
Ben Pfaff [Fri, 4 Dec 2009 00:20:30 +0000 (16:20 -0800)]
vswitchd: Add "id" column to Interface table for use by NOX.

This might end up being absorbed into a more general-purpose
"foreign-keys" column.

14 years agojson: Improve error reporting.
Ben Pfaff [Fri, 4 Dec 2009 00:08:34 +0000 (16:08 -0800)]
json: Improve error reporting.

14 years agovswitchd: Avoid segfault when creating a bridge fails.
Ben Pfaff [Thu, 3 Dec 2009 23:14:56 +0000 (15:14 -0800)]
vswitchd: Avoid segfault when creating a bridge fails.

bridge_create() can return a null pointer if creating the bridge fails, so
check for that and don't dereference it in that case.

Thank to Jeremy Stribling for reporting the problem.

14 years agoxenserver: Mention additional ovsdb files that are included.
Ben Pfaff [Thu, 3 Dec 2009 23:03:38 +0000 (15:03 -0800)]
xenserver: Mention additional ovsdb files that are included.

14 years agoovsdb: Fix race conditions in test suite.
Ben Pfaff [Thu, 3 Dec 2009 22:45:16 +0000 (14:45 -0800)]
ovsdb: Fix race conditions in test suite.

14 years agoovsdb-client: Add support for --detach to "monitor" command.
Ben Pfaff [Thu, 3 Dec 2009 22:25:06 +0000 (14:25 -0800)]
ovsdb-client: Add support for --detach to "monitor" command.

14 years agoovsdb-server: Open --listen sockets before detaching.
Ben Pfaff [Thu, 3 Dec 2009 22:20:33 +0000 (14:20 -0800)]
ovsdb-server: Open --listen sockets before detaching.

This prevents a race condition in a command sequence that starts
ovsdb-server and then immediately connects to it with ovsdb-client.

14 years agoxenserver: Remove now-missing files from RPM spec file.
Ben Pfaff [Thu, 3 Dec 2009 22:46:57 +0000 (14:46 -0800)]
xenserver: Remove now-missing files from RPM spec file.

Making XenServer work with ovsdb will take additional changes, but this
should at least make it possible to build the RPM again.

14 years agovswitchd: Initial conversion to database-based configuration.
Ben Pfaff [Thu, 3 Dec 2009 19:28:40 +0000 (11:28 -0800)]
vswitchd: Initial conversion to database-based configuration.

This has seen very little testing, so some features are almost certainly
busted.  Port mirroring is not yet converted, so it will definitely not
work.

14 years agovswitchd: Remove vestigial spanning tree protocol (STP) support.
Ben Pfaff [Thu, 3 Dec 2009 18:59:09 +0000 (10:59 -0800)]
vswitchd: Remove vestigial spanning tree protocol (STP) support.

ovs-vswitchd has never supported spanning tree protocol, but there was
nevertheless a considerable amount of code that provided a framework for
supporting it.

This commit deletes this code, since we have no plans to introduce STP
support soon.

14 years agoovsdb-idl: Fix resolution of references from one table to another.
Ben Pfaff [Thu, 3 Dec 2009 18:35:45 +0000 (10:35 -0800)]
ovsdb-idl: Fix resolution of references from one table to another.

Our tests only checked references from a table to itself, so of course
there were bugs in references from one table to another.  This fixes the
obvious one and adds a test.

14 years agoovsdb-idl: Make IDL-generated files depend on ovsdb-idlc.
Ben Pfaff [Thu, 3 Dec 2009 18:53:58 +0000 (10:53 -0800)]
ovsdb-idl: Make IDL-generated files depend on ovsdb-idlc.

This ensures that IDL-generated files get rebuilt whenever the IDL
compiler itself is updated.

14 years agoovsdb-idlc: C code generation improvements.
Ben Pfaff [Thu, 3 Dec 2009 18:34:26 +0000 (10:34 -0800)]
ovsdb-idlc: C code generation improvements.

This eliminates many casts from the IDL's generated C code and reduces the
number of levels of indirection for simple cases of optional string or
pointer columns.

14 years agoMerge "master" branch into "db".
Ben Pfaff [Wed, 2 Dec 2009 19:49:53 +0000 (11:49 -0800)]
Merge "master" branch into "db".

14 years agoovsdb: Implement C bindings for IDL.
Ben Pfaff [Wed, 2 Dec 2009 19:26:15 +0000 (11:26 -0800)]
ovsdb: Implement C bindings for IDL.

14 years agojsonrpc: Make it easy to get a new JSON-RPC request's id.
Ben Pfaff [Wed, 2 Dec 2009 00:32:03 +0000 (16:32 -0800)]
jsonrpc: Make it easy to get a new JSON-RPC request's id.

14 years agojsonrpc: New type "jsonrpc_session", which automatically reconnects.
Ben Pfaff [Wed, 2 Dec 2009 18:50:18 +0000 (10:50 -0800)]
jsonrpc: New type "jsonrpc_session", which automatically reconnects.

14 years agoovsdb: Allow a named-uuid to be used within the operation that creates it.
Ben Pfaff [Wed, 2 Dec 2009 00:35:33 +0000 (16:35 -0800)]
ovsdb: Allow a named-uuid to be used within the operation that creates it.

This allows a transaction like this:

[{"op": "insert",
  "table": "mytable",
  "row": {"i": 0, "k": ["named-uuid", "self"]},
  "uuid-name": "self"}]

It was already possible to do this by following up on the "insert" with an
"update", but since this was easy to implement I did it.

14 years agovswitchd: Fix build when source and build directory differ.
Ben Pfaff [Wed, 2 Dec 2009 19:18:40 +0000 (11:18 -0800)]
vswitchd: Fix build when source and build directory differ.

14 years agonetdev: Allow explicit creation of netdev objects
Justin Pettit [Tue, 1 Dec 2009 09:14:33 +0000 (01:14 -0800)]
netdev: Allow explicit creation of netdev objects

This change adds netdev_create() and netdev_destroy() functions to allow
the creation of network devices through the netdev library.  Previously,
network devices had to already exist or be created on demand through
netdev_open().  This caused problems such as not being able to specify
TAP devices as ports in ovs-vswitchd, which this patch fixes.

This also lays the groundwork for adding GRE and VDE support.

14 years agodpif: Minor provider comment cleanups.
Justin Pettit [Tue, 1 Dec 2009 07:20:57 +0000 (23:20 -0800)]
dpif: Minor provider comment cleanups.

14 years agovswitch.ovsidl: Fix comments.
Ben Pfaff [Tue, 24 Nov 2009 17:45:54 +0000 (09:45 -0800)]
vswitch.ovsidl: Fix comments.

14 years agoclassifier: Improve comments.
Ben Pfaff [Tue, 24 Nov 2009 17:59:54 +0000 (09:59 -0800)]
classifier: Improve comments.

14 years agoovsdb: Minor cleanups to the SPECS file
Justin Pettit [Tue, 24 Nov 2009 03:00:27 +0000 (19:00 -0800)]
ovsdb: Minor cleanups to the SPECS file

14 years agovswitch.ovsidl: Various cleanups
Justin Pettit [Tue, 24 Nov 2009 01:28:00 +0000 (17:28 -0800)]
vswitch.ovsidl: Various cleanups

Fix a few minor errors and provide some cleanups in the vswitch IDL
schema.