sliver-openvswitch.git
11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Thierry Parmentelat [Mon, 8 Oct 2012 07:08:07 +0000 (09:08 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agomake showdpids can display the datapath_ids in use
Thierry Parmentelat [Sun, 7 Oct 2012 15:48:00 +0000 (17:48 +0200)]
make showdpids can display the datapath_ids in use

so at least we can get the dpids in use

as of now we can't seem to set that at bridge creation time
BROPTIONS_SENDER=set bridge $(BRIDGE) datapath_id=00000000C0A81001
does not seem to work for now...

11 years agoinvalidate controllers on del-{bridge,switch}
Giuseppe Lettieri [Sat, 6 Oct 2012 12:25:38 +0000 (14:25 +0200)]
invalidate controllers on del-{bridge,switch}

11 years agoAdded a note on ssh connection reuse
Giuseppe Lettieri [Sat, 6 Oct 2012 12:10:52 +0000 (14:10 +0200)]
Added a note on ssh connection reuse

This is a thing I that I always forget to say, but it is almost
necessary to get the real benefit of make -j with the current Makefile.
(The original plan was to batch per-node operations).

11 years agolink goes down if an iface is deleted
Giuseppe Lettieri [Sat, 6 Oct 2012 11:39:42 +0000 (13:39 +0200)]
link goes down if an iface is deleted

11 years agoComments for the internal targets of the Makefile
Giuseppe Lettieri [Sat, 6 Oct 2012 11:34:49 +0000 (13:34 +0200)]
Comments for the internal targets of the Makefile

11 years agoreduce dependency on a running switch daemon
Giuseppe Lettieri [Sat, 6 Oct 2012 11:30:17 +0000 (13:30 +0200)]
reduce dependency on a running switch daemon

11 years agodatapath: 64-bit GRE support
Pravin B Shelar [Sat, 6 Oct 2012 00:55:02 +0000 (17:55 -0700)]
datapath: 64-bit GRE support

Extend GRE to have a 64-bit key. Use GRE sequence number to
store upper 32-bits of the key, but this is not standard way of
using GRE sequence number.

Bug #13186
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
11 years agotimeval: Recover from failed timer_create() calls.
Ethan Jackson [Fri, 5 Oct 2012 01:38:59 +0000 (18:38 -0700)]
timeval: Recover from failed timer_create() calls.

The timer_create() system call is not supported in ESX and returns
an error when called.  Aborting when this system call fails seems a
bit extreme. So instead, this patch simply falls back to disabling
the cached time optimization.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
11 years agotimeval: Don't require signals for time_alarm().
Ethan Jackson [Fri, 5 Oct 2012 00:57:16 +0000 (17:57 -0700)]
timeval: Don't require signals for time_alarm().

Before this patch, time_alarm() used the SIGALRM handler to notify
the poll loop that it should exit the program.  Instead, this patch
simply implements time_alarm() directly in the pool loop.  This
significantly simplifies the code, while removing a call to
timer_create() which is not currently supported on ESX.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Thierry Parmentelat [Fri, 5 Oct 2012 12:43:16 +0000 (14:43 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agorename gmap-report into gmap-probe
Thierry Parmentelat [Fri, 5 Oct 2012 12:00:47 +0000 (14:00 +0200)]
rename gmap-report into gmap-probe

11 years agomake gmap-probes
Thierry Parmentelat [Fri, 5 Oct 2012 11:46:45 +0000 (13:46 +0200)]
make gmap-probes

11 years agoarbitary options to create-bridge
Giuseppe Lettieri [Fri, 5 Oct 2012 10:49:19 +0000 (12:49 +0200)]
arbitary options to create-bridge

One can put additional options for bridge creation on node x in BROPTIONS_x
(defaults to BROPTIONS if not set).

By setting

BROPTIONS=set-controller $(BRIDGE) tcp:...

we can create bridges that start already connected to a controller.

11 years agobetter handling of dependencies
Giuseppe Lettieri [Fri, 5 Oct 2012 10:25:31 +0000 (12:25 +0200)]
better handling of dependencies

Now bridges and interfaces survive a shutdown of the daemons.
Only port numbers are re-exchanged as needed on daemon restart.

This also fixes the 'make -j shutdown' bug.

Now, L/n1-n2 should mean that a link between node n1 and n2 has
been established in the db *and* it is also up (i.e., the daemons are
running).

TODO:
- there is some redundancy between start/stop and {del-,}{db,switch}s

11 years agobugfix del-controllers + doc
Thierry Parmentelat [Fri, 5 Oct 2012 06:10:08 +0000 (08:10 +0200)]
bugfix del-controllers + doc

11 years agoofproto-dpif: Avoid zeroing tunnel info in handle_miss_upcalls().
Ben Pfaff [Thu, 4 Oct 2012 22:11:39 +0000 (15:11 -0700)]
ofproto-dpif: Avoid zeroing tunnel info in handle_miss_upcalls().

Commit 296e07ace0f (flow: Extend struct flow to contain tunnel outer
header.) changed the tunnel ID parameter of flow_extract() from an integer
passed by value to a structure passed by pointer.  Before flow_extract()
reads the tunnel ID, it zeros the entire flow parameter.  This means that,
if a caller passes the address of the tunnel member of the flow as the
tunnel ID, then flow_extract() zeros the tunnel data before it reads and
copies the tunnel data (that it just zeroed).  The result is that the
tunnel data is ignored.

This commit fixes the problem by making the caller that did this use a
separate flow structure instead of trying to be clever.

Bug #13461.
CC: Pankaj Thakkar <thakkar@nicira.com>
Reported-by: Michael Hu <mhu@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoovsdb/jsonrpc-server: ovsdb-server closes accepted connections immediately.
Mehak Mahajan [Thu, 4 Oct 2012 19:33:05 +0000 (12:33 -0700)]
ovsdb/jsonrpc-server: ovsdb-server closes accepted connections immediately.

2012-09-14T05:38:26Z|00001|jsonrpc|WARN|tcp:127.0.0.1:6634: receive error: Con
ovsdb-client: transaction failed (Connection reset by peer)
NOTE: This occurs intermittently depending on how ovsdb-server runs.
      Running ovsdb-client on a remote machine increases the possibility.

This is because ovsdb-server closes newly accepted tcp connection.
The following changesets caused it. struct jsonrpc_session::dscp isn't set
based on listening socket's dscp value.
- ovsdb-server creates passive connection and listens on it.
- ovsdb-server accepts connection by ovsdb_jsonrpc_server_run().
  The accepted socket inherits from the listening sockets.
  ovsdb_jsonrpc_server_run() creates json session, but leaves dscp of
  struct jsonrpc_session zero.
- On calling reconfigure_from_db(), it resets dscp value to
  all jsonrpc sessions. Eventually jsonrpc_session_set_dscp() is called.
  Then jsonrpc_session_force_reconnect() closes the connection.

With this patch,
- struct jsonrpc_session::dscp is correctly set based on
  listening sockets dscp value.
- dscp of listening socket is changed dynamically by setsockopt.
  This leaves a window where accepted socket may have old dscp.
  But it is ignored for now because it would complicates codes
  too much.

The related change sets:
0442efd9b1a88d923b56eab6b72b6be8231a49f7
  Reapplying the dscp changes: No need to restart DB/OVS on changing
  dscp value.
59efa47adf3234ec51541405726d033173851285
  Revert DSCP update changes.
b2e18db292cd4962af3248f11e9f17e6eaf9c033
  No need to restart DB / OVS on changing dscp value.
f125905cdd3dc0339ad968c0a70128807884b400
  Allow configuring DSCP on controller and manager connections.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Mehak Mahajan <mmahajan@nicira.com>
11 years agoAvoid requiring autom4te when it won't necessarily be needed.
Ben Pfaff [Thu, 4 Oct 2012 22:55:43 +0000 (15:55 -0700)]
Avoid requiring autom4te when it won't necessarily be needed.

Commit 7fd3e43db07 (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>
11 years agoFix vswitch-idl.ovsidl build rule with separate source and build dirs.
Ben Pfaff [Thu, 4 Oct 2012 22:53:14 +0000 (15:53 -0700)]
Fix vswitch-idl.ovsidl build rule with separate source and build dirs.

Before commit e3a880272 (lib: Specify idl location more precisely.), the
files named in VSWITCH_IDL_FILES were relative to the source directory.
That commit made them inconsistent: one remained relative to the source
directory, the other became relative to the build directory.  This meant
that if the source and build directories differed, the ovsdb-idlc
invocation had no change of succeeding.

This commit fixes the problem by making the file names consistently
relative to the build directory and then adjusting the ovsdb-idlc
invocation to expect that.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Thierry Parmentelat [Thu, 4 Oct 2012 22:30:56 +0000 (00:30 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agominor changes to Makefile and related docs
Thierry Parmentelat [Thu, 4 Oct 2012 22:19:16 +0000 (00:19 +0200)]
minor changes to Makefile and related docs

11 years agodatapath: Print device when warning about over MTU packets.
Jesse Gross [Thu, 4 Oct 2012 20:34:36 +0000 (13:34 -0700)]
datapath: Print device when warning about over MTU packets.

If an attempt is made to transmit a packet that is over the device's
MTU then we log it using the datapath's name.  However, it is much
more helpful to use the device name instead.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
11 years agotests: Allow environment specified autom4te.
Ethan Jackson [Wed, 3 Oct 2012 22:58:54 +0000 (15:58 -0700)]
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>
11 years agolib: Specify idl location more precisely.
Ethan Jackson [Wed, 3 Oct 2012 22:58:27 +0000 (15:58 -0700)]
lib: Specify idl location more precisely.

For some reason, the ESX build tools seem to be confused about the
location of 'lib'.  This patch specifies it more directly.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
11 years agoofp-util: Set Packet In Format: Use prevailing OpenFlow version
Simon Horman [Thu, 4 Oct 2012 02:41:16 +0000 (11:41 +0900)]
ofp-util: Set Packet In Format: Use prevailing OpenFlow version

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agomore direct access to tunnel stats
Giuseppe Lettieri [Thu, 4 Oct 2012 13:10:26 +0000 (15:10 +0200)]
more direct access to tunnel stats

ovs-appctl netdev-tunnel/get-rx-bytes <iface>
ovs-appctl netdev-tunnel/get-tx-bytes <iface>

11 years agogmap-report now runs in background and will safely kill a previously
Thierry Parmentelat [Thu, 4 Oct 2012 12:40:00 +0000 (14:40 +0200)]
gmap-report now runs in background and will safely kill a previously
running instance

11 years agoflow: Fix struct flow size build assertion failure.
Jesse Gross [Wed, 3 Oct 2012 18:29:05 +0000 (11:29 -0700)]
flow: Fix struct flow size build assertion failure.

The new struct flow_tnl contains an extra four bytes of padding on
64-bit machines but we currently assert that the total struct flow
is a fixed size.  The size difference isn't actually a problem
because both are multiples of 4 and the build assertion is only
intended to remind people to update FLOW_WC_SEQ when new fields are
added.  This changes the assertion to fix just the non-tunnel field
size.

Suggested-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
11 years agoflow: Extend struct flow to contain tunnel outer header.
Jesse Gross [Fri, 14 Sep 2012 03:11:08 +0000 (20:11 -0700)]
flow: Extend struct flow to contain tunnel outer header.

Soon the kernel will begin supplying the information about the outer
IP header for tunneled packets and userspace will need to be able to
track it as part of the flow.  For the time being this is only used
internally by OVS and not exposed outwards to OpenFlow.  As a result,
this threads the information throughout userspace but simply stores
the existing tun_id in it.

Signed-off-by: Jesse Gross <jesse@nicira.com>
11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Giuseppe Lettieri [Wed, 3 Oct 2012 16:53:02 +0000 (18:53 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agomove logs to /var/log
Giuseppe Lettieri [Wed, 3 Oct 2012 16:52:50 +0000 (18:52 +0200)]
move logs to /var/log

11 years agoadd refresh to the non-distfiles list
Giuseppe Lettieri [Wed, 3 Oct 2012 16:32:25 +0000 (18:32 +0200)]
add refresh to the non-distfiles list

11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Thierry Parmentelat [Wed, 3 Oct 2012 16:29:55 +0000 (18:29 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agoretrieve individual stats with ovs-vsctl instead of parsing the whole line
Thierry Parmentelat [Wed, 3 Oct 2012 16:29:49 +0000 (18:29 +0200)]
retrieve individual stats with ovs-vsctl instead of parsing the whole line

11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Giuseppe Lettieri [Wed, 3 Oct 2012 16:24:20 +0000 (18:24 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agofix wrong count of sent bytes in tunnels
Giuseppe Lettieri [Wed, 3 Oct 2012 16:23:52 +0000 (18:23 +0200)]
fix wrong count of sent bytes in tunnels

11 years agogmap_report subcommand
Thierry Parmentelat [Wed, 3 Oct 2012 16:05:56 +0000 (18:05 +0200)]
gmap_report subcommand

11 years agoRevert "use proper tun_ip definitions"
Thierry Parmentelat [Wed, 3 Oct 2012 13:58:38 +0000 (15:58 +0200)]
Revert "use proper tun_ip definitions"

This reverts commit bd2ccd1280b7b2b78e14abc78a4a07286a2f6c8d.

this intendedly harmless change turned out harmful

11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Giuseppe Lettieri [Wed, 3 Oct 2012 09:47:28 +0000 (11:47 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agoadded del-controllers target
Giuseppe Lettieri [Wed, 3 Oct 2012 09:47:09 +0000 (11:47 +0200)]
added del-controllers target

11 years agoa few more targets, including make help (cat Makefile.help) and make ovsversions
Thierry Parmentelat [Wed, 3 Oct 2012 08:53:59 +0000 (10:53 +0200)]
a few more targets, including make help (cat Makefile.help) and make ovsversions

11 years agoutility for devels to refresh sliver-ovs from sliver-ovs.in
Thierry Parmentelat [Wed, 3 Oct 2012 08:53:17 +0000 (10:53 +0200)]
utility for devels to refresh sliver-ovs from sliver-ovs.in

11 years agotests: jemalloc debug config for FreeBSD 9 and 10.
Ed Maste [Tue, 2 Oct 2012 15:45:23 +0000 (15:45 +0000)]
tests: jemalloc debug config for FreeBSD 9 and 10.

Signed-off-by: Ed Maste <emaste@adaranet.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agotests: Also enable FreeBSD libc debugging
Ed Maste [Mon, 1 Oct 2012 21:11:31 +0000 (21:11 +0000)]
tests: Also enable FreeBSD libc debugging

Signed-off-by: Ed Maste <emaste@adaranet.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agotests: Enable glibc malloc debugging features in testsuite.
Ben Pfaff [Mon, 1 Oct 2012 20:37:57 +0000 (13:37 -0700)]
tests: Enable glibc malloc debugging features in testsuite.

I don't know of a reason not to use these features for testing.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
11 years agoovs-ctl: Add support for glibc malloc debugging.
Ben Pfaff [Mon, 1 Oct 2012 20:37:47 +0000 (13:37 -0700)]
ovs-ctl: Add support for glibc malloc debugging.

Unlike valgrind, glibc's built-in features for malloc debugging are cheap
enough that one can run with them enabled all the time, at least in test
scenarios.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
11 years agoFAQ: Describe how bonded ports interact with OpenFlow.
Ben Pfaff [Mon, 1 Oct 2012 20:22:35 +0000 (13:22 -0700)]
FAQ: Describe how bonded ports interact with OpenFlow.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoofp-util: Use table_id in OF1.1 and OF1.2 Flow Remove Messages
Simon Horman [Mon, 1 Oct 2012 07:51:49 +0000 (16:51 +0900)]
ofp-util: Use table_id in OF1.1 and OF1.2 Flow Remove Messages

Previously this field was ignored on decode and
set to zero on encode

Signed-off-by: Simon Horman <horms@verge.net.au>
[blp@nicira.com changed "missing" value, removed OFPTT_ALL]
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoofproto: Add del-flow based on table-id tests
Simon Horman [Mon, 1 Oct 2012 07:24:21 +0000 (16:24 +0900)]
ofproto: Add del-flow based on table-id tests

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agouse proper tun_ip definitions
Giuseppe Lettieri [Sat, 29 Sep 2012 17:40:12 +0000 (19:40 +0200)]
use proper tun_ip definitions

11 years agolib: Add xpipe_nonblocking helper
Ed Maste [Fri, 28 Sep 2012 21:06:41 +0000 (21:06 +0000)]
lib: Add xpipe_nonblocking helper

Signed-off-by: Ed Maste <emaste@adaranet.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoSetting tag sliver-openvswitch-1.8.90-4 sliver-openvswitch-1.8.90-4
Thierry Parmentelat [Fri, 28 Sep 2012 21:17:00 +0000 (23:17 +0200)]
Setting tag sliver-openvswitch-1.8.90-4
fix file descriptor leaks

11 years agoofp-actions: Add parsing of set_field actions
Simon Horman [Fri, 28 Sep 2012 05:59:10 +0000 (14:59 +0900)]
ofp-actions: Add parsing of set_field actions

Based heavily on work by Isaku Yamahata <yamahata@valinux.co.jp>

Cc: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
[blp@nicira.com adjusted documentation, added test]
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Giuseppe Lettieri [Fri, 28 Sep 2012 16:07:37 +0000 (18:07 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agofix file descriptor leakages
Giuseppe Lettieri [Fri, 28 Sep 2012 16:07:10 +0000 (18:07 +0200)]
fix file descriptor leakages

11 years agoSetting tag sliver-openvswitch-1.8.90-3 sliver-openvswitch-1.8.90-3
Thierry Parmentelat [Fri, 28 Sep 2012 14:53:57 +0000 (16:53 +0200)]
Setting tag sliver-openvswitch-1.8.90-3
can specify OpenFlow controller ip/port for each ovs instance
through $(CONTROLLER_<id>), or $(CONTROLLER) by default

11 years agoofproto: Rationalise comments in handle_flow_mod().
Simon Horman [Fri, 28 Sep 2012 06:07:08 +0000 (15:07 +0900)]
ofproto: Rationalise comments in handle_flow_mod().

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agotarget that updates sliver-ovs on the slivers
Giuseppe Lettieri [Fri, 28 Sep 2012 12:24:48 +0000 (14:24 +0200)]
target that updates sliver-ovs on the slivers

To use:

make -j update SLIVER_OVS=<path/to/new/sliver/ovs>

11 years agoidl: Optionally warn when writing to read-write columns.
Ethan Jackson [Thu, 20 Sep 2012 18:13:15 +0000 (11:13 -0700)]
idl: Optionally warn when writing to read-write columns.

ovs-vswitchd should only write to write-only columns.  Furthermore,
writing to a column which is not write-only can cause serious
performance degradations.  This patch causes ovs-vswitchd to log
and reject writes to read-write columns.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
11 years agopython/ovs/db/idl: getattr(Row) raises TypeError, not AttributeError.
Isaku Yamahata [Thu, 27 Sep 2012 09:29:45 +0000 (18:29 +0900)]
python/ovs/db/idl: getattr(Row) raises TypeError, not AttributeError.

In some cases getattr(Row instance, attrname) doesn't raise AttributeError,
but TypeError

> File "python/ovs/db/idl.py", line 554, in __getattr__
>     datum = self._data[column_name]
> TypeError: 'NoneType' object has no attribute '__getitem__'

So getattr(Row instance, attrname, default value) doesn't work.
This occurs when row._changes doesn't include attrname and row._data is None.
So teach Row.__getattr__ _data=None case.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoMerge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
Giuseppe Lettieri [Thu, 27 Sep 2012 14:47:27 +0000 (16:47 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch

11 years agoaccept a default vale for CONTROLLER_x
Giuseppe Lettieri [Thu, 27 Sep 2012 14:46:14 +0000 (16:46 +0200)]
accept a default vale for CONTROLLER_x

If $(CONTROLLER_x) is empty the Makefile will default to $(CONTROLLER).

11 years agomove set-controller to sliver-ovs
Giuseppe Lettieri [Thu, 27 Sep 2012 14:27:47 +0000 (16:27 +0200)]
move set-controller to sliver-ovs

11 years agotargets for setting the of controllers
Giuseppe Lettieri [Thu, 27 Sep 2012 14:19:59 +0000 (16:19 +0200)]
targets for setting the of controllers

add CONTROLLER_x=... for each bridge x in conf.mk
(e.g., CONTROLLER_SENDER=tcp:127.0.0.1:6663).
The run:

make -j controllers

to set the controllers.
Note: use IP addresses and not DNS names.

11 years agoSetting tag sliver-openvswitch-1.8.90-2 sliver-openvswitch-1.8.90-2
Thierry Parmentelat [Thu, 27 Sep 2012 09:38:16 +0000 (11:38 +0200)]
Setting tag sliver-openvswitch-1.8.90-2
add/skip packet information on tap send/recv

11 years agopstream: Add set_dscp method.
Isaku Yamahata [Thu, 27 Sep 2012 02:18:16 +0000 (11:18 +0900)]
pstream: Add set_dscp method.

Introduce set_dscp method to pstream.
This will be used by dynamic dscp change of listening socket.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoadd/skip packet information on tap send/recv
Giuseppe Lettieri [Wed, 26 Sep 2012 17:09:04 +0000 (19:09 +0200)]
add/skip packet information on tap send/recv

Unless the IFF_NO_PI flag is set when the tap is created,
the kernel assumes that each packet sent to or received from
a tap fd starts with 4 bytes of packet information.

We previously did not care about this 4 extra bytes, but external
controllers are confused by them (the internal ovs-switch logic was
confused as well, but it defaulted to hub behaviour and the bug
was thus hidden).

Unfortunately, fd_tuntap does not allow us to set IFF_NO_IP, so
we have to manually skip/add the 4 bytes on recv/send.

11 years agosocket-util: export set_dscp()
Isaku Yamahata [Wed, 26 Sep 2012 07:12:06 +0000 (16:12 +0900)]
socket-util: export set_dscp()

It will be used later for dynamic dscp change to listening socket.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agostream-provider: remove stale declaration of stream_set_dscp()
Isaku Yamahata [Wed, 26 Sep 2012 07:12:05 +0000 (16:12 +0900)]
stream-provider: remove stale declaration of stream_set_dscp()

It isn't defined anywhere.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agodpif-netdev: Remove unneeded 'key' parameter from dp_netdev_flow_used().
Ben Pfaff [Wed, 26 Sep 2012 17:02:40 +0000 (10:02 -0700)]
dpif-netdev: Remove unneeded 'key' parameter from dp_netdev_flow_used().

The 'key' passed to dp_netdev_flow_used() is the same as the 'key' member
in the struct dp_netdev_flow also passed to the function.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoofproto-dpif: Report in trace "output" if an "output" action is ignored.
Ben Pfaff [Wed, 26 Sep 2012 16:59:21 +0000 (09:59 -0700)]
ofproto-dpif: Report in trace "output" if an "output" action is ignored.

This would have saved some time and puzzlement earlier today.

Reported-by: Paul Ingram <paul@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoDeprecate referring to ports by name in ovs-ofctl.
Ben Pfaff [Wed, 26 Sep 2012 16:57:28 +0000 (09:57 -0700)]
Deprecate referring to ports by name in ovs-ofctl.

This is a necessary step toward supporting full 32-bit OF1.1+ port numbers
in a later version of OVS.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoofp-actions: Add support for OpenFlow 1.2 "set-field" action.
Isaku Yamahata [Mon, 24 Sep 2012 20:11:11 +0000 (13:11 -0700)]
ofp-actions: Add support for OpenFlow 1.2 "set-field" action.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
[blp@nicira.com extracted this code from a larger patch by above, so:]
Signed-off-by: Ben Pfaff <blp@nicira.com>
[regarding final version of patch:]
Reviewed-by: Simon Horman <horms@verge.net.au>
11 years agoofp-actions: Allow OF1.1+ actions to be variable-length.
Ben Pfaff [Mon, 24 Sep 2012 20:18:38 +0000 (13:18 -0700)]
ofp-actions: Allow OF1.1+ actions to be variable-length.

Previously there was no need for this, because all implemented standard
OpenFlow actions had a fixed length, but the OF1.2 "set-field" action (soon
to be implemented) is variable length.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Reviewed-by: Simon Horman <horms@verge.net.au>
11 years agoofp-actions: Prepare to treat OF1.2 actions as OF1.1 actions.
Ben Pfaff [Tue, 25 Sep 2012 17:23:38 +0000 (10:23 -0700)]
ofp-actions: Prepare to treat OF1.2 actions as OF1.1 actions.

The numbering of OpenFlow 1.0 actions overlaps with the numbering
of OpenFlow 1.1+ actions, so the two sets of actions have to be
distinguished for input and output.  But OpenFlow 1.1 and 1.2
actions are numbered to avoid this problem, so there is no need
to distinguish them in the same way.  Therefore, this commit
prepares to treat them together.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Reviewed-by: Simon Horman <horms@verge.net.au>
11 years agoopenflow-1.2: Remove OFPAT12_* definitions that duplicate OFPAT11_* ones.
Ben Pfaff [Mon, 24 Sep 2012 20:11:37 +0000 (13:11 -0700)]
openflow-1.2: Remove OFPAT12_* definitions that duplicate OFPAT11_* ones.

OpenFlow 1.1 and 1.2 action numbering is compatible, in that no
OpenFlow 1.2 action uses an OpenFlow 1.1 action number in a different
way from OpenFlow 1.1.  So it's confusing and unnecessary to have
separate definitions for these numbers.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Reviewed-by: Simon Horman <horms@verge.net.au>
11 years agofix warnings
Giuseppe Lettieri [Wed, 26 Sep 2012 14:12:08 +0000 (16:12 +0200)]
fix warnings

11 years agobump version number and provide a simple changelog sliver-openvswitch-1.8.90-0 sliver-openvswitch-1.8.90-1
Thierry Parmentelat [Wed, 26 Sep 2012 08:55:37 +0000 (10:55 +0200)]
bump version number and provide a simple changelog

11 years agopackets: Add ECN constants.
Jesse Gross [Wed, 19 Sep 2012 16:36:19 +0000 (09:36 -0700)]
packets: Add ECN constants.

Upcoming tunnel code will be able to handle ECN encapsulation/
decapsulation in userspace.  This adds the necessary constants for ECN
manipulation.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
11 years agonetdev-vport: Fix ToS/TTL mixup in unparsing.
Jesse Gross [Tue, 25 Sep 2012 20:22:08 +0000 (13:22 -0700)]
netdev-vport: Fix ToS/TTL mixup in unparsing.

When unparsing the kernel tunnel configuration, TTL was incorrectly
converted to "tos".  Although it leads to confusing configuration
output, actual operation is not affected.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
11 years agoovsdb-server: Add support for multiple databases.
Ben Pfaff [Fri, 7 Sep 2012 17:07:03 +0000 (10:07 -0700)]
ovsdb-server: Add support for multiple databases.

The OVSDB protocol has supported multiple databases for a long time, but
the ovsdb-server implementation only supported one database at a time.
This commit adds support for multiple databases.

Feature #12353.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoovsdb-server: Add --enable-dummy option for unit tests.
Ben Pfaff [Fri, 21 Sep 2012 18:16:34 +0000 (11:16 -0700)]
ovsdb-server: Add --enable-dummy option for unit tests.

This will allow an upcoming unit test to use the "time/warp" ovs-appctl
command with ovsdb-server.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoovsdb-server: Fix null pointer deref when bool "is_connected" is empty.
Ben Pfaff [Fri, 21 Sep 2012 18:12:39 +0000 (11:12 -0700)]
ovsdb-server: Fix null pointer deref when bool "is_connected" is empty.

The ovsdb-server supports obtaining its remote connection targets from a
database table and updating that table with connection status information.
One of the supported connection status columns is a boolean column named
"is_connected".  The code in ovsdb-server blindly assigned a bool into
this column without checking that it actually had space allocated for one.
This was and is fine with the ovs-vswitchd schema, which always has exactly
one value in this column.  However, if a database schema makes this column
optional, and there are actually no values in it, then this assignment
dereferences a null pointer.

This commit fixes the problem by allocating space for a bool if none has
yet been allocated.

Noticed while adding an extra test for the connection status feature.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoMerge branch 'mainstream'
Giuseppe Lettieri [Mon, 24 Sep 2012 13:26:21 +0000 (15:26 +0200)]
Merge branch 'mainstream'

11 years agomake the sign of return values match the specs
Giuseppe Lettieri [Mon, 24 Sep 2012 11:33:06 +0000 (13:33 +0200)]
make the sign of return values match the specs

11 years agoFix mac addresses of tunnels/pltaps
Giuseppe Lettieri [Mon, 24 Sep 2012 11:00:58 +0000 (13:00 +0200)]
Fix mac addresses of tunnels/pltaps

11 years agoovsdb-client: Make "list-dbs" print the list of databases in sorted order.
Ben Pfaff [Thu, 6 Sep 2012 18:11:45 +0000 (11:11 -0700)]
ovsdb-client: Make "list-dbs" print the list of databases in sorted order.

This makes the command's behavior more predictable when there is more than
one database.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoovsdb-client: Use svec instead of sset for list of database.
Ben Pfaff [Thu, 6 Sep 2012 18:11:12 +0000 (11:11 -0700)]
ovsdb-client: Use svec instead of sset for list of database.

This will make it easier to print a list of databases in sorted order,
which will happen in a followup commit.

This commit should have no effect on visible OVS behavior.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoovs-lib: Move DAEMON_CWD initialization to top of file.
Ben Pfaff [Thu, 6 Sep 2012 23:20:17 +0000 (16:20 -0700)]
ovs-lib: Move DAEMON_CWD initialization to top of file.

All the other variables are initialized at the top and I don't see a reason
that this variable is special.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoovsdb-tool: Fix indentation in manpage.
Ben Pfaff [Thu, 6 Sep 2012 23:15:18 +0000 (16:15 -0700)]
ovsdb-tool: Fix indentation in manpage.

This paragraph is about show-log so it should be indented the same as the
other paragraph about show-log.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agounixctl: Fix comment on unixctl_command_register().
Ben Pfaff [Thu, 6 Sep 2012 22:41:11 +0000 (15:41 -0700)]
unixctl: Fix comment on unixctl_command_register().

The arguments to the callback were changed some time ago but the comment
still described the older form.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
11 years agoflow: Only show IPv4 flow information for IPv4 flows
Simon Horman [Fri, 21 Sep 2012 00:26:43 +0000 (09:26 +0900)]
flow: Only show IPv4 flow information for IPv4 flows

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agoexperimental remote-snapshot feature
Giuseppe Lettieri [Thu, 20 Sep 2012 22:02:09 +0000 (00:02 +0200)]
experimental remote-snapshot feature

With this new target you can (re)build the local cache if you now
the node names. Start with a conf.mk containig SLICE
and HOST_x = y for each host. Then do

rm -rf cache; rm -rf L
make -j remote-snapshot >> conf.mk
make

11 years agodo not rely on cache for deletes
Giuseppe Lettieri [Thu, 20 Sep 2012 20:54:12 +0000 (22:54 +0200)]
do not rely on cache for deletes

11 years agoWe do not actually need a U directory
Giuseppe Lettieri [Thu, 20 Sep 2012 20:47:38 +0000 (22:47 +0200)]
We do not actually need a U directory

11 years agomove logs to a separate directory
Giuseppe Lettieri [Thu, 20 Sep 2012 20:40:32 +0000 (22:40 +0200)]
move logs to a separate directory

11 years agoofproto: Fix uninitialized field in ofputil_flow_update.
Anupam Chanda [Thu, 20 Sep 2012 17:35:52 +0000 (10:35 -0700)]
ofproto: Fix uninitialized field in ofputil_flow_update.

Two instances of ofputil_flow_update had the priority field uninitialized.
This would cause flow updates to contain undefined priority values.

This bug was introduced by commit 81a76618 (classifier: Break cls_rule
'flow' and 'wc' members into new "struct match".)

Signed-off-by: Anupam Chanda <achanda@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
11 years agobridge: Omit alerts on the cfm_remote_opstate column.
Ethan Jackson [Thu, 20 Sep 2012 02:21:06 +0000 (19:21 -0700)]
bridge: Omit alerts on the cfm_remote_opstate column.

This column should be write only, otherwise every call to update it
has to make a trip to the database.  Since this column is updated
every time through the run loop as part of refresh_instant_stats(),
this patch fixes a significant performance degradation.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
11 years agoovs-ofctl: Accept port keywords, OF1.1 port numbers, reject port number 0.
Ben Pfaff [Thu, 20 Sep 2012 15:40:29 +0000 (08:40 -0700)]
ovs-ofctl: Accept port keywords, OF1.1 port numbers, reject port number 0.

OpenFlow 1.0 has special reserved ports in the range 0xfff8 to 0xffff.
OpenFlow 1.1 and later has the same ports in the range 0xfffffff8 to
0xffffffff and allows the OF1.0 range to be used for ordinary ("physical")
switch ports.  This means that, naively, the meaning of a port number in
the range 0xfff8 to 0xffff given on the ovs-ofctl command line depends on
the protocol in use.  This commit implements something a little smarter:

    - Accept keyword names (e.g. LOCAL) for special reserved ports
      everywhere that such a port can plausibly be used (previously they
      were only accepted in some places).

    - Translate 0xfff8...0xffff to 0xfffffff8...0xffffffff for now, since
      OF1.1+ isn't in widespread use and those particular ports aren't
      likely to be in use in OF1.1+ anyway.

    - Log warnings about those ports when they are specified by number, to
      allow users to fix their invocations.

Also:

    - Accept the OF1.1+ port numbers for these ports, without warning, for
      compatibility with the upcoming OF1.1+ support.

    - Stop accepting port number 0, which has never been a valid port
      number in OpenFlow 1.0 and later.  (This required fixing some tests
      that inadvertently used this port number).

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Simon Horman <horms@verge.net.au>