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

7835 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
0070679ff7 ofproto-dpif.at: Avoid races in "ofproto-dpif - dummy interface"
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-06 17:08:34 -08:00
YAMAMOTO Takashi
7f542c09be netdev-bsd: Fix tx/rx stats for type=tap netdev
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-06 17:07:40 -08:00
Arun Sharma
e731d71bf4 Add IPv6 support for OpenFlow, OVSDB, NetFlow, and sFlow.
Does not add IPv6 support for in-band control.

Co-authored-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Nandan Nivgune <nandan.nivgune@calsoftinc.com>
Signed-off-by: Abhijit Bhopatkar <abhijit.bhopatkar@calsoftinc.com>
Signed-off-by: Arun Sharma <arun.sharma@calsoftinc.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-06 16:08:34 -08:00
Jesse Gross
978188b242 datapath: Fix kernel style issues.
Suggested-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-02-04 21:58:03 -08:00
YAMAMOTO Takashi
e3b406a6b6 ofproto-dpif.at: Avoid races by sleeping
And add a comment.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-04 10:49:37 -08:00
YAMAMOTO Takashi
434380a607 daemon.at: Fix stderr races
When spawning ovsdb-server in background, redirect stderr to /dev/null.
Otherwise, the banner output (eg. "ovsdb-server (Open vSwitch) 2.1.90")
can mess stderr of the following commands and make these tests fail.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-04 10:49:35 -08:00
YAMAMOTO Takashi
ae6927255f ofproto-dpif.at: Workaround races in megaflow tests
Avoid races in megaflow tests by sprinkling "sleep 1".

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-04 10:49:33 -08:00
YAMAMOTO Takashi
8125a83a51 ofprot-dpif.at: Fix races
Fix races in "ofproto-dpif - controller" test.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-04 10:49:31 -08:00
YAMAMOTO Takashi
4068403a78 packets: Fix userland implementation of set-field ipv6 addresses
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-04 10:48:02 -08:00
Ben Pfaff
8bfd0fdace Enhance userspace support for MPLS, for up to 3 labels.
This commit makes the userspace support for MPLS more complete.  Now
up to 3 labels are supported.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Co-authored-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Simon Horman <horms@verge.net.au>
2014-02-04 10:41:30 -08:00
Gurucharan Shetty
42dd41ef30 daemon-windows: Add users for windows services.
Start with ovs-vswitchd and ovsdb-server.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
2014-02-04 08:30:00 -08:00
Gurucharan Shetty
fda546bd0b daemon-windows: Ability to handle windows service calls.
The following code does not add any users yet.

The visioned workflow that this piece of code should work with is:
* Create a windows service through a startup script with
a tool like 'sc'
ex:  sc create ovsdb-server binpath=
 "C:\openvswitch\usr\sbin\ovsdb-server.exe -vconsole:off
-vsyslog:off -vfile:info --remote=ptcp:6632:127.0.0.1 --log-file
--service-monitor --service"

* Start the service from the startup script.
ex: sc start ovsdb-server

* Terminate the service during shutdown process.
ex: sc stop ovsdb-server

* Abrupt termination will restart the service.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-02-04 08:30:00 -08:00
Ben Pfaff
80e448834d dpif-netdev: Make a log message more detailed.
This would have helped me track down a bug I was hunting just now.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
2014-02-04 08:11:45 -08:00
Joe Perches
0a0857df47 datapath: flow_netlink: Use pr_fmt to OVS_NLERR
Add "openvswitch: " prefix to OVS_NLERR output
to match the other OVS_NLERR output of datapath.c

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-02-03 17:27:41 -08:00
Joe Perches
13fe684217 datapath: Use net_ratelimit in OVS_NLERR
Each use of pr_<level>_once has a per-site flag.

Some of the OVS_NLERR messages look as if seeing them
multiple times could be useful, so use net_ratelimit()
instead of pr_info_once.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-02-03 17:26:52 -08:00
Ben Pfaff
165fb2c146 AUTHORS: Add Ken Ajiro.
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-03 17:15:03 -08:00
Ken Ajiro
66dbf9253e ovs-vsctl: Update will be discarded when multiple ovs-vsctl are executed
When two ovs-vsctl update map type column at same time, one ovs-vsctl's
update will be discarded although all ovs-vsctl succeeded. This patch
fixes this issue.

Signed-off-by: Ken Ajiro <ajiro@mxw.nes.nec.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-03 17:13:01 -08:00
Daniele Di Proietto
7343d171c8 dpif-linux: remove useless includes
Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-03 15:43:27 -08:00
Daniele Di Proietto
37cb736413 m4: remove useless include from netlink check
linux/types.h is already included from linux/netlink.h (in every
linux version). This will ease FreeBSD porting

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-03 15:43:24 -08:00
Simon Horman
836fbda7fd ofproto-dpif-xlate: Remove unused fitnessp pararameter from xlate_receive
Some functions pass a non-NULL value as this parameter
but none of those function uses the value xlate_receive()
returns there. So simply remove the parameter all together.

Also remove the now unused key_fitness field of struct flow_miss.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-02-03 15:32:38 -08:00
Daniele Di Proietto
29dd5cb732 datapath: Added (unsigned long long) cast in printf
This is necessary, since u64 is not unsigned long long
in all architectures: u64 could be also uint64_t.

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-02-03 14:05:30 -08:00
Daniele Di Proietto
61df342165 datapath: avoid cast-qual warning in vport_priv
This function must cast a const value to a non const value.
By adding an uintptr_t cast the warning is suppressed.
To avoid the cast (proper solution) several function signatures
must be changed.

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-02-03 14:05:21 -08:00
Daniele Di Proietto
38b5f1e78a datapath: avoid warnings in vport_from_priv
This change, firstly, avoids declaring the formal parameter const,
since it is treated as non const. (to avoid -Wcast-qual)
Secondly, it cast the pointer from void* to u8*, since it is used
in arithmetic (to avoid -Wpointer-arith)

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-02-03 14:05:12 -08:00
Andy Zhou
a660348106 datapth: Suppress error messages on megaflow updates
With subfacets, we'd expect megaflow updates message to carry
the original micro flow. If not, EINVAL is returned and kernel
logs an error message.  Now that the user space subfacet layer is
removed, it is expected that flow updates can arrive with a
micro flow other than the original. Change the return code to
EEXIST and remove the kernel error log message.

Reported-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Andy Zhou <azhou@nicira.com>
2014-01-31 19:09:45 -08:00
Ben Pfaff
f87d3302c4 socket-util: Remove unused functions.
A Windows porter mentioned to me that these functions caused special
trouble in the Windows port.  However, they are no longer used, so we
might as well remove them.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
2014-01-31 11:31:24 -08:00
Gurucharan Shetty
cf06c2e944 configure: Identify OpenSSL libraries in Windows.
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-31 07:58:23 -08:00
Pravin B Shelar
b1705c56f3 datapath: Fix ovs_flow_free() ovs-lock assert.
ovs_flow_free() is not called under ovs-lock during packet
execute path (ovs_packet_cmd_execute()). Since packet execute
does not touch flow->mask, there is no need to take that
lock either. So move assert in case where flow->mask is checked.

Found by code inspection.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
2014-01-27 18:25:23 -08:00
Gurucharan Shetty
b73d3fe2c1 cccl: Handle library paths for one shot compilation.
When one wishes to compile and link a program with an
external library in one shot, additional
option "-link" is expected after all the other options. For example,

$ cl -I/c/OpenSSL-Win32/include 3.c -link -LIBPATH:"C:/OpenSSL-Win32/lib"

This is needed in an upcoming commit to compile conftest.c in autoconf.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
2014-01-30 18:17:47 -08:00
Gurucharan Shetty
20bd44f83b BUILD.Windows: Add documentation to handle the libtool change.
With the recent change to libtool, the default behavior is to use
MinGW's 'ld'. Set the LD variable to direct it to Visual Studio's
linker.

The wordings for the documentation is copied from INSTALL.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
2014-01-30 18:17:24 -08:00
Gurucharan Shetty
57cfcebdf1 BUILD.Windows: Clarify on the correct linker.
This has tripped a couple of people.

The workaround in cccl does not actually work. So get rid of it and
clarify in documentation.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
2014-01-30 18:16:52 -08:00
Ben Pfaff
59804c80a9 bridge: Set ofport column in every database transaction.
Database transactions can occasionally fail due to concurrent changes in
the database.  When that happens, the next transaction should repeat the
changes that ovs-vswitchd tried to make the first time (adjusted for the
changes to the database).

The code to report the OpenFlow port number in use didn't do that.  It set
the ofport field once when it created the port and never set it again, even
if the transaction to set it failed.  This commit fixes the problem.

Bug #23047.
Reported-by: Suganya Ramachandran <suganyar@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
2014-01-30 16:57:16 -08:00
Ethan Jackson
0a8763fcb3 ofproto-dpif-upcall: Hardcode max_idle to 1500ms.
Before this patch, OVS tried to guess an optimal max idle time for
datapath flows based on the number of datapath flows relative to the
limit.  This caused instability because the limit was based on the
dump duration which was affected by the max idle time.  This patch
chooses instead to hardcode the max idle time to 1.5s except in
extreme case where the datapath flow limit is exceeded.  1.5s was
chosen to ensure pings occurring at once per second stay cached in the
datapath.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
Acked-by: Joe Stringer <joestringer@nicira.com>
2014-01-29 12:31:32 -08:00
Joe Stringer
08d74a962e upcall: Avoid divide-by-zero calculating flow limit
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
2014-01-28 16:07:29 -08:00
Gurucharan Shetty
06f14c92f6 util: A generic function to convert error to string for windows.
More users will be added in an upcoming commit.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-28 13:08:13 -08:00
Gurucharan Shetty
9d0581fdf2 getopt_long: Copy over the implementation from netbsd.
Windows does not have a getopt_long function. This commit
copies over the getopt_long implementation from netbsd with
some minor modifications and is used only on Windows platform.

Modifications on top of the version in NetBSD repo.
* Remove header files not available in Visual Studio.
* Remove some unwanted #defines.
* Add Open vSwitch specific header files like config.h, vlog.h, util.h
* Add the following #define's
define __UNCONST(a)    ((void *)(unsigned long)(const void *)(a))
define _DIAGASSERT(q) ovs_assert(q)
define warnx VLOG_WARN
* Add extern declaration in getopt.h for optarg, optind.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-27 10:33:45 -08:00
Ethan Jackson
a3ea1821d6 ovs-dev.py: Only build the Linux datapath with GCC.
In practice, Linux kernel modules are only built with GCC, so it
doesn't make much sense to spend time compiling them with clang.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
Acked-by: Joe Stringer <joestringer@nicira.com>
2014-01-24 17:33:29 -08:00
Gurucharan Shetty
d6056bc7ce daemon: Cleanup some functions.
Some functions are unused and some functions can be
declared as static.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-24 08:32:23 -08:00
Gurucharan Shetty
5a6af13f96 syslog: Provide stub functions for openlog and syslog.
One option to implement openlog and syslog functionality in Windows
is to use windows event logger. But it looks like it involves changing
registry settings and in general looks complicated.

For the time being, do nothing for syslog. All the information needed for
debugging will be present through the 'file' option anyways.

We can start OVS daemons on Windows with "-vfile:info -vsyslog:off".

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-24 07:59:02 -08:00
Gurucharan Shetty
fa5b8c6724 syslog: Add LOG_LOCALX definitions.
LOG_LOCAL0 is used in lib/vlog.c.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-24 07:48:18 -08:00
Gurucharan Shetty
30ea0da7c1 ofproto: Handle negative number of threads.
As of now, setting other_config:n-handler-threads to a negative
value causes ovs-vswitchd to crash.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
2014-01-24 07:42:26 -08:00
Andy Zhou
631486bd29 netdev-dummy: Add support for active stream
The dummy ports thus far only support passive connections. It can
listen for multiple incoming connection requests but not make active
connections. This patch adds support of active stream, so that a
dummy port can be configured with either passive or active connections.

The net result is that dummy ports can now connect to each other,
without being patch ports. This feature will be useful in adding test
cases of future commits.

Signed-off-by: Andy Zhou <azhou@nicira.com>
2014-01-23 16:08:53 -08:00
Joe Stringer
9c8ad495ec netlink: Rename 'dump->seq' to 'dump->nl_seq'
An upcoming patch will introduce another, completely unrelated seq to
'struct nl_dump'. Giving this one a better name should reduce confusion.

Signed-off-by: Joe Stringer <joestringer@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-01-23 11:31:06 -08:00
Daniele Di Proietto
d15ae70772 datapath: use const in some local vars and casts
In few functions, const formal parameters are assigned or cast to
non-const.
These changes suppress warnings if compiled with -Wcast-qual.

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-01-23 10:42:41 -08:00
Daniele Di Proietto
300af20acd datapath: Fix ovs_dp_cmd_msg_size()
commit c58cc9a460 (datapath: Allow user space to
announce ability to accept unaligned Netlink messages) introduced
OVS_DP_ATTR_USER_FEATURES netlink attribute in datapath responses,
but the attribute size was not taken into account in ovs_dp_cmd_msg_size().

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-01-23 10:40:11 -08:00
Joe Stringer
63016faef5 dpif-linux: Fix flow_dump_next annotation.
The 'dpif_' parameter of dpif_linux_flow_dump_next() was marked as
OVS_UNUSED, even though it's passed down to dpif_linux_flow_get__().

Signed-off-by: Joe Stringer <joestringer@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-01-23 08:42:40 -08:00
Luigi Rizzo
50aa0364d0 lib/pcap-file: add 'ovs_' prefix to pcap functions
This is done to avoid collisions and confusions with libpcap symbols,
like pcap_read()

Signed-off-by: Luigi Rizzo <rizzo@iet.unipi.it>
Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-01-23 08:41:05 -08:00
Daniele Di Proietto
b681f93ff7 lib/netdev-bsd: simplify multiple struct definitions
Use a macro helper to initialize different netdev_*_class for bsd, like
in lib/netdev-linux.c
This helps adding other netdev types for bsd

Signed-off-by: Daniele Di Proietto <daniele.di.proietto@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2014-01-23 08:36:37 -08:00
Ethan Jackson
be09aa10c5 Makefile: Use AM_V_GEN instead of echo.
The AM_V_GEN macro fits more cleanly with the automake silent rules
option.  When enabled it will print "GEN <filename>" instead of simply
echoing the command as before.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
2014-01-22 11:07:32 -08:00
Ethan Jackson
743f810972 configure: Enable silent rules.
Configure has an option which supports quieter compilation.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
Acked-by: Joe Stringer <joestringer@nicira.com>
2014-01-22 10:40:28 -08:00
Ethan Jackson
e740cdbc45 ovs-dev.py: Configure silently.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
Acked-by: Joe Stringer <joestringer@nicira.com>
2014-01-22 10:40:27 -08:00