2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-15 14:17:18 +00:00
Commit Graph

96 Commits

Author SHA1 Message Date
Jesse Gross
8773132685 datapath: Provide simple version of if_ether.h on non-Linux systems.
Signed-off-by: Jesse Gross <jesse@nicira.com>
2013-03-29 18:47:25 -07:00
Ben Pfaff
d30e714ccb configure: Only link against libpcap on FreeBSD.
On other platforms there is no benefit to linking against libpcap, because
it is not used.

Signed-off-by: Ben Pfaff <blp@nicira.com>
CC: Ed Maste <emaste@freebsd.org>
2013-03-20 11:35:55 -07:00
Justin Pettit
d224e35014 Prepare for post-1.10.0 (1.10.90).
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2013-02-04 23:51:57 -08:00
Justin Pettit
4191f4350b Prepare for 1.10.0.
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2013-02-04 23:51:57 -08:00
Ben Pfaff
4958e3ee12 Makefile.am: add check that <assert.h> is not used from unexpected files.
In general, with a few specific exceptions, ovs_assert is now preferred
over assert, so this commit adds a check for that in the top-level
Makefile.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
2013-01-16 16:04:11 -08:00
Pravin B Shelar
5ca1ba484b openvswitch: Remove Linux bridge compatibility.
Currently brcompat does not work on master due to recent
datapath changes. We have decided to remove it as it is
not used very widely.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
2012-12-27 13:48:51 -08:00
Ben Pfaff
e5f77cc3e3 Prepare for post-1.9.0 (1.9.90).
Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-10-24 16:25:33 -07:00
Ben Pfaff
dc074beb57 Prepare for 1.9.0.
Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-10-24 16:25:33 -07:00
Ethan Jackson
3d7cab5fe0 timeval: Optionally enable cached timing at configure time.
Often when developing, it would be convenient to force OVS to
either enable or disable cached timing so that a feature can be
tested under both strategies.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
2012-10-17 13:10:02 -07:00
Ethan Jackson
9d232a6d57 timeval: Add new "backtrace" appctl command.
Often, it can be quite difficult to debug performance issues in
Open vSwitch.  Typically one needs to run something like gprof, but
that requires rebuilding and installing on the affected system
which is often problematic.  This patch adds a light weight
profiling solution which can be used in these situations.  The
ovs-appctl backtrace command prints out backtraces taken at 100
millisecond intervals over a 5 second period of time.  It is
currently only supported on systems which have the execinfo library
and enable time caching.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
2012-10-14 19:36:39 -07:00
Ethan Jackson
361906b1e2 config: Add explicit support for building on ESX.
The ESX userspace looks quite a bit like linux, but has some key
differences which need to be specially handled in the build.  To
distinguish between ESX and systems which use the linux datapath
module, this patch adds two new macros "ESX" and "LINUX_DATAPATH".
It uses these macros to disable building code on ESX which only
applies to a true Linux environment.  In addition, it adds a new
route-table-stub implementation which is required for the build to
complete successfully on ESX.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
2012-10-09 15:23:47 -07:00
Ben Pfaff
4210c33bdb Avoid requiring autom4te when it won't necessarily be needed.
Commit 7fd3e43db0 (tests: Allow environment specified autom4te.) added a
requirement for Autom4te without anyone noticing it in advance.  This
caused a build failure in the XenServer DDK, which doesn't have Autom4te.
Since Autom4te is only needed if the testsuite is modified, this commit
makes it optional.

(Autom4te is part of Autoconf.)

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
2012-10-04 16:28:10 -07:00
Ethan Jackson
7fd3e43db0 tests: Allow environment specified autom4te.
In the ESX build system, autom4te is in a funny location specified
by an environment variable.  Before this patch, this environment
variable was overridden by the tests automake file.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
2012-10-04 13:42:46 -07:00
Ben Pfaff
f973f2af2f Make the location of the database separately configurable.
The default is unchanged, /etc/openvswitch/conf.db.

This makes it possible to transition each Open vSwitch packaging from
/etc/openvswitch/conf.db to /var/lib/openvswitch/conf.db independently.

Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-01 10:55:57 -07:00
Giuseppe Lettieri
f6eb6b2025 netdev implementation for FreeBSD
This patch adds new netdev classes that implement
"system" and "tap" devices on FreeBSD using the
libpcap library. This enables the use of the
"netdev" datapath_type of Open vSwitch on FreeBSD.

Signed-off-by: Gaetano Catalli <gaetano.catalli@gmail.com>
Signed-off-by: Ed Maste <emaste@adaranet.com>
Signed-off-by: Giuseppe Lettieri <g.lettieri@iet.unipi.it>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-07-26 16:21:48 -07:00
Ben Pfaff
b4e1bf8b7e Makefiles: Enable "dist-hook-git" check only when GNU make is in use.
Otherwise, it will always fail because the Makefile in datapath/linux
requires GNU make to generate the list of distributed files.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Reported-by: Ed Maste <emaste@freebsd.org>
2012-07-25 12:39:41 -07:00
Justin Pettit
945cad7fb1 Prepare for post-1.8.0 (1.8.90).
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2012-07-16 16:49:00 -07:00
Justin Pettit
f3608bf129 Prepare for 1.8.
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2012-07-16 16:47:08 -07:00
Ed Maste
9360d9b7b5 Route-table implementation for (Free)BSD
This is a trivial implementation of the route-table functionality for
FreeBSD, as needed by ofproto/ofproto-dpif-sflow.c.  It has not yet
been extensively tested.

Signed-off-by: Ed Maste <emaste@freebsd.org>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-06-29 14:42:38 -07:00
Justin Pettit
c8d5d22c6a Prepare for post-1.7.0 (1.7.90).
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2012-05-08 11:22:15 -07:00
Justin Pettit
d8b11fb9fa Prepare for 1.7.
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2012-05-08 11:22:12 -07:00
Raju Subramanian
e0edde6fee Global replace of Nicira Networks.
Replaced all instances of Nicira Networks(, Inc) to Nicira, Inc.

Feature #10593
Signed-off-by: Raju Subramanian <rsubramanian@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-05-02 17:08:02 -07:00
Ben Pfaff
8a07709cb8 configure: Remove --with-build-number.
From early days, Nicira used the --with-build-number option to configure to
stamp our internal builds.  We've since switched to another scheme, so
this option is obsolete.

Good riddance.

Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-03-19 10:07:09 -07:00
Chris Wright
d8965755e7 configure: add configure option to disable building brcompat
This adds ability to do:

  ./configure --disable-brcompat

to disable building userspace and kernel module associated with
providing linux bridge compatibility.  Sources should still be
distributed w/ make dist.

While there, update comment referring to long removed veth driver
which is now relevant for brcompat module.

Cc: Jesse Gross <jesse@nicira.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2012-03-13 16:50:42 -07:00
Justin Pettit
dd1ba5b3f4 Prepare for post-1.6.0 (1.6.90).
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2012-02-24 10:32:36 -08:00
Justin Pettit
d0a8c2e057 Prepare for post-1.5.0 (1.5.90).
Signed-off-by: Justin Pettit <jpettit@nicira.com>
2012-01-12 17:35:21 -08:00
Justin Pettit
e68bfcfc31 Prepare for post-1.4.0 (1.4.90). 2011-12-01 09:06:19 -08:00
Justin Pettit
a206a8c625 Declare the version as "1.4.0". 2011-11-30 22:20:09 -08:00
Edward Tomasz Napierała
6ca00f6f17 Fix build on FreeBSD.
Patch below fixes build on FreeBSD; tested on 10.0-CURRENT.

Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2011-11-01 09:11:52 -07:00
Justin Pettit
b6a9a95b54 Prepare for post-1.3.0 (1.3.90). 2011-10-25 15:30:26 -07:00
Justin Pettit
079a862535 Declare the version as "1.3.0". 2011-10-25 15:30:26 -07:00
Ben Pfaff
9ea0bccc83 datapath-protocol: Use Linux kernel types directly.
We want datapath-protocol.h to be acceptable as a Linux kernel header, so
it must use Linux kernel types and must not have references to Open vSwitch
symbols or header files.  This commit primarily makes that change to
datapath-protocol.h.

At the same time, at least for now we also want datapath-protocol.h to be
usable on non-Linux platforms, so we need some kind of compatiblity.  Thus,
this commit also introduces a <linux/types.h> header file that defines the
necessary Linux kernel types on non-Linux platforms.

In turn, this requires openvswitch/types.h to use the Linux types directly
for ovs_be<N>; otherwise, sparse complains because now __be<N> and
ovs_be<N> are incompatible from its perspective, so this commit makes that
change too.

I don't have a non-Linux kernel platform readily available, so I only
tested the non-Linux part of the linux/types.h substitute by forcing that
case to be triggered with #if 0.  It worked, except for errors in actual
Linux kernel headers included explicitly from OVS source files, so I think
it's likely to work in practice.

Bug #7559.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
2011-10-12 16:27:09 -07:00
Pravin Shelar
f613a0d72c datapath: Always use generic stats for devices (vports)
Currently ovs is using device stats for Linux devices and count them
itself in other situations. This leads to overlap with hardware stats,
inconsistencies, etc. It's much better to just always count the packets
flowing through the switch and let userspace do any merging that it wants.

Following patch removes vport->get_stats() interface. vport-stat is changed
to use new `struct ovs_vport_stat` rather than rtnl_link_stats64.
Definitions of rtnl_link_stats64 is removed from OVS.  dipf_port->stat is also
removed as aggregate stats are only available at netdev layer.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
2011-09-15 19:36:17 -07:00
Ben Pfaff
0027492dee docs: Add Makefile rule to check syntax of manpages.
This should catch future nroff syntax errors immediately, instead of much
later.
2011-08-24 12:42:52 -07:00
Justin Pettit
3e60856b54 Prepare for a post-1.2.0 world (1.2.90). 2011-08-03 15:10:58 -07:00
Justin Pettit
5e9c5b61d3 Prepare Open vSwitch 1.2.0 release. 2011-08-03 15:09:45 -07:00
Justin Pettit
5c9516d4d6 Update version to reflect this branch is for post-1.1.x development.
When development for a new long-term release is started, we haven't
typically updated the version string.  This means that version numbers
used in binaries generated on this branch tend to lag behind "current"
stable releases.  We considered using a "pre" string in the version
(eg, "1.2.0-pre1") but this causes some pain for RPMs.  Instead, we
will now use "90" as the version's bug-fix number to indicate that this
will form a new release.

For example, the current stable series is "1.1.x" in the "branch-1.1"
branch, so the master branch will be labeled "1.1.90" in anticipation
that it will be the basis for the "1.2.x" series.  Code in "branch-1.1"
will have the expected version numbers (ie, 1.1.0, 1.1.1, 1.1.2, etc)
and versions in-branch will lag slightly before an official release.

Suggested-by: Ben Pfaff <blp@nicira.com>
2011-07-26 16:23:00 -07:00
Ben Pfaff
b2df0225a3 ovs-bugtool: Add plugins previously used only under XenServer.
All of the xen-bugtool plugins that OVS has previously installed only under
XenServer are equally useful with Debian and other distributions, so
this commit installs and uses them everywhere.
2011-07-13 12:44:06 -07:00
Jesse Gross
22bcc0e70b datapath: Rename linux-2.6 and compat-2.6 directories.
The linux-2.6 and compat-2.6 directories apply equally to the upcoming
Linux 3.0 release, so this drops the 2.6 suffix and updates Makefiles.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2011-06-24 14:37:49 -07:00
Ben Pfaff
e3438006d3 configure: Remove "26" from Linux variable names.
OVS used to support Linux 2.4 and Linux 2.6, but now it only supports
Linux 2.6.  Linux 3.0 is coming up, and it's just an evolution of 2.6, so
OVS should stop referring to it as "2.6".

This takes a first step by removing "26" from internal variable names.
There should be no user-visible changes.
2011-06-22 14:05:53 -07:00
Ben Pfaff
29d935d631 configure: Run sparse automatically if C=1 specified on "make" command.
The C=1 convention matches the kernel's convention, so running "make C=1"
will now get sparse results for both userspace and kernel compiles.
2011-05-16 13:45:53 -07:00
Ben Pfaff
0e6644c388 backtrace: Make backtrace_capture() work on more systems.
The backtrace_capture() implementation only worked properly with GNU C on
systems that have a simple stack frame with a frame pointer.  Notably,
the x86-64 ABI by default has no frame pointer, so this failed on x86-64.

However, glibc has a function named backtrace() that does what we want.
This commit tests for this function and uses it when it is present, fixing
x86-64 backtraces.
2011-05-13 14:37:14 -07:00
Ben Pfaff
a64e37a1d3 configure: Add option --enable-Werror to add -Werror to CFLAGS.
-Werror is useful for development, but it screws up configure because it's
impossible to guess what new warnings compilers will add in the future.
This commit adds a new configure option to add CFLAGS after the configure
checks are done.

The use of AC_CONFIG_COMMANDS_PRE is based on Eric Blake's suggestion on
the autoconf mailing list: "AC_CONFIG_COMMANDS_PRE probably fits the bill
as the ideal macro to use for guaranteeing that you inject your shell code
at the last possible moment."

Requested-by: Andrew Evans <aevans@nicira.com>
2011-04-12 13:41:36 -07:00
Justin Pettit
d4da3acc2a Release Open vSwitch 1.1.0 2011-04-11 23:07:40 -07:00
Ben Pfaff
ed2d4f6a5d configure: Reject incompatible XenServer version.
Suggested-by: Andrew Evans <aevans@nicira.com>
2011-02-22 16:40:57 -08:00
Ben Pfaff
0e191d8fae string: Implement strnlen() if it is missing. 2011-02-22 10:41:34 -08:00
Ben Pfaff
1269f7ae5f datapath: Tolerate backporting of rtnl_link_stats64 (as in RHEL 6).
Red Hat Enterprise Linux 6 has a 2.6.32 kernel but it backports the
rtnl_link_stats64 structure that was introduced in 2.6.35, so we need to
check whether it was defined instead of just guessing based on the kernel
version number.

Build-tested only, on 2.6.32-71.14.1.el6 (RHEL 6),
linux-2.6.18-128.1.6.el5.xs5.5.0.496.101 (XenServer 5.5.0),
2.6.18-128.1.6.el5.xs5.5.0.505.1024xen (XenServer 5.5.0 update 1),
and upstream 2.6.18, 2.6.26, 2.6.29, 2.6.33, 2.6.34, 2.6.36, all for i386,
plus 2.6.36 for x86-64.

My machine's userspace headers have <linux/if_link.h> but not
rtnl_link_stats64.  Jesse Gross tested the case where <linux/if_link.h>
has rtnl_link_stats64, on Ubuntu 10.10.

Reported-by: Geoff White <gwhite@nicira.com>
Tested-by: Jesse Gross <jesse@nicira.com>
2011-02-04 12:36:21 -08:00
Ben Pfaff
7c9b00732c docs: Only regenerate vswitch.pic when the schema really changes.
Until now, vswitch.pic has been rebuilt whenever the schema changed.  This
is OK when the E-R diagram would really change, but many changes to the
schema don't change the E-R diagram, and it surprises people when
vswitch.pic changes in such a situation.  This commit fixes the problem.

Requested-by: Justin Pettit <jpettit@nicira.com>
2010-12-06 09:56:38 -08:00
Ben Pfaff
ce88767754 ovs-vswitchd: Export system stats through Open_vSwitch table.
This is intended to provide controllers enough information to determine
whether a switch is overloaded or busted, to enable them to spread load
fairly across a group of switches.

Feature #2421.

CC: Peter Balland <peter@nicira.com>
2010-09-23 11:45:35 -07:00
Justin Pettit
d59051362f Release Open vSwitch 1.1.0pre2 2010-09-13 21:55:56 -07:00