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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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>
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.
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.
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+.
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.
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>