openvswitch
15 years agoAdd unit test for SHA-1 library.
Ben Pfaff [Wed, 10 Jun 2009 23:45:28 +0000 (16:45 -0700)]
Add unit test for SHA-1 library.

15 years agoAdd file missing from commit baf099 "Fix glibc 2.7 strtok_r() bug...".
Ben Pfaff [Wed, 10 Jun 2009 23:45:02 +0000 (16:45 -0700)]
Add file missing from commit baf099 "Fix glibc 2.7 strtok_r() bug...".

Oops.

15 years agovswitch: Fix handling of multicast packets received by bonds.
Ben Pfaff [Wed, 10 Jun 2009 22:24:03 +0000 (15:24 -0700)]
vswitch: Fix handling of multicast packets received by bonds.

As long as bonding has been implemented, the vswitch has refused to learn
from multicast packets that arrive on a bond slave if it has already
learned any other port for that source MAC, because it is likely that we
sent the packet out ourselves and are only now receiving a copy of it on
our active slave.

This is entirely correct, but it does not go far enough.  In fact, the
bridge needs to entirely drop such packets.  Otherwise, a host whose MAC
is assigned to a slave other than the active slave will receive a second
copy of multicast packets that it sends out the bond, and other ports
will receive two copies of every multicast packet sent by such a host.

This commit implements this new policy, which simplifies the code at the
same time.

Bug #1387.

15 years agovswitch: Add ovs-appctl commands for debugging and managing bonds.
Ben Pfaff [Wed, 10 Jun 2009 22:13:21 +0000 (15:13 -0700)]
vswitch: Add ovs-appctl commands for debugging and managing bonds.

15 years agoFix glibc 2.7 strtok_r() bug in a more permanent fashion.
Ben Pfaff [Wed, 10 Jun 2009 21:16:40 +0000 (14:16 -0700)]
Fix glibc 2.7 strtok_r() bug in a more permanent fashion.

The glibc 2.7 headers contain a bug that causes strtok_r() to segfault
in some circumstances.  Until now, we have been working around this
problem at each invocation, but this depends on the programmer to remember
to do so each time.

This commit instead adds a shim that adds a work-around to the string.h
header itself, so that it is much more difficult to miss the workaround.

15 years agovswitch: Clarify what "ingress" means in policing
Justin Pettit [Wed, 10 Jun 2009 06:32:30 +0000 (23:32 -0700)]
vswitch: Clarify what "ingress" means in policing

The man page for ovs-vswitchd.conf explains how ingress policing works.
However, what "ingress" means is a bit confusing depending on the
perspective.  For vSwitch, it's from the switch's perspective.  This
means on a PIF, it's the rate traffic comes into the box.  On a VIF,
it's the rate traffic can be *transmitted* from a VM.  This commit
clarifies the man page a bit.

Thanks to Johan for pointing out the problem.

15 years agoxenserver: Add dump-vif-details to automake
Justin Pettit [Wed, 10 Jun 2009 01:40:15 +0000 (18:40 -0700)]
xenserver: Add dump-vif-details to automake

15 years agoxenserver: Send VIF details to controller
Justin Pettit [Wed, 10 Jun 2009 01:19:02 +0000 (18:19 -0700)]
xenserver: Send VIF details to controller

The controller needs to know various things about virtual interfaces as
they move about the network.  This commit sends the VIF, virtual
machine, and network UUIDs associated with the VIF, as well as its MAC
address over the management channel.

Feature #1324

15 years agoXen: Fixes for core handling configuration
Justin Pettit [Tue, 9 Jun 2009 22:46:50 +0000 (15:46 -0700)]
Xen: Fixes for core handling configuration

An improper string comparison operator was used to check whether
FORCE_COREFILES was enabled.  Further, the check to enable core files
was only down when vswitch was started, and not when restarted.

Thanks to Ben for help debugging the issue.

15 years agoFix url in RPM spec.
Justin Pettit [Tue, 9 Jun 2009 00:29:37 +0000 (17:29 -0700)]
Fix url in RPM spec.

15 years agoAdd unit test for TCP/IP checksumming code.
Ben Pfaff [Wed, 10 Jun 2009 00:10:18 +0000 (17:10 -0700)]
Add unit test for TCP/IP checksumming code.

15 years agoFix another "make" versus "make dist" build problem.
Ben Pfaff [Tue, 9 Jun 2009 22:19:24 +0000 (15:19 -0700)]
Fix another "make" versus "make dist" build problem.

15 years agoRemove "dpkg-buildpackage" test from "make distcheck".
Ben Pfaff [Tue, 9 Jun 2009 21:22:52 +0000 (14:22 -0700)]
Remove "dpkg-buildpackage" test from "make distcheck".

Now the Debian packaging is regularly tested via the autobuilder, so there
is less need to do it from "make distcheck", and not doing it saves time
there.

15 years agoFix behavior of simultaneous "make" and "make dist".
Ben Pfaff [Tue, 9 Jun 2009 21:19:53 +0000 (14:19 -0700)]
Fix behavior of simultaneous "make" and "make dist".

We were distributing lib/dirs.c, which doesn't make sense, but in any case
it created a race between "make" and "make dist" in updating lib/dirs.c,
which showed up in the Debian package build (which runs build-indep and
build-arch in parallel).

Also, clean lib/dhparams.c.

This should fix the failure seen in build openvswitch843.

15 years agoxenserver: Use parallel make in RPM build on SMP machines.
Ben Pfaff [Tue, 9 Jun 2009 20:49:49 +0000 (13:49 -0700)]
xenserver: Use parallel make in RPM build on SMP machines.

15 years agodebian: Honor "noopt", "parallel=<n>" build options.
Ben Pfaff [Tue, 9 Jun 2009 20:33:24 +0000 (13:33 -0700)]
debian: Honor "noopt", "parallel=<n>" build options.

15 years agodebian: Run build tests during build (unless "nocheck" is specified).
Ben Pfaff [Tue, 9 Jun 2009 20:32:59 +0000 (13:32 -0700)]
debian: Run build tests during build (unless "nocheck" is specified).

15 years agodebian: Ignore directories created as part of Debian package build.
Ben Pfaff [Tue, 9 Jun 2009 20:32:20 +0000 (13:32 -0700)]
debian: Ignore directories created as part of Debian package build.

15 years agoUpdate documentation.
Ben Pfaff [Tue, 9 Jun 2009 20:09:08 +0000 (13:09 -0700)]
Update documentation.

15 years agoovs-pki: Improve readability of manpage.
Ben Pfaff [Tue, 9 Jun 2009 00:12:27 +0000 (17:12 -0700)]
ovs-pki: Improve readability of manpage.

15 years agoovs-pki: Fix formatting errors in manpage.
Ben Pfaff [Tue, 9 Jun 2009 00:11:46 +0000 (17:11 -0700)]
ovs-pki: Fix formatting errors in manpage.

15 years agovswitch: Send gratuitous learning packets when bond slaves go down.
Ben Pfaff [Mon, 8 Jun 2009 19:26:27 +0000 (12:26 -0700)]
vswitch: Send gratuitous learning packets when bond slaves go down.

When a bond slave goes down, all of the MACs that were on it are migrated
to another slave, but this is not apparent to the switch that the bond is
connected to until each MAC sends out a packet.  This causes incoming
traffic for a given MAC to be dropped until the MAC sends out a packet.
This is not usually a problem, because traffic is not ordinarily one-way,
and we can't avoid losing some packets in some cases, but we can do a
little better by sending out a gratuitous learning packet on the new slave
as soon as we know about it, and that is what this commit implements.

Bug #1290.

15 years agomac-learning: Make data structures public.
Ben Pfaff [Mon, 8 Jun 2009 19:20:38 +0000 (12:20 -0700)]
mac-learning: Make data structures public.

The vswitchd bonding code needs to iterate through the table entries to
be able to send out gratuitous learning packets when bond slaves go down.
It might be best to create an abstract interface to the MAC learning table,
but this commit does the simpler thing and exposes the data structures in
the header file.

15 years agovswitch: Fix typos in OFMP comments.
Justin Pettit [Fri, 5 Jun 2009 21:52:55 +0000 (14:52 -0700)]
vswitch: Fix typos in OFMP comments.

A couple of comments describing the new UUID TLVs were incorrect and
this fixes them.

15 years agovswitch: Fix OFMP alignment problem on 64-bit systems.
Justin Pettit [Fri, 5 Jun 2009 21:50:08 +0000 (14:50 -0700)]
vswitch: Fix OFMP alignment problem on 64-bit systems.

One of the OpenFlow managment protocol's UUID TLV messages had a problem
building on 64-bit systems.  By extending the structure length by 4
bytes, the problem goes away.

15 years agovswitch: Enable bond slaves based on carrier status, not up/down.
Ben Pfaff [Fri, 5 Jun 2009 21:28:39 +0000 (14:28 -0700)]
vswitch: Enable bond slaves based on carrier status, not up/down.

Whether a bond slave is enabled should be based on whether the device's
PHY sees carrier, not based on whether the device is configured up or down.
(Note that a device that is configured down will always see "no carrier").
Otherwise a device that is up but has no carrier will initially be enabled,
which does not make sense.

This has no effect on interfaces that are not bond slaves, because the
"enabled" setting is used only by bond slaves.

Bug #1247.

15 years agonetdev: New function netdev_nodev_get_carrier().
Ben Pfaff [Fri, 5 Jun 2009 21:26:42 +0000 (14:26 -0700)]
netdev: New function netdev_nodev_get_carrier().

15 years agoxenserver: Bring up bond slave device before adding to bond.
Ben Pfaff [Fri, 5 Jun 2009 21:08:36 +0000 (14:08 -0700)]
xenserver: Bring up bond slave device before adding to bond.

Until now, we've added network devices to the ovs-vswitchd configuration
file before bringing them up.  This works suboptimally for bond slaves,
because vswitchd takes the initial carrier state of the bond slaves as
whether to initially enable or disable them, and a device that is down
always reports "no carrier".  So this commit changes interface-reconfigure
to bring up bond slaves before adding them to the configuration file,
which gives them a chance to detect carrier before vswitchd checks for it.

This might still be an imperfect situation, because it takes quite a while
(maybe 1 second?) for some network devices to detect carrier after being
brought up.  But the kernel implementation of bonding seems to do the very
same thing, so we should be at least no worse than it.

Incidentally, this is only important for bonds that have long updelays.
XenServer uses an updelay of 31 seconds (!), so it is especially important
there.

Bug #1247.

15 years agoxenserver: Allow RPM to install only with correct Xen kernel version.
Ben Pfaff [Fri, 5 Jun 2009 19:24:58 +0000 (12:24 -0700)]
xenserver: Allow RPM to install only with correct Xen kernel version.

Bug #638.

15 years agovswitch: Send Xen UUIDs associated with system and networks
Justin Pettit [Fri, 5 Jun 2009 19:13:37 +0000 (12:13 -0700)]
vswitch: Send Xen UUIDs associated with system and networks

This commit sends information about Xen UUIDs to the controller through
the management connection.  Specifically, it sends the XenServer UUID
and a list of network UUIDs associated with each datapath.

15 years agoxenserver: Rename cache file to ovs-vswitch.dbache, for consistency.
Ben Pfaff [Fri, 5 Jun 2009 18:18:33 +0000 (11:18 -0700)]
xenserver: Rename cache file to ovs-vswitch.dbache, for consistency.

Fixes bug #1374.

15 years agoImport from old repository commit 61ef2b42a9c4ba8e1600f15bb0236765edc2ad45.
Ben Pfaff [Wed, 8 Jul 2009 20:19:16 +0000 (13:19 -0700)]
Import from old repository commit 61ef2b42a9c4ba8e1600f15bb0236765edc2ad45.