cascardo/ovs.git
9 years agoovn-nbd: Add basic OVSDB transaction comments.
Justin Pettit [Thu, 9 Apr 2015 07:10:12 +0000 (00:10 -0700)]
ovn-nbd: Add basic OVSDB transaction comments.

These comments aren't particularly detailed, but it's helpful to at
least see what is modifying the database contents.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovn-nbctl: Add OVSDB transaction comment.
Justin Pettit [Thu, 9 Apr 2015 07:01:44 +0000 (00:01 -0700)]
ovn-nbctl: Add OVSDB transaction comment.

Add a comment to the transaction that contains the command that was
executed to aid looking at the transaction log.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
9 years agoovn-nbd: Rename "ovn_txn" variable to "ovnsb_txn".
Justin Pettit [Wed, 8 Apr 2015 16:21:47 +0000 (09:21 -0700)]
ovn-nbd: Rename "ovn_txn" variable to "ovnsb_txn".

Commit ec78987 (ovn: Rename "ovn" database to "ovn-sb".) changed most of
the instances of "ovn" to some variation of "ovn-sb", but missed one in
ovn-nbd.

Suggested-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovn: Rename "ovn" database to "ovn-sb".
Justin Pettit [Wed, 8 Apr 2015 00:40:48 +0000 (17:40 -0700)]
ovn: Rename "ovn" database to "ovn-sb".

It was confusing having a database called "ovn", since it's also the
name of the project.  Since we have an "ovn-nb", rename "ovn" to
"ovn-sb".

Signed-off-by: Justin Pettit <jpettit@nicira.com>
9 years agoovn-nbctl: Add lport-get-up command.
Russell Bryant [Mon, 6 Apr 2015 15:27:05 +0000 (11:27 -0400)]
ovn-nbctl: Add lport-get-up command.

Add a command to get the 'up' state of a logical port.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
[blp@nicira.com changed true/false output to up/down]
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Add section titles to automake.mk.
Justin Pettit [Sat, 4 Apr 2015 22:02:42 +0000 (15:02 -0700)]
ovn: Add section titles to automake.mk.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovn: Add ovn-nbd to .gitignore.
Justin Pettit [Sat, 4 Apr 2015 22:01:47 +0000 (15:01 -0700)]
ovn: Add ovn-nbd to .gitignore.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovn-nbd: Populate OVN Bindings table.
Russell Bryant [Fri, 3 Apr 2015 00:09:16 +0000 (20:09 -0400)]
ovn-nbd: Populate OVN Bindings table.

When ovn-nbd gets notified that the contents of the OVN_Northbound
database have changed, it will now ensure that the contents of the
Bindings table in the OVN database are up to date.  It will create a
binding if none exists.  If one does exist, it will update its
contents as necessary, though today the only thing supported is the
list of MAC addresses.  Finally, any binding associated with a logical
port that has been deleted will be removed from the OVN database.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn.xml: Add a tiny bit more detail.
Ben Pfaff [Thu, 2 Apr 2015 23:02:04 +0000 (16:02 -0700)]
ovn.xml: Add a tiny bit more detail.

Also correct spelling error: s/ndb/nbd/.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovs-sandbox: Add support for ovn-nbd.
Russell Bryant [Thu, 2 Apr 2015 15:49:47 +0000 (11:49 -0400)]
ovs-sandbox: Add support for ovn-nbd.

Update ovs-sandbox to run ovn-nbd when it is run with OVN enabled.  In
passing, also fix the indentation of two lines to use spaces instead
of tabs.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn-nbd: Calculate 'up' state for logical ports.
Russell Bryant [Thu, 2 Apr 2015 00:04:21 +0000 (20:04 -0400)]
ovn-nbd: Calculate 'up' state for logical ports.

When the state of the chassis column in the Bindings table changes for
any row, ovn-nbd will notice and trigger recalculating the 'up' state
for all logical ports.

This can be tested manually by starting up ovs-sandbox with ovn support
enabled, running ovn-nbd, and then running the following commands:

  ovn-nbctl lswitch-add sw0
  ovn-nbctl lport-add sw0-port0 sw0
  port_uuid=$(ovn-nbctl lport-list sw0 | awk '{print $1}')
  ovsdb-client transact "[\"OVN\",\
    {\"uuid-name\":\"rowd4eca046_9233_4094_bc55_e28dd49217f9\",\
    \"row\":{\"logical_port\":\"$port_uuid\",\"chassis\":\"hostname\"},\
    \"op\":\"insert\",\"table\":\"Bindings\"}]"

ovn-nbd will then see that the 'chassis' column is set in the Bindings
row for the logical port and will mark the logical port as 'up' in the
northbound db.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn-nbd: Make minor skeleton updates.
Russell Bryant [Thu, 2 Apr 2015 00:04:20 +0000 (20:04 -0400)]
ovn-nbd: Make minor skeleton updates.

These changes are just some minor changes I have made to the skeleton
since the version that has been merged.  It adds the daemon related
options, updates the table/columns we monitor from the OVN db, and
some other minor tweaks.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn-nbd: Add skeleton for northbound daemon.
Russell Bryant [Tue, 31 Mar 2015 20:03:04 +0000 (16:03 -0400)]
ovn-nbd: Add skeleton for northbound daemon.

Initially, this just detects ovn and ovn-nb db changes.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn-nbctl: Fix leak of ovsdb_idl_txn.
Russell Bryant [Wed, 1 Apr 2015 17:40:07 +0000 (13:40 -0400)]
ovn-nbctl: Fix leak of ovsdb_idl_txn.

A new transaction is allocated before executing the command.  If the
result from committing the transaction is TRY_AGAIN, the code leaked
the allocated transaction since it creates a new one when it comes
back around to retry.  The old transaction is now destroyed before
continuing to allow the command to be retried.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn-nbctl: Sync code and docs for --db option.
Russell Bryant [Tue, 31 Mar 2015 19:55:00 +0000 (15:55 -0400)]
ovn-nbctl: Sync code and docs for --db option.

The usage() output said the option was --db.  The code and man page
said --database.  Switch everything over to --db to be consistent with
the option name used in ovs-vsctl.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn-nbctl: Don't loop forever on lost db connection.
Russell Bryant [Tue, 31 Mar 2015 17:43:18 +0000 (13:43 -0400)]
ovn-nbctl: Don't loop forever on lost db connection.

The main loop of ovn-nbctl had a condition to catch if the conenction
to the db was lost.  However, it didn't break out of the loop when the
condition occurred.  Now it should log the error once and exit with a
non-zero status code.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agometa-flow: Add convenience members to union mf_subvalue.
Ben Pfaff [Wed, 25 Feb 2015 17:33:54 +0000 (09:33 -0800)]
meta-flow: Add convenience members to union mf_subvalue.

This makes access to the least-significant bits more convenient.  This
commit simplifies a few existing cases; later commits will make more use
of this feature.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovn-nbctl: Allow names that look like UUIDs.
Russell Bryant [Tue, 31 Mar 2015 02:07:04 +0000 (22:07 -0400)]
ovn-nbctl: Allow names that look like UUIDs.

This patch fixes handling of logical switch and logical port names
that look like a UUID.  Previously, if the argument looked like a
UUID, it would only do a UUID lookup for a match.  After this change,
if the UUID lookup fails, it will treat it as a name and look it up
that way.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Provide the correct daemon name.
Gurucharan Shetty [Thu, 19 Mar 2015 14:29:21 +0000 (07:29 -0700)]
ovn: Provide the correct daemon name.

It is ovn-nbd and not ovs-nbd.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
9 years agoovn: Design and Schema changes for Container integration.
Gurucharan Shetty [Wed, 4 Mar 2015 02:01:43 +0000 (18:01 -0800)]
ovn: Design and Schema changes for Container integration.

The design was come up after inputs and discussions with multiple
people, including (in alphabetical order) Aaron Rosen, Ben Pfaff,
Ganesan Chandrashekhar, Justin Pettit, Russell Bryant and Somik Behera.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Add ovn-nbctl.
Russell Bryant [Sun, 22 Mar 2015 20:38:50 +0000 (16:38 -0400)]
ovn: Add ovn-nbctl.

ovn-nbctl is intended to be a utility for manually interacting with
the OVN northbound db.  A real consumer of OVN, such as OpenStack,
should be using ovsdb directly.  However, a utility like this is
useful during development and testing of both ovn itself as well as
the OpenStack Neutron plugin.  It could also be used when debugging
the state of an ovn deployment.

The commands related to logical switches and ports have been
implemented.  You can add, delete, list, and get/set external:ids.
On ports you can also get/set MAC addresses.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
[blp@nicira.com adjusted C style and manpage fonts]
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Add name column to logical switch table.
Russell Bryant [Wed, 18 Mar 2015 12:40:11 +0000 (08:40 -0400)]
ovn: Add name column to logical switch table.

Add a name column the logical switch table of the ovn-nb database
schema.  This column has no special meaning.  Its purpose is only to
provide convenience for humans interacting with the ovn-nb database.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoMerge "master" into "ovn".
Ben Pfaff [Tue, 17 Mar 2015 15:50:06 +0000 (08:50 -0700)]
Merge "master" into "ovn".

This will allow taking advantage of the new command-line infrastructure.

9 years agocommand-line: add ovs_cmdl_context
Russell Bryant [Tue, 17 Mar 2015 14:35:26 +0000 (10:35 -0400)]
command-line: add ovs_cmdl_context

I started working on a new command line utility that used this shared
code.  I wanted the ability to pass some data from common
initialization code to all of the commands.  You can find a similar
pattern in ovs-vsctl.

This patch updates the command handler to take a new struct,
ovs_cmdl_context, instead of argc and argv directly.  It includes argc
and argv, but also includes an opaque type (void *), where the user of
this API can attach its custom data it wants passed along to command
handlers.

This patch affected the ovstest sub-programs, as well.  The patch
includes a bit of an odd hack to OVSTEST_REGISTER() to avoid making
the main() function of the sub-programs take a ovs_cmdl_context.
The test main() functions still receive argc and argv directly, as
that seems more natural.  The test-subprograms themselves are able to
make use of a context internally, though.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-xlate: Preserve stack across patch port.
Jarno Rajahalme [Tue, 17 Mar 2015 00:33:16 +0000 (17:33 -0700)]
ofproto-dpif-xlate: Preserve stack across patch port.

Prevent a peer patch port bridge from popping data off or pushing data
to the stack of the first bridge.

Found by inspection.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agomatch: Do not skip formatting a zero dp_hash.
Jarno Rajahalme [Fri, 13 Mar 2015 19:22:51 +0000 (12:22 -0700)]
match: Do not skip formatting a zero dp_hash.

The dp_hash match should be printed whenever it is being matched.  We
keep the old behavior for flow_format(), which is mostly used to
format PACKET_IN messages. This keeps those messages tidier and avoids
changing a lot of test cases.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoRevert "ofp-actions: Align struct ofpact to OFPACT_ALIGNTO."
Jarno Rajahalme [Mon, 16 Mar 2015 22:04:52 +0000 (15:04 -0700)]
Revert "ofp-actions: Align struct ofpact to OFPACT_ALIGNTO."

This reverts commit 18287cd35ebaffb9122e08b29832bc52e1608cda.

The alignment, while correct, made also all derived ofpact structs bigger,
which was not intended.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
9 years agoAdd testsuite.tmp.orig to .gitignore
Alin Serdean [Mon, 16 Mar 2015 20:47:31 +0000 (20:47 +0000)]
Add testsuite.tmp.orig to .gitignore

Adding the file: tests/testsuite.tmp.orig to tests/.gitignore

Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agotest-hash: Improve comments.
Alex Wang [Sun, 1 Mar 2015 06:27:35 +0000 (22:27 -0800)]
test-hash: Improve comments.

This commit tries to simplify and further clarify the test cases
in test-hash.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agocommand-line: add ovs_cmdl_ prefix
Russell Bryant [Mon, 16 Mar 2015 16:01:55 +0000 (12:01 -0400)]
command-line: add ovs_cmdl_ prefix

The coding style guidelines include the following:

  - Pick a unique name prefix (ending with an underscore) for each
    module, and apply that prefix to all of that module's externally
    visible names.  Names of macro parameters, struct and union members,
    and parameters in function prototypes are not considered externally
    visible for this purpose.

This patch adds the new prefix to the externally visible names.  This
makes it a bit more obvious what code is coming from common command
line handling code.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovstest: Fix a typo in a comment.
Russell Bryant [Mon, 16 Mar 2015 16:01:54 +0000 (12:01 -0400)]
ovstest: Fix a typo in a comment.

Fix a typo in an example of invoking 'ovstest' in a comment.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-xlate: Honor skip_wildcards in translation.
Jarno Rajahalme [Fri, 13 Mar 2015 20:27:19 +0000 (13:27 -0700)]
ofproto-dpif-xlate: Honor skip_wildcards in translation.

There is no need to do anything with wildcards when skip_wildcards is true.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-xlate: Add rule cookie to the tranlation context.
Jarno Rajahalme [Fri, 13 Mar 2015 20:27:19 +0000 (13:27 -0700)]
ofproto-dpif-xlate: Add rule cookie to the tranlation context.

This is needed for unrolling resubmits for after-recirculation actions
introduced by the following patch.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoofp-actions: Align struct ofpact to OFPACT_ALIGNTO.
Jarno Rajahalme [Fri, 13 Mar 2015 20:27:19 +0000 (13:27 -0700)]
ofp-actions: Align struct ofpact to OFPACT_ALIGNTO.

We already assume this alignment, let the compiler know it, too.

As a side-effect the sizeof(struct ofpact) also changes to
OFPACT_ALIGNTO, which should be fine.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoodp-util: Fix scanning of recirc_id.
Jarno Rajahalme [Fri, 13 Mar 2015 20:27:19 +0000 (13:27 -0700)]
odp-util: Fix scanning of recirc_id.

Recirculation id was scanned without a mask, which led to it being
ignored.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoFAQ.md: Add a few more details on how to support a new field.
Ben Pfaff [Fri, 13 Mar 2015 20:02:52 +0000 (13:02 -0700)]
FAQ.md: Add a few more details on how to support a new field.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Thomas Graf <tgraf@noironetworks.com>
9 years agoovs-vsctl-bashcomp: Fix build failure when bash version < 4.0.
Alex Wang [Fri, 13 Mar 2015 17:28:07 +0000 (10:28 -0700)]
ovs-vsctl-bashcomp: Fix build failure when bash version < 4.0.

The ovs-vsctl-bashcomp script does not work properly on bash (version
 < 4.0).  This commit adds test for the bash version and avoids running
the script/test when the bash version is not supported.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agotravis: Generate new secret key for build@openvswitch.org
Thomas Graf [Fri, 13 Mar 2015 14:19:03 +0000 (15:19 +0100)]
travis: Generate new secret key for build@openvswitch.org

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoUse the IANA-assigned ports for OpenFlow and OVSDB.
Justin Pettit [Wed, 11 Mar 2015 20:32:01 +0000 (13:32 -0700)]
Use the IANA-assigned ports for OpenFlow and OVSDB.

We've been warning about the change since 2.1, which was released a year
ago.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agovswitchd: Update IPv6 controller examples to use OpenFlow port.
Justin Pettit [Wed, 11 Mar 2015 21:51:12 +0000 (14:51 -0700)]
vswitchd: Update IPv6 controller examples to use OpenFlow port.

The IPv6 examples in ovs-vswitchd.conf.db to configure the OpenFlow port
used the OVSDB port number, which is confusing.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-vsctl-bashcomp: Documentation and unit tests.
Alex Wang [Wed, 11 Feb 2015 19:08:57 +0000 (11:08 -0800)]
ovs-vsctl-bashcomp: Documentation and unit tests.

This commit includes the unit tests for ovs-vsctl-bashcomp
and refines the ovs-command-bashcomp.INSTALL.md to introduce
the bash completion for ovs-vsctl.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-vsctl-bashcomp: Add bash command-line completion for ovs-vsctl.
Peter Amidon [Wed, 4 Feb 2015 17:52:12 +0000 (09:52 -0800)]
ovs-vsctl-bashcomp: Add bash command-line completion for ovs-vsctl.

This patch adds bash command-line completion script for ovs-vsctl.
Therein, codes are added to ovs-vsctl to allow it to print the
options and command arguments.  The ovs-vsctl-bashcomp.bash will
parse the vsctl command and complete on the user input.

The completion script can do the following::

- display available completions and complete on user input for
  global/local options, sub-commands, and arguments.

- query database and expand keywords like 'table/record/column/key'
  to available completions.

- deal with argument relations like 'one and more', 'zero or one'.

- complete multiple ovs-vsctl commands cascaded via '--'.

To use the script, either copy it inside /etc/bash_completion.d/
or manually run it via . ovs-vsctl-bashcomp.bash.

Signed-off-by: Peter Amidon <peter@picnicpark.org>
Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-appctl-bashcomp: Keep naming consistency.
Alex Wang [Tue, 10 Feb 2015 19:06:11 +0000 (11:06 -0800)]
ovs-appctl-bashcomp: Keep naming consistency.

Before adding the completion script ovs-vsctl-bashcomp.bash for
ovs-vsctl command, this commit renames the ovs-command-compgen.bash
to ovs-appctl-bashcomp.bash to keep the script naming consistent.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-sandbox: add initial support for ovn
Russell Bryant [Thu, 12 Mar 2015 20:57:18 +0000 (16:57 -0400)]
ovs-sandbox: add initial support for ovn

This patch adds initial support for OVN to ovs-sandbox.  If you pass
"-o/--ovn" to ovs-sandbox, it will create a db from the ovn and ovn-nb
schemas and tell ovsdb-server to use them.  It also adds ovn/ to $PATH
so that as ovn executables are added, they will be available in the
sandbox.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Build "ovn" and "ovn-nb" IDLs.
Justin Pettit [Wed, 4 Mar 2015 02:08:20 +0000 (18:08 -0800)]
ovn: Build "ovn" and "ovn-nb" IDLs.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
9 years agoovn: Rename "switch" to "lswitch" in NB schema definition.
Justin Pettit [Wed, 11 Mar 2015 22:45:17 +0000 (15:45 -0700)]
ovn: Rename "switch" to "lswitch" in NB schema definition.

The IDL will blow up when compiling the NB schema, since "switch" is a
C reserved keyword.  This commit changes it to "lswitch".

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoopenvswitch-cfg-update: Fix incorrect controller config.
Alex Wang [Sat, 28 Feb 2015 18:06:44 +0000 (10:06 -0800)]
openvswitch-cfg-update: Fix incorrect controller config.

Commit 032c09ddd10 (XenServer: Don't reset on xe-toolstack-restart)
introduced a bug which causes the setting of 'ssl::6632' at xenserver
boot.  Subsequently, at each bridge configuration, ovs will report
'|socket_util|ERR|:6632: bad IPv4 address ""' due to the empty address.

The exact calltrace is:

 0  parse_sockaddr_components (ss=0xbf8dd87c, host_s=0x94c99f0 "",
    port_s=0x94c99f1 "6632", default_port=6632, s=0x948b9dc ":6632")
    at lib/socket-util.c:350
 1  0x081163b5 in inet_parse_active (target_=0x948b9dc ":6632", default_port=
    6632, ss=0xbf8dd87c) at lib/socket-util.c:412
 2  0x08119dcf in stream_parse_target_with_default_port (target=0x948b9d8
    "ssl::6632", default_port=6632, ss=0xbf8dd87c) at lib/stream.c:734
 3  0x0804c946 in collect_in_band_managers (ovs_cfg=0x94433b0,
    managersp=0xbf8dd9a8, n_managersp=0xbf8dd9a0) at vswitchd/bridge.c:516
 4  0x08054b87 in bridge_reconfigure (ovs_cfg=0x94433b0) at vswitchd/bridge.c:
    614
 5  0x080557cf in bridge_run () at vswitchd/bridge.c:2897
 6  0x080564aa in main (argc=155674720, argv=0x0) at vswitchd/ovs-vswitchd.c:
    116

This commit fixes the issue.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoxenserver: Fix build spec for XenServer 6.5.
Edwin Chiu [Tue, 10 Mar 2015 18:36:43 +0000 (11:36 -0700)]
xenserver: Fix build spec for XenServer 6.5.

The latest XenServer 6.5 uses a new way for kernel version naming.
Therein, the kernel flavor could not be found anymore.  Also, the
directory name in 'lib/modules/' becomes a shortened version of
kernel version. e.g.:

[root@localhost ~]# ls /lib/modules/
3.10.0+2

As a workaround, this commit modifies the spec file to make
%{kernel_flavor} optional and %{xen_version} definable by users.
In the long run, I'd like to spend time refining the spec file.

Signed-off-by: Edwin Chiu <echiu@vmware.com>
Signed-off-by: Alex Wang <alexw@nicira.com>
9 years agovtep: fix '--enable-shared' build and 'make distcheck'.
Daniele Di Proietto [Mon, 9 Mar 2015 13:52:08 +0000 (13:52 +0000)]
vtep: fix '--enable-shared' build and 'make distcheck'.

Found by travis.  Broken by commit 9d8215698 ('vtep: Move vtep IDL files
into new "libvtep.la".')

Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agobridge: Enable RSTP if both STP and RSTP are enabled.
Ben Pfaff [Thu, 5 Mar 2015 19:12:21 +0000 (11:12 -0800)]
bridge: Enable RSTP if both STP and RSTP are enabled.

Until now, if both STP and RSTP were enabled, ovs-vswitchd would actually
enable only the one it first noticed to be enabled, and actually turn off
the setting for the other one in the database (!).  This doesn't match
ovs-vswitchd behavior for other contradictory configurations, so this
commit changes its behavior so that, if both are enabled, RSTP takes
precedence.

Reported-by: Daniele Venturino <daniele.venturino@m3s.it>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ansis Atteka <aatteka@nicira.com>
9 years agoFAQ.md: Explain why "ovs-vsctl show" shows a port but it isn't there.
Ben Pfaff [Fri, 6 Mar 2015 04:15:37 +0000 (20:15 -0800)]
FAQ.md: Explain why "ovs-vsctl show" shows a port but it isn't there.

I've explained this a lot over the years.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Gurucharan Shetty <gshetty@nicira.com>
9 years agovtep: Move vtep IDL files into new "libvtep.la".
Justin Pettit [Thu, 5 Mar 2015 08:00:03 +0000 (00:00 -0800)]
vtep: Move vtep IDL files into new "libvtep.la".

There's no reason to build it in "lib" and include it in
"libopenvswitch.la".  This commit moves it to "vtep" and includes it in
a new "libvtep.la".

Signed-off-by: Justin Pettit <jpettit@nicira.com>
9 years agowindows/syslog: Remove duplicate definition.
Gurucharan Shetty [Thu, 5 Mar 2015 14:58:52 +0000 (06:58 -0800)]
windows/syslog: Remove duplicate definition.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agonetdev-windows: Fix broken compilation.
Gurucharan Shetty [Thu, 5 Mar 2015 15:30:12 +0000 (07:30 -0800)]
netdev-windows: Fix broken compilation.

Commit 6fd6ed71cb9f(ofpbuf: Simplify ofpbuf API.) removed ofpbuf_size
and ofpbuf_data. They still had reference from netdev-windows. Fix them.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoMerge remote-tracking branch 'origin/master' into ovn3
Justin Pettit [Thu, 5 Mar 2015 06:57:05 +0000 (22:57 -0800)]
Merge remote-tracking branch 'origin/master' into ovn3

9 years agoovsdb-idlc: Generate comments for "*_set_*" functions.
Justin Pettit [Wed, 4 Mar 2015 02:04:08 +0000 (18:04 -0800)]
ovsdb-idlc: Generate comments for "*_set_*" functions.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovsdb-idlc: Remove "*_get_*" warning from header file.
Justin Pettit [Wed, 4 Mar 2015 07:45:18 +0000 (23:45 -0800)]
ovsdb-idlc: Remove "*_get_*" warning from header file.

The warning is now captured in the C file, which has documentation for
all the public functions.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovsdb-idlc: Add comments for remaining non-"set" non-static functions.
Justin Pettit [Tue, 3 Mar 2015 23:12:49 +0000 (15:12 -0800)]
ovsdb-idlc: Add comments for remaining non-"set" non-static functions.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovsdb-idlc: Use column name for "*_set_*" smap arguments.
Justin Pettit [Wed, 4 Mar 2015 02:05:59 +0000 (18:05 -0800)]
ovsdb-idlc: Use column name for "*_set_*" smap arguments.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: update neutron plugin todo
Russell Bryant [Thu, 5 Mar 2015 03:21:49 +0000 (22:21 -0500)]
ovn: update neutron plugin todo

Update the TODO list for the Neutron plugin to reflect the repository
that was created for it, as well as the plugin specific TODO list that
lives in that repo.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Break encaps into separate table.
Justin Pettit [Tue, 3 Mar 2015 02:20:14 +0000 (18:20 -0800)]
ovn: Break encaps into separate table.

A chassis may support multiple encapsulation types, so break them out
into their own table.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovn: Remove constraints on "encap" types.
Justin Pettit [Mon, 2 Mar 2015 23:45:39 +0000 (15:45 -0800)]
ovn: Remove constraints on "encap" types.

Let two consenting transport nodes choose how they want to talk; we
don't need to be so prescriptive in the supported encap types for OVN.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-upcall: Create ukey only for miss upcalls.
Jarno Rajahalme [Tue, 24 Feb 2015 23:33:59 +0000 (15:33 -0800)]
ofproto-dpif-upcall: Create ukey only for miss upcalls.

There is no point trying to create ukeys for non-miss upcalls, such as
upcalls due to an explicit userspace actions (e.g, slow-pathed flows).

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-xlate: Fix indentation.
Jarno Rajahalme [Tue, 24 Feb 2015 23:33:59 +0000 (15:33 -0800)]
ofproto-dpif-xlate: Fix indentation.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-xlate: Free recirculation ID in an error case.
Jarno Rajahalme [Tue, 24 Feb 2015 23:33:59 +0000 (15:33 -0800)]
ofproto-dpif-xlate: Free recirculation ID in an error case.

Found by inspection.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoofproto-dpif-xlate: Don't translate action set when dropping.
Jarno Rajahalme [Tue, 24 Feb 2015 23:33:59 +0000 (15:33 -0800)]
ofproto-dpif-xlate: Don't translate action set when dropping.

Translate action set only if not dropping the packet.

Found by inspection.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-bugtool: Improve manpage.
Ben Pfaff [Wed, 4 Mar 2015 22:19:43 +0000 (14:19 -0800)]
ovs-bugtool: Improve manpage.

The manpage was poorly organized and failed to mention some options.

Example provided by Gurucharan Shetty <gshetty@nicira.com>.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Gurucharan Shetty <gshetty@nicira.com>
9 years agolib: upgrade to DPDK v1.8.0
Mark Kavanagh [Tue, 17 Feb 2015 21:20:04 +0000 (13:20 -0800)]
lib: upgrade to DPDK v1.8.0

DPDK v1.8.0 makes significant changes to struct rte_mbuf, including
removal of the 'pkt' and 'data' fields. The latter, formally a
pointer, is now calculated via an offset from the start of the
segment buffer.  So now dp_packet data is also stored as offset
from base pointer.

Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Signed-off-by: Rory Sexton <rory.sexton@intel.com>
Signed-off-by: Kevin Traynor <kevin.traynor@intel.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
9 years agolldp: Fix DPDK build.
Pravin B Shelar [Tue, 3 Mar 2015 22:08:58 +0000 (14:08 -0800)]
lldp: Fix DPDK build.

Fixes following dp-packet access. Removes netinet/if_ether.h
include due to duplicate definition of ether_addr.

------
In file included from /usr/include/netinet/if_ether.h:60:0,
                 from lib/lldp/lldpd.h:23,
                 from lib/ovs-lldp.h:26,
                 from lib/ovs-lldp.c:30:
/usr/include/net/ethernet.h: At top level:
/usr/include/net/ethernet.h:32:8: error: redefinition of 'struct
ether_addr'
 struct ether_addr
        ^
In file included from
../dpdk/dpdk/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:179:0,
                 from lib/netdev-dpdk.h:18,
                 from lib/dp-packet.h:25,
                 from lib/ovs-lldp.h:23,
                 from lib/ovs-lldp.c:30:
../dpdk/dpdk/x86_64-native-linuxapp-gcc/include/rte_ether.h:83:8: note:
originally defined here
 struct ether_addr {
        ^
lib/ovs-lldp.c: In function 'lldp_process_packet':
lib/ovs-lldp.c:676:30: error: 'const struct dp_packet' has no member
named 'data_'
                    (char *) p->data_, p->size_);
                              ^
lib/ovs-lldp.c:676:40: error: 'const struct dp_packet' has no member
named 'size_'
                    (char *) p->data_, p->size_);
------

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agotest-hash: Do not exit check_word_hash() when there is a failure.
Alex Wang [Fri, 27 Feb 2015 05:16:14 +0000 (21:16 -0800)]
test-hash: Do not exit check_word_hash() when there is a failure.

This commit makes check_word_hash() run to finish even when there
is a failure during the run.  The test will still fail due to the
output check in AT_CHECK.  And developers can benefit from having
all failed hashes instead of only the first one.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agotest-hash: Test hash_bytes128() with single 128-bit word.
Alex Wang [Thu, 26 Feb 2015 17:54:00 +0000 (09:54 -0800)]
test-hash: Test hash_bytes128() with single 128-bit word.

This commit adds a new test for hash_bytes128() using single 128-bit
word.  The test shows that there is no collision in all 19 consecutive
bits checks, which indicates the hash function is good.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Joe Stringer <joestringer@nicira.com>
9 years agoAUTHORS: Update Alexei Froloff's email address.
Ben Pfaff [Wed, 4 Mar 2015 16:23:26 +0000 (08:23 -0800)]
AUTHORS: Update Alexei Froloff's email address.

Requested-by: "Alexey I. Froloff" <raorn@raorn.name>
Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agodp-packet.h: Fix a typo in #endif comment
YAMAMOTO Takashi [Wed, 4 Mar 2015 05:10:11 +0000 (14:10 +0900)]
dp-packet.h: Fix a typo in #endif comment

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agonetdev-bsd: Fix a compilation error
YAMAMOTO Takashi [Wed, 4 Mar 2015 05:08:59 +0000 (14:08 +0900)]
netdev-bsd: Fix a compilation error

Fix a compilation problem introduced by
commit cf62fa4c7074121184a1f1d07980990113657612
("dp-packet: Remove ofpbuf dependency.")

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Acked-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Fully parenthesize some macro definitions.
Ben Pfaff [Mon, 23 Feb 2015 05:07:22 +0000 (21:07 -0800)]
lldp: Fully parenthesize some macro definitions.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Remove unused definitions from headers.
Ben Pfaff [Mon, 23 Feb 2015 05:04:47 +0000 (21:04 -0800)]
lldp: Remove unused definitions from headers.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Fix use of list of struct lldpd_hardware.
Ben Pfaff [Mon, 23 Feb 2015 00:55:34 +0000 (16:55 -0800)]
lldpd: Fix use of list of struct lldpd_hardware.

A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

This ovs_list is a bit puzzling in itself, because it appears to always
have exactly one element.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Fix use of list of struct lldpd_chassis.
Ben Pfaff [Mon, 23 Feb 2015 00:47:01 +0000 (16:47 -0800)]
lldpd: Fix use of list of struct lldpd_chassis.

A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd-structs: Declare Boolean member as one bit, not two.
Ben Pfaff [Mon, 23 Feb 2015 00:45:05 +0000 (16:45 -0800)]
lldpd-structs: Declare Boolean member as one bit, not two.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Remove unused members from struct lldpd.
Ben Pfaff [Mon, 23 Feb 2015 00:44:47 +0000 (16:44 -0800)]
lldpd: Remove unused members from struct lldpd.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Use ETH_ADDR_FMT.
Ben Pfaff [Mon, 23 Feb 2015 00:36:07 +0000 (16:36 -0800)]
lldp: Use ETH_ADDR_FMT.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Remove excessive parentheses.
Ben Pfaff [Mon, 23 Feb 2015 00:35:43 +0000 (16:35 -0800)]
lldp: Remove excessive parentheses.

The OVS style is to usually avoid parentheses in cases like these where
they just make expressions harder to read.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Fix return value convention for "send" function.
Ben Pfaff [Mon, 23 Feb 2015 00:34:36 +0000 (16:34 -0800)]
lldpd: Fix return value convention for "send" function.

errno values are positive values, so it's not reasonable to use E2BIG as
an error return with positive values also indicating packet lengths.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Remove unused ALIGNED_CAST macro.
Ben Pfaff [Tue, 3 Mar 2015 23:35:34 +0000 (15:35 -0800)]
lldpd: Remove unused ALIGNED_CAST macro.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Use CONTAINER_OF instead of cast, for safety.
Ben Pfaff [Mon, 23 Feb 2015 00:19:27 +0000 (16:19 -0800)]
lldpd: Use CONTAINER_OF instead of cast, for safety.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd: Remove obsolete comment.
Ben Pfaff [Mon, 23 Feb 2015 00:14:58 +0000 (16:14 -0800)]
lldpd: Remove obsolete comment.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-lldp: Remove unneeded NULL checks on free().
Ben Pfaff [Mon, 23 Feb 2015 00:13:14 +0000 (16:13 -0800)]
ovs-lldp: Remove unneeded NULL checks on free().

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Miscellaneous coding style fixes.
Ben Pfaff [Sun, 22 Feb 2015 23:59:21 +0000 (15:59 -0800)]
lldp: Miscellaneous coding style fixes.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd-structs: Fix type of c_id member.
Ben Pfaff [Sun, 22 Feb 2015 22:41:18 +0000 (14:41 -0800)]
lldpd-structs: Fix type of c_id member.

This member is typically an Ethernet address so the appropriate type is
uint8_t, not char.  This eliminates a couple of casts.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-lldp: Use better types for ISID and VLANs.
Ben Pfaff [Tue, 3 Mar 2015 23:36:28 +0000 (15:36 -0800)]
ovs-lldp: Use better types for ISID and VLANs.

An ISID is 24 bits, so it fits in a uint32_t.  A VLAN is 12 bits, so it
fits in a uint16_t.  Use these types consistently, instead of int64_t.

This removes a check in aa_mapping_unregister() that seems a little
mysterious to me: it previously checked for ISID and VLAN values >= 0.  I
don't see a way that they could be < 0 in this situation though.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp-structs: Fix use of list of struct lldpd_port.
Ben Pfaff [Sun, 22 Feb 2015 21:39:54 +0000 (13:39 -0800)]
lldp-structs: Fix use of list of struct lldpd_port.

A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp-structs: Fix use of list of struct lldpd_mgmt.
Ben Pfaff [Sun, 22 Feb 2015 21:37:18 +0000 (13:37 -0800)]
lldp-structs: Fix use of list of struct lldpd_mgmt.

A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp-structs: Fix use of list of lldpd_aa_isid_vlan_maps_tlv.
Ben Pfaff [Sun, 22 Feb 2015 21:35:00 +0000 (13:35 -0800)]
lldp-structs: Fix use of list of lldpd_aa_isid_vlan_maps_tlv.

A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Change representation of ISID to uint32_t.
Ben Pfaff [Tue, 3 Mar 2015 23:32:59 +0000 (15:32 -0800)]
lldp: Change representation of ISID to uint32_t.

It's a lot more straightforward to deal with integer values as integers
instead of arrays of bytes.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agotest-aa: Make variables local to this file static.
Ben Pfaff [Sun, 22 Feb 2015 21:23:17 +0000 (13:23 -0800)]
test-aa: Make variables local to this file static.

Found by sparse.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldpd-structs: Fix spelling error in message.
Ben Pfaff [Sun, 22 Feb 2015 20:45:51 +0000 (12:45 -0800)]
lldpd-structs: Fix spelling error in message.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Declare "bool" variables as type "bool".
Ben Pfaff [Mon, 23 Feb 2015 00:44:30 +0000 (16:44 -0800)]
lldp: Declare "bool" variables as type "bool".

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Use "bool" for boolean variables.
Ben Pfaff [Sun, 22 Feb 2015 20:45:17 +0000 (12:45 -0800)]
lldp: Use "bool" for boolean variables.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agolldp: Use OVS time functions.
Ben Pfaff [Tue, 3 Mar 2015 23:34:07 +0000 (15:34 -0800)]
lldp: Use OVS time functions.

Signed-off-by: Ben Pfaff <blp@nicira.com>
9 years agoovs-lldp: Use correct printf specifiers.
Ben Pfaff [Sun, 22 Feb 2015 20:37:22 +0000 (12:37 -0800)]
ovs-lldp: Use correct printf specifiers.

Signed-off-by: Ben Pfaff <blp@nicira.com>