[ovs-git] [openvswitch/ovs] b482e9: ofproto/ofproto-dpif-upcall: Use relaxed atomic op...

GitHub noreply at github.com
Thu Jul 16 20:36:56 UTC 2015


  Branch: refs/heads/branch-1.9
  Home:   https://github.com/openvswitch/ovs
  Commit: b482e960fb6ceda457ddb052ec3d48bc7af3abab
      https://github.com/openvswitch/ovs/commit/b482e960fb6ceda457ddb052ec3d48bc7af3abab
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  ofproto/ofproto-dpif-upcall: Use relaxed atomic operations.

Neither 'enable_megaflows', 'udpif->flow_limit', 'udpif->n_flows', nor
'udpif->n_flows_timestamp' are used to synchronize the state of any
other variables, so we can use relaxed atomic operations to access
them.

Move the atomic read operation of 'enable_megaflows' outside the loop
in handle_upcalls().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: fc4a1204b79a0bfd8111c3e4bc1c6e403dfac944
      https://github.com/openvswitch/ovs/commit/fc4a1204b79a0bfd8111c3e4bc1c6e403dfac944
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/timeval.c

  Log Message:
  -----------
  lib/timeval: Use relaxed atomics also when writing on 'slow_path'.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: afcea9ea04695308e42d23d088449e1d0de492ad
      https://github.com/openvswitch/ovs/commit/afcea9ea04695308e42d23d088449e1d0de492ad
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto.c

  Log Message:
  -----------
  ofproto/ofproto: Use relaxed atomics.

Neither 'miss_config', 'n_missed', nor 'n_matched' is used to
synchronize the state of any other variable, so we can use relaxed
atomic operations on them.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 1aca400ce94e903a22e88bf5b1c29dc9109a30d5
      https://github.com/openvswitch/ovs/commit/1aca400ce94e903a22e88bf5b1c29dc9109a30d5
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/netdev-linux.c

  Log Message:
  -----------
  netdev-linux: Cast policer rate to uint64_t to avoid overflow

tc_fill_rate() takes a 64bit int, casting kbits_rate from int
to uint64_t avoids a possible overflow when translating from
kbits to bytes.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9bdc2ca4a7d10468235c7b98c0f56ec0399a4cc3
      https://github.com/openvswitch/ovs/commit/9bdc2ca4a7d10468235c7b98c0f56ec0399a4cc3
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/ovs-thread.c

  Log Message:
  -----------
  thread: Use explicit wide type when shifting > 32 bits

Without the explicit wide type, the shift operation may be performed
on a int which will result in implementation defined behaviour on a
system with more than 32 CPUs.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 35ab726ff61335309d59b88e0db742c5ad04d95a
      https://github.com/openvswitch/ovs/commit/35ab726ff61335309d59b88e0db742c5ad04d95a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M INSTALL

  Log Message:
  -----------
  INSTALL: Correct typo.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 0089421210b7664badbc13e9a5b2db230b857b35
      https://github.com/openvswitch/ovs/commit/0089421210b7664badbc13e9a5b2db230b857b35
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M datapath/actions.c
    M lib/packets.c

  Log Message:
  -----------
  datapath: Fix checksum calculation when modifying ICMPv6 packets.

The checksum of ICMPv6 packets uses the IP pseudoheader as part of
the calculation, unlike ICMP in IPv4. This was not implemented,
which means that modifying the IP addresses of an ICMPv6 packet
would cause the checksum to no longer be correct as the psuedoheader
did not match.

Reported-by: Neal Shrader <icosahedral at gmail.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a139efa9e4c1250787be2c28fc2a06c9ff1f91f6
      https://github.com/openvswitch/ovs/commit/a139efa9e4c1250787be2c28fc2a06c9ff1f91f6
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  travis: Add build at openvswitch.org email list for build notifications.

Enable build notifications to build at openvswitch.org

Co-authored-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d7ff93d7532717ea9d610a7181f24c773170be80
      https://github.com/openvswitch/ovs/commit/d7ff93d7532717ea9d610a7181f24c773170be80
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M datapath/actions.c

  Log Message:
  -----------
  datapath: simplify sample action implementation

The current sample() function implementation is more complicated
than necessary in handling single user space action optimization
and skb reference counting. There is no functional changes.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 58f7c37b1f1323fdfe45fcac191b8e855e68b5b4
      https://github.com/openvswitch/ovs/commit/58f7c37b1f1323fdfe45fcac191b8e855e68b5b4
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Use different constant for ring size

DPDK rings must have a power-of-two size.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 30f4d875f53c2e3817628faba20112eaea3e7715
      https://github.com/openvswitch/ovs/commit/30f4d875f53c2e3817628faba20112eaea3e7715
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M INSTALL.DPDK

  Log Message:
  -----------
  Documentation: DPDK IVSHMEM VM Communications

Adds documentation on how to run IVSHMEM communication through VM.

Signed-off-by: Mike A. Polehn <mike.a.polehn at intel.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: aa8ea22366bf9ff3918e8be128dba1365ffe11b7
      https://github.com/openvswitch/ovs/commit/aa8ea22366bf9ff3918e8be128dba1365ffe11b7
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M configure.ac
    M lib/compiler.h
    M m4/openvswitch.m4

  Log Message:
  -----------
  Add BUILD_MESSAGE() macro

This commit introduces the BUILD_MESSAGE() macro. It uses _Pragma("message"),
with compilers that support that, to output a warning-like compile-time message
without blocking the compilation.

Used by next commit.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: dce96af8fd873ce1a2c451f511725fe1a28aebee
      https://github.com/openvswitch/ovs/commit/dce96af8fd873ce1a2c451f511725fe1a28aebee
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/flow.c

  Log Message:
  -----------
  lib/flow: Use BUILD_MESSAGE() to warn if BUILD_SEQ is not updated

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: ab355e676375f6d7b6715f3fc4ac6b750b5df1bb
      https://github.com/openvswitch/ovs/commit/ab355e676375f6d7b6715f3fc4ac6b750b5df1bb
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/ovs-thread.c
    M lib/seq.h

  Log Message:
  -----------
  lib/seq: Document acquire-release semantics.

Seq objects would be really hard to use if they did not provide
acquire-release semantics.  Currently they do that via
ovs_mutex_lock()/ovs_mutex_unlock(), respectively.  Document the
behavior so that it is safer to rely on that elsewhere.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 6f0088655a776a8aa763e4889a94470ea61a59c9
      https://github.com/openvswitch/ovs/commit/6f0088655a776a8aa763e4889a94470ea61a59c9
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/ovs-thread.c
    M lib/ovs-thread.h

  Log Message:
  -----------
  lib/ovs-thread: Use atomic_count.

barrier->count is used as a simple counter and is not expected the
synchronize the state of any other variable, so we can use atomic_count,
which uses relaxed atomics.

Ditto for the 'next_id' within ovsthread_wrapper().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 9230662a879921f3f35905d0f978db201323e5c6
      https://github.com/openvswitch/ovs/commit/9230662a879921f3f35905d0f978db201323e5c6
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/ovs-thread.c
    M lib/ovs-thread.h

  Log Message:
  -----------
  lib/ovs-thread: Avoid atomic read in ovsthread_once_start().

We can use a normal bool and rely on the mutex_lock/unlock and an
atomic_thread_fence for synchronization.

Also flip the return value of ovsthread_once_start__() to match the
one of ovsthread_once_start().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 61a2647e155c835e946407aa365c4d2adb5b57d5
      https://github.com/openvswitch/ovs/commit/61a2647e155c835e946407aa365c4d2adb5b57d5
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/odp-execute.c
    M lib/packet-dpif.c
    M lib/packet-dpif.h

  Log Message:
  -----------
  packet-dpif: Add dpif_packet_{get, set}_hash()

These function are used to stored the packet hash. 'netdev-dpdk'
automatically set this value to the RSS hash returned by the
NIC. Other 'netdev's set it to 0 (which is an invalid hash
value), so that callers can compute the hash on their own.

If DPDK support is enabled, struct dpif_packet's member
'dp_hash' is removed and 'pkt.hash.rss' from DPDK mbuf is used

This commit also configure DPDK devices to compute RSS hash
for UDP and IPv6 packets

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 9bbf1c3dc0f9642e0e6c614f9ccb5a1e64810938
      https://github.com/openvswitch/ovs/commit/9bbf1c3dc0f9642e0e6c614f9ccb5a1e64810938
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-08-29 (Fri, 29 Aug 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Exact match cache

Since lookups in the classifier can be pretty expensive,
we introduce this (thread local) cache which simply
compares the miniflows of the packets

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b5d2dd2b49a65ab19818af4f3b876a3f01e544b0
      https://github.com/openvswitch/ovs/commit/b5d2dd2b49a65ab19818af4f3b876a3f01e544b0
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-08-30 (Sat, 30 Aug 2014)

  Changed paths:
    M .travis/build.sh

  Log Message:
  -----------
  travis: Run 'make distcheck' instead of 'make check'

make distcheck runs a superset of make check and will additionally
catch failures in adding new files to the Makefile. It will also test
installation and uninstallation of the package.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1a0d5831028b19125cbe7c98b930bd80d00f6695
      https://github.com/openvswitch/ovs/commit/1a0d5831028b19125cbe7c98b930bd80d00f6695
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Avoid variable length array on MSVC.

MSVC does not like variable length array either.

This patch treats the following error:

lib/dpif-netdev.c(2272) : error C2057: expected constant expression
lib/dpif-netdev.c(2272) : error C2466: cannot allocate an array of constant size 0
lib/dpif-netdev.c(2272) : error C2133: 'batches' : unknown size
lib/dpif-netdev.c(2273) : error C2057: expected constant expression
lib/dpif-netdev.c(2273) : error C2466: cannot allocate an array of constant size 0
lib/dpif-netdev.c(2273) : error C2133: 'mfs' : unknown size
lib/dpif-netdev.c(2274) : error C2057: expected constant expression
lib/dpif-netdev.c(2274) : error C2466: cannot allocate an array of constant size 0
lib/dpif-netdev.c(2274) : error C2133: 'rules' : unknown size
lib/dpif-netdev.c(2363) : warning C4034: sizeof returns 0
lib/dpif-netdev.c(2381) : error C2057: expected constant expression
lib/dpif-netdev.c(2381) : error C2466: cannot allocate an array of constant size 0
lib/dpif-netdev.c(2381) : error C2133: 'keys' : unknown size
make[2]: *** [lib/dpif-netdev.lo] Error 1

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: cccf7e9d16ecb5e2d31347f0050129038dd45e4c
      https://github.com/openvswitch/ovs/commit/cccf7e9d16ecb5e2d31347f0050129038dd45e4c
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M CONTRIBUTING
    M NEWS

  Log Message:
  -----------
  travis: Announce travis CI and new build list in NEWS and CONTRIBUTING

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b4bb68c2bcf45687e6b63ba1b7cb21dcbf89ea0a
      https://github.com/openvswitch/ovs/commit/b4bb68c2bcf45687e6b63ba1b7cb21dcbf89ea0a
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M tests/test-stp.c

  Log Message:
  -----------
  test-stp: Fix leak of open file descriptor for input_file

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c44a2a6df4ebde5ec9752d08ff82fec7f0c5c90c
      https://github.com/openvswitch/ovs/commit/c44a2a6df4ebde5ec9752d08ff82fec7f0c5c90c
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M tests/test-bitmap.c

  Log Message:
  -----------
  test-bitmap: Fix multiple minor memory leaks

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2e34a6a347cb67a228763773c054a7ec7f6658ef
      https://github.com/openvswitch/ovs/commit/2e34a6a347cb67a228763773c054a7ec7f6658ef
  Author: Srini Seetharaman <srini.seetharaman at gmail.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M NEWS
    M lib/ofp-actions.c
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ofp-actions: Support "resubmit" actions in action sets.

Fixing issue where "resubmit" action in a group action set was not
considered sufficient to retain the full action set. This patch allows
a group action set (considered terminal with OF1.4 and earlier spec)
to have the "output" action come from a different table.

Signed-off-by: Srini Seetharaman <srini.seetharaman at gmail.com>
[blp at nicira.com added documentation]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d6d2a5b381519ad1b52bb3fdd55b59684dbbc1de
      https://github.com/openvswitch/ovs/commit/d6d2a5b381519ad1b52bb3fdd55b59684dbbc1de
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M tests/ovs-vsctl.at
    M utilities/ovs-vsctl.c

  Log Message:
  -----------
  ovs-vsctl: Correctly exit on errors for non-map types in "remove" command.

Reported-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: b1bf47f2251507f45d0c333314501c51207701aa
      https://github.com/openvswitch/ovs/commit/b1bf47f2251507f45d0c333314501c51207701aa
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M lib/getopt_long.c

  Log Message:
  -----------
  getopt_long: Fix broken sequence of casts in __UNCONST macor.

Unlike the compilation mode used for OVS x64 Linux Windows long word is
4 bytes for both 32 and 64 bit builds.
Replaced _UNCONST macro with CONST_CAST to avoid the intermediate casting
to an integer.

Testing: 32 and 64 Windows builds.
Signed-off-by: Eitan Eliahu eliahue at vmware.com
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 82706a6f1271e07c8acd7dea3cfdff0279b968a6
      https://github.com/openvswitch/ovs/commit/82706a6f1271e07c8acd7dea3cfdff0279b968a6
  Author: Li RongQing <roy.qing.li at gmail.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: fix a memory leak

The user_skb maybe be leaked if the operation on it failed and codes
skipped into the label "out:" without calling genlmsg_unicast.

Cc: Pravin Shelar <pshelar at nicira.com>
Signed-off-by: Li RongQing <roy.qing.li at gmail.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 34631d72fbb1ae7889c11e4bbaacce38b569547b
      https://github.com/openvswitch/ovs/commit/34631d72fbb1ae7889c11e4bbaacce38b569547b
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Make memory pool name contain the socket id.

This commit makes the memory pool name contain the socket id.
Since dpdk library do not allow creation of memory pool with
same name, this commit serves as a simple way of making each
name unique.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 5abf65d06050fe1ec9bafbeaf9db3190fa924eb6
      https://github.com/openvswitch/ovs/commit/5abf65d06050fe1ec9bafbeaf9db3190fa924eb6
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M lib/packets.c
    M lib/packets.h

  Log Message:
  -----------
  packet: Fix sparse warnings ICMPv6.

The system defined ICMPv6 header doesn't have sparse annotation,
so this adds a definition so that endianness can be checked.

Reported-by: Alex Wang <alexw at nicira.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>


  Commit: e0a801c7fdcf6d54fb25636d0a96961830a6728a
      https://github.com/openvswitch/ovs/commit/e0a801c7fdcf6d54fb25636d0a96961830a6728a
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-02 (Tue, 02 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Show interface status for dpdk0.

This commit fixes a bug which prevents the display of interface
status for dpdk0.

Found by inspection.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 16ee1400bbff0f001c2075f413da4bee9f9190e8
      https://github.com/openvswitch/ovs/commit/16ee1400bbff0f001c2075f413da4bee9f9190e8
  Author: Ariel Tubaltsev <atubaltsev at vmware.com>
  Date:   2014-09-03 (Wed, 03 Sep 2014)

  Changed paths:
    M vtep/vtep.xml

  Log Message:
  -----------
  vtep: additions to BFD configuration and status reporting

This commit adds default values for some BFD configuration keys
(bfd_config_local:bfd_dst_mac and bfd_params:enable). It also adds new
BFD status keys (bfd_enabled and bfd_info).

Signed-off-by: Ariel Tubaltsev <atubaltsev at vmware.com>
Signed-off-by: Bruce Davie <bdavie at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: a1fdee136b278e575d84aeeac06374a44a530300
      https://github.com/openvswitch/ovs/commit/a1fdee136b278e575d84aeeac06374a44a530300
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-03 (Wed, 03 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Introduce port_try_ref() to prevent a race.

When pmd thread interates through all ports for queue loading,
the main thread may unreference and 'rcu-free' a port before
pmd thread take new reference of it.  This could cause pmd
thread fail the reference and access freed memory later.

This commit fixes this race by introducing port_try_ref()
which uses ovs_refcount_try_ref_rcu().  And the pmd thread
will only load the port's queue, if port_try_ref() returns
true.

Found by inspection.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b52641ddf5b020c9eb5e8b6e46aaa0175b0fb614
      https://github.com/openvswitch/ovs/commit/b52641ddf5b020c9eb5e8b6e46aaa0175b0fb614
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/automake.mk
    M datapath-windows/include/OvsPub.h
    R datapath-windows/ovsext/Netlink.c
    R datapath-windows/ovsext/Netlink.h
    A datapath-windows/ovsext/Netlink/Netlink.c
    A datapath-windows/ovsext/Netlink/Netlink.h
    A datapath-windows/ovsext/Netlink/NetlinkProto.h
    R datapath-windows/ovsext/NetlinkProto.h
    M datapath-windows/ovsext/ovsext.vcxproj
    M datapath-windows/ovsext/precomp.h

  Log Message:
  -----------
  datapath-windows: Move netlink files to a new directory.

In this change we have created a new directory named Netlink
inside datapath-windows/ovsext/. This directory will be used to
keep all the netlink related files.

The reason we have created new directory is that for 'put' related
APIs we will be adding netlink buffer mgmt files as well. These files
will take the count of netlink related files to 5. Hence
we decided to club the netlink files in a single directory.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/37
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ba10fc7c1f768bcb3273e9b2a65521693f8d3477
      https://github.com/openvswitch/ovs/commit/ba10fc7c1f768bcb3273e9b2a65521693f8d3477
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/automake.mk
    A datapath-windows/ovsext/Netlink/NetlinkBuf.c
    A datapath-windows/ovsext/Netlink/NetlinkBuf.h
    M datapath-windows/ovsext/ovsext.vcxproj

  Log Message:
  -----------
  datapath-windows: Add Netlink buffer management APIs.

In this change we have introduced buffer mgmt apis which will be
used while creating netlink messages. The basic functionality provided
by apis is on similar lines to ofpbuf in userspace with an exception
that it will not do run time buffer reallocation.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/37
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f67a578d93fe8c08ffc1d4e910fc4eed5fbbab32
      https://github.com/openvswitch/ovs/commit/f67a578d93fe8c08ffc1d4e910fc4eed5fbbab32
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/NetlinkProto.h

  Log Message:
  -----------
  datapath-windows: NetlinkProto: Fix typo and add padding macro.

Added a new macro for calculating the number of bytes required
for padding. Fixed a minor typo.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/37
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 66c2fd6efe2dadf3d1bdb950d91a222389281518
      https://github.com/openvswitch/ovs/commit/66c2fd6efe2dadf3d1bdb950d91a222389281518
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Types.h

  Log Message:
  -----------
  datapath-windows: OvsTypes.h: Add support for BE16.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/37
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: edf3fb0f8bf2f9486e1023e5f03b1c374c1b75a6
      https://github.com/openvswitch/ovs/commit/edf3fb0f8bf2f9486e1023e5f03b1c374c1b75a6
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows: Netlink.c: Add netlink put APIs.

In this change we have added the APIs for putting
netlink headers, attributes in a buffer.

The buffer is managed through NetlinkBuf.[c|h].

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/37
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6524e997ec55bace8515a35e552653814b128d1a
      https://github.com/openvswitch/ovs/commit/6524e997ec55bace8515a35e552653814b128d1a
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/NetlinkBuf.c

  Log Message:
  -----------
  datapath-windows: NetlinkBuf.c: Minor fix for lines exceeding 79 chars

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/37
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a678b23e666049866dc54ca6e8ecd643e145bf96
      https://github.com/openvswitch/ovs/commit/a678b23e666049866dc54ca6e8ecd643e145bf96
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M lib/nx-match.c
    M tests/ovs-ofctl.at

  Log Message:
  -----------
  nx-match: Serialize standard xregs instead of Nicira registers, in OF1.5.

Commit 79fe0f4611b60 (meta-flow: Add 64-bit registers.) added support for
the OpenFlow 1.5 (draft) standardized registers, but neglected to cause
them to be serialized when Open vSwitch composes flow matches.  This meant
that they were always sent to a controller as pairs of Nicira extension
registers.  This commit fixes the problem.

Found by inspection.

ONF-JIRA: EXT-244
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: d12f128a31210ed936820cea68c2f42c07ead5cf
      https://github.com/openvswitch/ovs/commit/d12f128a31210ed936820cea68c2f42c07ead5cf
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M build-aux/extract-ofp-errors
    M lib/ofp-errors.h
    M tests/ofp-errors.at

  Log Message:
  -----------
  ofp-errors: Fix bugs in treatment of OpenFlow experimenter errors.

OpenFlow 1.2 and later have "experimenter errors".  The OVS implementation
was buggy in a few ways.  First, a bug in extract-ofp-errors prevented
OF1.2+ experimenter errors from being properly decoded.  Second,
OF1.2+ experimenter errors have only a type, not a code, whereas all other
types of errors (standard errors, OF1.0/1.1 Nicira extension errors) have
both, but extract-ofp-errors didn't properly enforce that.

This commit fixes both problems and improves existing tests to verify that
encoding and decoding of experimenter errors now works properly.

This commit also fixes the definition of OFPBIC_DUP_INST.  It claimed to
have an OF1.1 experimenter error value although OF1.1 didn't have
experimenter errors.  This commit changes it to use a Nicira extension
error in OF1.1 instead.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 6b2dfe8e9f575f21faae2538f10bc2be8b5cf09e
      https://github.com/openvswitch/ovs/commit/6b2dfe8e9f575f21faae2538f10bc2be8b5cf09e
  Author: Jean Tourrilhes <jt at hpl.hp.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M lib/ofp-errors.h

  Log Message:
  -----------
  ofp-errors: Migrate EXT-444 errors to ONF experimenter ID.

Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>
[blp at nicira.com removed the definitions of these errors in OF1.1 and OF1.2]
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 81fed0452f46bbd3a1a77aeddb8bb4983a82baee
      https://github.com/openvswitch/ovs/commit/81fed0452f46bbd3a1a77aeddb8bb4983a82baee
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.h

  Log Message:
  -----------
  datapath-windows: Data structures and functions for dump state

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a19f14a74d7efcde7116e95051cbc28d3ee9984b
      https://github.com/openvswitch/ovs/commit/a19f14a74d7efcde7116e95051cbc28d3ee9984b
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: make NL version a UIN8 and add a validateDp arg

I didn't realize earlier that version in a netlink message was a
UINT8. So, fixing that here.

Also, some of the commands don't pass a valid DP value. Hence adding
a field to identify such commands.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e4bd84f36b5670b8f394c8bb5170a85aed9b5901
      https://github.com/openvswitch/ovs/commit/e4bd84f36b5670b8f394c8bb5170a85aed9b5901
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h

  Log Message:
  -----------
  datapath-windows: add a context structure for user parameters

In this patch we add a context structure for collecting all the parameters
passed from usersapce in one place. The idea is to reduce the number of
parameters being passed to the netlink command handler functions.

It can be argued that not all functions require all the arguments, but this
approach keeps the code clean, IMO.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 63520eeb2b1942a764f0668164d4c2df8c2f9741
      https://github.com/openvswitch/ovs/commit/63520eeb2b1942a764f0668164d4c2df8c2f9741
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: add support for GET_DP command to dump datpaths

In this patch, we add support for the GET_DP netlink command to dump
the datpaaths. The userspace workflow to get this to work is the same
as on Linux. dpif-linux.c initiates a dump start by writing a netlink
message, and after that continues to read data from the kernel while
the kernel has data. The state is maintained in the kernel, and not in
userspace. This approach was taken since there was not great benefit
of maintaining state in userspace, and also to avoid userspace changes
specific to Windows.

This hopefully serves as a template to base the other dump commands on.

validation:
- With a hacked up dpif-linux.c to work on Windows,
  dpif_linux_enumerate() successfully enumerated the datapaths in the
  kernel.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2252cbea780f0981911ea0998a1e4d6ec8bbbf78
      https://github.com/openvswitch/ovs/commit/2252cbea780f0981911ea0998a1e4d6ec8bbbf78
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Ariel Tubaltsev to AUTHORS.

I missed it while adding commit 6ee1400bbff(vtep: additions to BFD
configuration and status reporting)

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: ec2d2b5f03913f262a11c23f3e9b2a9e30157139
      https://github.com/openvswitch/ovs/commit/ec2d2b5f03913f262a11c23f3e9b2a9e30157139
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M lib/automake.mk
    A lib/ovs-atomic-msvc.h
    M lib/ovs-atomic.h

  Log Message:
  -----------
  ovs-atomics: Add atomic support Windows.

Before this change (i.e., with pthread locks for atomics on Windows),
the benchmark for cmap and hmap was as follows:

$ ./tests/ovstest.exe test-cmap benchmark 10000000 3 1
Benchmarking with n=10000000, 3 threads, 1.00% mutations:
cmap insert:  61070 ms
cmap iterate:  2750 ms
cmap search:  14238 ms
cmap destroy:  8354 ms

hmap insert:   1701 ms
hmap iterate:   985 ms
hmap search:   3755 ms
hmap destroy:  1052 ms

After this change, the benchmark is as follows:
$ ./tests/ovstest.exe test-cmap benchmark 10000000 3 1
Benchmarking with n=10000000, 3 threads, 1.00% mutations:
cmap insert:   3666 ms
cmap iterate:   365 ms
cmap search:   2016 ms
cmap destroy:  1331 ms

hmap insert:   1495 ms
hmap iterate:  1026 ms
hmap search:   4167 ms
hmap destroy:  1046 ms

So there is clearly a big improvement for cmap.

But the correspondig test on Linux (with gcc 4.6) yeilds the following:

./tests/ovstest test-cmap benchmark 10000000 3 1
Benchmarking with n=10000000, 3 threads, 1.00% mutations:
cmap insert:   3917 ms
cmap iterate:   355 ms
cmap search:    871 ms
cmap destroy:  1158 ms

hmap insert:   1988 ms
hmap iterate:  1005 ms
hmap search:   5428 ms
hmap destroy:   980 ms

So for this particular test, except for "cmap search", Windows and
Linux have similar performance. Windows is around 2.5x slower in "cmap search"
compared to Linux. This has to be investigated.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
[With a lot of inputs and help from Jarno]
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 6b846da95a802d4187e3a0ea0b697c196dcc749f
      https://github.com/openvswitch/ovs/commit/6b846da95a802d4187e3a0ea0b697c196dcc749f
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M build-aux/cccl

  Log Message:
  -----------
  cccl: Enable ability to parallel build.

The /FS option allows serial access to PDB file creation letting
parallel builds succeed with mingw32-make (with some tricks). The
'make' that comes with MSYS has a bug that causes hangs with
parallel builds which supposedly has been fixed in the upcoming
1.0.19 release.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>


  Commit: b0e1bce5d6528d71605f0d75e47f5f14d4b04f0d
      https://github.com/openvswitch/ovs/commit/b0e1bce5d6528d71605f0d75e47f5f14d4b04f0d
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
    M INSTALL.Windows
    M Makefile.am
    M build-aux/cccl
    M m4/openvswitch.m4

  Log Message:
  -----------
  cccl: Ability to enable compiler optimization.

MSVC has a '-O2' compiler optimization flag which makes code run
fast and is the recommended option for released code. For e.g.,
running "./tests/ovstest.exe test-cmap benchmark 1000000 3 1"
shows a 3x improvement for some cmap micro-benchmarks.

In the Visual Studio world, there is a concept of "release" build
(fast code, harder to debug) and a "debug" build (easier to debug).
The IDE provides this option and the IDE users expect something similar
for command line build.

So this commit, introduces a "--with-debug" configure option for Windows
and does not use '-O2' as a compiler option when specified. This can
be extended further if there are more compiler options that distinguish
a "release" build vs "debug" build.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>


  Commit: 012c0a040f9aac5f3e75ca05843cf05aff8a97cf
      https://github.com/openvswitch/ovs/commit/012c0a040f9aac5f3e75ca05843cf05aff8a97cf
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M lib/ovs-numa.c
    M lib/ovs-numa.h

  Log Message:
  -----------
  ovs-numa: Replace name 'cpu_socket' with 'numa_node'.

'numa' and 'socket' are currently used interchangeably in ovs-numa.
But they are not always equivalent as some platform can have multiple
sockets on a numa node.  To avoid confusion, this commit renames all
the 'cpu_socket' to 'numa_node'.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 421aa227d0cf225b8a6dbf77c3442f57a46ef52f
      https://github.com/openvswitch/ovs/commit/421aa227d0cf225b8a6dbf77c3442f57a46ef52f
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M lib/ovs-numa.c

  Log Message:
  -----------
  ovs-numa: Relax the ovs_numa_*() input argument check.

Many of the ovs_numa_*() functions abort the program when the
input cpu socket or core id is invalid.  This commit relaxes
the input check and makes these functions return OVS_*_UNSPEC
when the check fails.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 6b1105fb2007fb72e36ec9da92996bd3b1e18916
      https://github.com/openvswitch/ovs/commit/6b1105fb2007fb72e36ec9da92996bd3b1e18916
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M lib/ovs-numa.c
    M lib/ovs-numa.h

  Log Message:
  -----------
  ovs-numa: Add function for getting numa node id from core id.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 341857504063aaa18c7d539d5946a15ece27b893
      https://github.com/openvswitch/ovs/commit/341857504063aaa18c7d539d5946a15ece27b893
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M lib/ovs-numa.c

  Log Message:
  -----------
  ovs-numa: Add module description.

Add a short description of the module and its assumption.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 60759b2b9d0cb39d9eddfb46bebab55a9850de9d
      https://github.com/openvswitch/ovs/commit/60759b2b9d0cb39d9eddfb46bebab55a9850de9d
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Remove recirc stack depth limit check

Future patches will change the recirc action implementation to not
using recursion. The stack depth detection is no longer necessary.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2c8c4fb7ff82f20cf742bea0625003a8eb428241
      https://github.com/openvswitch/ovs/commit/2c8c4fb7ff82f20cf742bea0625003a8eb428241
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h

  Log Message:
  -----------
  datapath: Implement recirc action without recursion

Since kernel stack is limited in size, it is not wise to using
recursive function with large stack frames.

This patch provides an alternative implementation of recirc action
without using recursion.

A per CPU fixed sized, 'deferred action FIFO', is used to store either
recirc or sample actions encountered during execution of an action
list. Not executing recirc or sample action in place, but rather execute
them laster as 'deferred actions' avoids recursion.

Deferred actions are only executed after all other actions has been
executed, including the ones triggered by loopback from the kernel
network stack.

The size of the private FIFO, currently set to 20, limits the number
of total 'deferred actions' any one packet can accumulate.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: f1112037df05e70f92abe7e2f25ece9f6d766003
      https://github.com/openvswitch/ovs/commit/f1112037df05e70f92abe7e2f25ece9f6d766003
  Author: Jiri Benc <jbenc at redhat.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M datapath/actions.c

  Log Message:
  -----------
  datapath: fix panic with multiple vlan headers

When there are multiple vlan headers present in a received frame, the
first one is put into vlan_tci and protocol is set to ETH_P_8021Q.
Anything in the skb beyond the VLAN TPID may be still non-linear,
including the inner TCI and ethertype. While ovs_flow_extract takes
care of IP and IPv6 headers, it does nothing with ETH_P_8021Q. Later,
if OVS_ACTION_ATTR_POP_VLAN is executed, __pop_vlan_tci pulls the
next vlan header into vlan_tci.

This leads to two things:

1. Part of the resulting ethernet header is in the non-linear part of
   the skb. When eth_type_trans is called later as the result of
   OVS_ACTION_ATTR_OUTPUT, kernel BUGs in __skb_pull. Also,
   __pop_vlan_tci is in fact accessing random data when it reads
   past the TPID.

2. network_header points into the ethernet header instead of behind it.
   mac_len is set to a wrong value (10), too.

Reported-by: Yulong Pei <ypei at redhat.com>
Signed-off-by: Jiri Benc <jbenc at redhat.com>

I have dropped second change. Since it assumes inner mac header is of
ETH_HLEN len which is not always true.
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a7d607c58dcc2a58b39b49f06257744c8ac0da82
      https://github.com/openvswitch/ovs/commit/a7d607c58dcc2a58b39b49f06257744c8ac0da82
  Author: Li RongQing <roy.qing.li at gmail.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: distinguish between the dropped and consumed skb

distinguish between the dropped and consumed skb, not assume the skb
is consumed always

Cc: Thomas Graf <tgraf at noironetworks.com>
Cc: Pravin Shelar <pshelar at nicira.com>
Signed-off-by: Li RongQing <roy.qing.li at gmail.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 800711c3c2c79464d837872f681ab3d257e8fdd6
      https://github.com/openvswitch/ovs/commit/800711c3c2c79464d837872f681ab3d257e8fdd6
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Set packet egress_tun_info.

packet execute is setting egress_tun_info in skb->cb, rather
than packet->cb. skb is netlink msg skb. This causes corruption
in netlink skb state stored in skb->cb (NETLINK_CB) which
results in following deadlock in netlink code.

=============================================
[ INFO: possible recursive locking detected ]
3.2.62 #2
---------------------------------------------
handler55/22851 is trying to acquire lock:
 (genl_mutex){+.+.+.}, at: [<ffffffff81471ad7>] genl_lock+0x17/0x20

but task is already holding lock:
 (genl_mutex){+.+.+.}, at: [<ffffffff81471ad7>] genl_lock+0x17/0x20

other info that might help us debug this:
 Possible unsafe locking scenario:
  CPU0
       ----
  lock(genl_mutex);
  lock(genl_mutex);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

1 lock held by handler55/22851:
 #0:  (genl_mutex){+.+.+.}, at: [<ffffffff81471ad7>] genl_lock+0x17/0x20

stack backtrace:
Pid: 22851, comm: handler55 Tainted: G           O 3.2.62 #2
Call Trace:
 [<ffffffff81097bb2>] print_deadlock_bug+0xf2/0x100
 [<ffffffff81099b99>] validate_chain+0x579/0x860
 [<ffffffff8109a17c>] __lock_acquire+0x2fc/0x4f0
 [<ffffffff8109aab0>] lock_acquire+0xa0/0x180
 [<ffffffff81519070>] __mutex_lock_common+0x60/0x420
 [<ffffffff8151959a>] mutex_lock_nested+0x4a/0x60
 [<ffffffff81471ad7>] genl_lock+0x17/0x20
 [<ffffffff81471af6>] genl_rcv+0x16/0x40
 [<ffffffff8146ff72>] netlink_unicast+0x2f2/0x310
 [<ffffffff81470159>] netlink_ack+0x109/0x1f0
 [<ffffffff8147030b>] netlink_rcv_skb+0xcb/0xd0
 [<ffffffff81471b05>] genl_rcv+0x25/0x40
 [<ffffffff8146ff72>] netlink_unicast+0x2f2/0x310
 [<ffffffff8147134c>] netlink_sendmsg+0x28c/0x3d0
 [<ffffffff8143375f>] sock_sendmsg+0xef/0x120
 [<ffffffff81435766>] ___sys_sendmsg+0x416/0x430
 [<ffffffff81435949>] __sys_sendmsg+0x49/0x90
 [<ffffffff814359a9>] sys_sendmsg+0x19/0x20
 [<ffffffff8152432b>] system_call_fastpath+0x16/0x1b

Reported-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: 46a14035521c52bf38d6e32927a8e33f19c76fff
      https://github.com/openvswitch/ovs/commit/46a14035521c52bf38d6e32927a8e33f19c76fff
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M lib/ovs-numa.c

  Log Message:
  -----------
  ovs-numa: Fix a missing initialization.

This commit updates the pointer to 'struct numa_node'
when initializing the 'struct cpu_core'.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3d76b86c6f0b56ee8649356c49e89dd5022451b2
      https://github.com/openvswitch/ovs/commit/3d76b86c6f0b56ee8649356c49e89dd5022451b2
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  ofproto-dpif-upcall: Fix a free of uninitialized memory.

On current master, when 'upcall_receive()' returns error, the
ofpbuf 'upcall->put_actions' is uninitialized.  In some usecase,
the failure of 'upcall_receive()' will cause uninitialize of
'upcall->put_actions' and free of uninitialized pointer.

This commit fixes the issue by making the caller not conduct
the uninitialize of the 'upcall' when there is error.

Found by inspection.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2c622e5aa9009faf7238a71e484416652b115a5d
      https://github.com/openvswitch/ovs/commit/2c622e5aa9009faf7238a71e484416652b115a5d
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M datapath/datapath.c
    M datapath/flow_netlink.c
    M datapath/flow_netlink.h

  Log Message:
  -----------
  datapath: Remove unused dp parameter.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 6d670e7f0d45b014d47d1f172c12cf62c4f8bf7f
      https://github.com/openvswitch/ovs/commit/6d670e7f0d45b014d47d1f172c12cf62c4f8bf7f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/openvswitch.h
    M lib/dpif-netdev.c
    M lib/dpif.c
    M lib/odp-execute.c
    M lib/odp-util.c
    M lib/odp-util.h
    M tests/odp.at

  Log Message:
  -----------
  lib/odp: Masked set action execution and printing.

Add a new action type OVS_ACTION_ATTR_SET_MASKED, and support for
parsing, printing, and committing them.

Masked set actions add a mask, immediately following the netlink
attribute data, within the netlink attribute itself.  Thus the key
attribute size for a masked set action is exactly double of the
non-masked set action.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 53cb9c3edc3cc5ec323a1c0b21315e6ded61dadd
      https://github.com/openvswitch/ovs/commit/53cb9c3edc3cc5ec323a1c0b21315e6ded61dadd
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M lib/meta-flow.c
    M lib/odp-util.c
    M lib/util.c
    M lib/util.h

  Log Message:
  -----------
  lib/util: Change is_all_zeros and is_all_ones to take a void *.

is_all_zeros() and is_all_ones() operate on bytes, but just like with
memset, it is easier to use if the first argument is a void *.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 260974dcdfd707a8ee82ec97713211b76b08c82b
      https://github.com/openvswitch/ovs/commit/260974dcdfd707a8ee82ec97713211b76b08c82b
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  lib/odp-util: Refine odp_mask_attr_is_exact().

Some attributes are exact matches even when all bits are not ones.
Make odp_mask_attr_is_exact() to return true if the mask is set for
all the bits we actually care about.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ea2735d3cc23d062bd60ab442e48d6021ac4d15d
      https://github.com/openvswitch/ovs/commit/ea2735d3cc23d062bd60ab442e48d6021ac4d15d
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M lib/flow.h
    M lib/match.c
    M lib/odp-util.c
    M lib/odp-util.h
    M tests/ofp-print.at
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  lib: Unify flags parsing and formatting.

Use the "+-" syntax more uniformly when printing masked flags, and use
the syntax of delimited 1-flags also for formatting fully masked TCP
flags.

The "+-" syntax only deals with masked flags, but if there are many of
those, the printout becomes long and confusing.  Typically there are
many flags only when flags are fully masked, but even then most of
them are zeros, so it makes sense to print the flags that are set
(ones) and omit the zero flags.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5545e7826896e861c07a04161d6db64ed61289fe
      https://github.com/openvswitch/ovs/commit/5545e7826896e861c07a04161d6db64ed61289fe
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M lib/odp-util.c
    M tests/bfd.at
    M tests/odp.at
    M tests/tunnel.at

  Log Message:
  -----------
  lib/odp-util: Add tunnel tp_src, tp_dst parsing and formatting.

tp_src and tp_dst fields were recently added to struct flow_tnl, but
parsing and printing was missing.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3c33f0ffe76c83f7ec1786175ef34f776892cc0d
      https://github.com/openvswitch/ovs/commit/3c33f0ffe76c83f7ec1786175ef34f776892cc0d
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-08 (Mon, 08 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  lib/dpif-netdev: Make emc_mutex recursive.

dpif_netdev_execute may be called while doing upcall processing.
Since the context of the input port is not tracked upto this point, we
use the shared dp->emc_cache for packet execution, where the emc_cache
is needed for recirculation.

While recursive mutexes can make thread safety analysis hard, for now
we change emc_mutex to be recursive.  Forthcoming new unit tests will
fail with the current non-recursive mutex.  Later improvements may
remove the need for this recursion.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: 9efd308e957c26ab42a5210cc9fc7300c7d021f0
      https://github.com/openvswitch/ovs/commit/9efd308e957c26ab42a5210cc9fc7300c7d021f0
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M AUTHORS
    M NOTICE
    M lib/automake.mk
    M lib/packets.h
    A lib/rstp-common.h
    A lib/rstp-state-machines.c
    A lib/rstp-state-machines.h
    A lib/rstp.c
    A lib/rstp.h
    M lib/stp.h
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M ofproto/ofproto.h
    M tests/.gitignore
    M tests/automake.mk
    M tests/ovs-vsctl.at
    A tests/rstp.at
    A tests/test-rstp.c
    M tests/testsuite.at
    M utilities/ovs-vsctl.8.in
    M vswitchd/bridge.c
    M vswitchd/vswitch.ovsschema
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  Rapid Spanning Tree Protocol (IEEE 802.1D).

This is the v5 from June 12th, 2014, rebased to OVS master, further
changes in following patches.

Signed-off by: Daniele Venturino <daniele.venturino at m3s.it>
Signed-off by: Martino Fornasa <mf at fornasa.it>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: d62d7cb10299b0fa9cebf98a7e4e921d640afec9
      https://github.com/openvswitch/ovs/commit/d62d7cb10299b0fa9cebf98a7e4e921d640afec9
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  vswitch.xml: Fix RSTP configuration documentation.

Move port's configuration options where they belong, add typing, and
correct errors.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 9a0bb428332bbff251465830a13dbfd1d0d865c3
      https://github.com/openvswitch/ovs/commit/9a0bb428332bbff251465830a13dbfd1d0d865c3
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c
    M tests/rstp.at
    M tests/stp.at

  Log Message:
  -----------
  lib/stp,rstp: Add unit more unit tests.

Existing STP and RSTP test cases only test the protocols with test
utilities.  These tests test them as part of OVS using the
netdev-dummy device.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: fb20b0bf5d77268cc103b2c7a0f5b976f8d05773
      https://github.com/openvswitch/ovs/commit/fb20b0bf5d77268cc103b2c7a0f5b976f8d05773
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/stp.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  lib/stp: Some debugging support.

Set the stp port name before enabling it, so that debugging messages
have the name to print out.

Do not treat the first state initialization as a state change.  Zero
is not a valid state, so changing from zero to STP_DISABLED is not a
state change.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 4b30ba0546374145b59aab0de2d1983242bfca13
      https://github.com/openvswitch/ovs/commit/4b30ba0546374145b59aab0de2d1983242bfca13
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif.c
    M vswitchd/bridge.c

  Log Message:
  -----------
  lib/rstp: Better debug messages, style fixes.

Remove unused struct rstp_priority_vector4 definition, fix coding
style, fix sparse warnings.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: aaab616a2d16b8018fb590da3d86c0583b7cf733
      https://github.com/openvswitch/ovs/commit/aaab616a2d16b8018fb590da3d86c0583b7cf733
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp.c

  Log Message:
  -----------
  lib/rstp: Refactor priority vector recalculation.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 801171c171985ba507c4af95cc814a0dc17ee571
      https://github.com/openvswitch/ovs/commit/801171c171985ba507c4af95cc814a0dc17ee571
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp.c

  Log Message:
  -----------
  lib/rstp: Refactor port number allocation.

Port number allocation was O(N^3), this refactoring will make it O(N^2).

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 54d3863b8522268f2d8d88f1f075eb3766c77aa8
      https://github.com/openvswitch/ovs/commit/54d3863b8522268f2d8d88f1f075eb3766c77aa8
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  lib/rstp: Refactor port initialization.

Prior to this patch the default values for ports were set in three
different places.  This refactors them all to one helper function.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: cc33c223e2576e3eccf2b7e659b8934f2c9ca9b0
      https://github.com/openvswitch/ovs/commit/cc33c223e2576e3eccf2b7e659b8934f2c9ca9b0
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  lib/rstp: CodingStyle changes.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 8fb76a0b7b821a74cca8d43a262e714a4148fd0e
      https://github.com/openvswitch/ovs/commit/8fb76a0b7b821a74cca8d43a262e714a4148fd0e
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp.c
    M lib/rstp.h

  Log Message:
  -----------
  lib/rstp: Inline trivial predicate functions.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: f025bcb7eabbb5598d2cb1f4cdd429b47a3743dc
      https://github.com/openvswitch/ovs/commit/f025bcb7eabbb5598d2cb1f4cdd429b47a3743dc
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c
    M lib/rstp-state-machines.h
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c
    M tests/rstp.at
    M tests/test-rstp.c

  Log Message:
  -----------
  lib/rstp: More robust thread safety.

Current code expects there to be a single thread that is responsible
for creating rstp and creating and deleting rstp_port objects.  rstp
objects are also deleted from other threads, as managed by reference
counting.

rstp port objects are not reference counted, which means that
references to rstp ports may only be held while holding the rstp
mutex, or by the thread that creates and deletes them.

This patch adds reference counting to RSTP ports, which allows ports
to be passed from ofproto-dpif to ofproto-dpif-xlate without using the
RSTP port number.  This simplifies RSTP port reconfiguration, as the
port need not be resynchronized with xlate if just the port number
changes.  This also avoids lookups on the processing of RSTP BPDUs.

This patch also:

1. Exposes the rstp mutex so that related thread safety annotations
   can be used also within rstp-state-machines.c.

2. Internal variants of most setter an getter functions are defined,
   suffixed with two underscores.  These are annotated to be callable
   only when the mutex is held.

3. Port setters were only called in a specific pattern.  The new external
   port setter combines them in a single rspt_port_set() function.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 6b90bc57e7a23b89a594ceb857f8267c8b4026df
      https://github.com/openvswitch/ovs/commit/6b90bc57e7a23b89a594ceb857f8267c8b4026df
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif.c
    M tests/test-rstp.c

  Log Message:
  -----------
  lib/rstp: Remove lock recursion.

Change the RSTP send_bpdu interface so that a recursive mutex is not
needed.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 311fb15ba9cfe1b1044e53c846dd127b5caeb991
      https://github.com/openvswitch/ovs/commit/311fb15ba9cfe1b1044e53c846dd127b5caeb991
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  lib/rstp: CodingStyle fixes.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: a0478216c69a0d4ba06095d6cc67a3190dd8a309
      https://github.com/openvswitch/ovs/commit/a0478216c69a0d4ba06095d6cc67a3190dd8a309
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  lib/rstp: Simplify priority vector comparison.

Testing for sameness first makes the logic simpler to follow.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 37db915e434ab01b3c7cf131afd591f5bab46db9
      https://github.com/openvswitch/ovs/commit/37db915e434ab01b3c7cf131afd591f5bab46db9
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c
    M lib/rstp.c

  Log Message:
  -----------
  lib/rstp: Eliminate ports_count.

It was only used to guard against unintialized list.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: d5f31dc8333304eb46ba7bf9fec1b602d7b76355
      https://github.com/openvswitch/ovs/commit/d5f31dc8333304eb46ba7bf9fec1b602d7b76355
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c
    M lib/rstp.c

  Log Message:
  -----------
  lib/rstp: Use hmap instead of a list for ports.

Finding a given port is faster.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 3b2a7e92dc8477b920a330535e8c83568c06b7b3
      https://github.com/openvswitch/ovs/commit/3b2a7e92dc8477b920a330535e8c83568c06b7b3
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M NEWS

  Log Message:
  -----------
  NEWS: Mention RSTP.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 7fa09611015aa7789d790e8d46ce5414162c5d1f
      https://github.com/openvswitch/ovs/commit/7fa09611015aa7789d790e8d46ce5414162c5d1f
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Add support for async notification on Windows.

We keep an outstanding, out of band, I/O request in the driver at all time.
Once an event generated the driver queues the event message, completes the
pending I/O and unblocks the calling thread through setting the event in the
overlapped structure in the NL socket. The thread will read all all event
messages synchronously through the call of nl_sock_recv()

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0173bf0628b5190e3267d99eafd374bd9e734523
      https://github.com/openvswitch/ovs/commit/0173bf0628b5190e3267d99eafd374bd9e734523
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: refactor code to setup dump start state

Per review comment, in this patch we refactor the code to create a
OvsSetupDumpStart() which can be leveraged by dump functions in the
future. I have not refactored the code that continues the dump
operation primarily since it is not final yet. Once the netlink set
APIs are in place, we can refactor that too.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5f7487da0a1659a5492baae87926e4b1293cf108
      https://github.com/openvswitch/ovs/commit/5f7487da0a1659a5492baae87926e4b1293cf108
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: remove local variable in do_lookup_genl_family.

'sock' is not initialized and hence should not be un-initialized
as well in the failure path.

Reported-by: Gurucharan Shetty <shettyg at nicira.com>
Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: f7c2f97d575b9d80220f7ee8963b63188ed192f0
      https://github.com/openvswitch/ovs/commit/f7c2f97d575b9d80220f7ee8963b63188ed192f0
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/odp-execute.c

  Log Message:
  -----------
  lib/odp-execute: Use dpif_packet_set_dp_hash() instead of ->dp_hash

When building with DPDK support, 'struct dpif_packet' won't have 'dp_hash'
member. dpif_packet_set_dp_hash() and dpif_packet_get_dp_hash() should be used.

Furthermore, the masked set action shouldn't read 'md->dp_hash' (which is
shared in a batch), but should use dpif_packet_get_dp_hash() to get each packet
private hash.

This commit fixes the build with DPDK.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 2d18eae86d423cc6b8aa54fe9a78299b2babc585
      https://github.com/openvswitch/ovs/commit/2d18eae86d423cc6b8aa54fe9a78299b2babc585
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/odp-util.c
    M tests/bfd.at
    M tests/dpif-netdev.at
    M tests/odp.at
    M tests/ofproto-dpif.at
    M tests/tunnel.at

  Log Message:
  -----------
  lib/odp-util: Skip ignored fields when parsing and formatting.

When a whole field of a key value is ignored, skip it when formatting
the key, and allow it to be left out when parsing the key from a
string.  However, when the 'verbose' formatting is requested those are
still formatted, as it may help in debugging.

Now the named key fields can also be given in arbitrary order.
Duplicate field values are not checked for, so the last one will
remain in effect.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 53477c2ce01bec227572a8730eede1c16f25d67f
      https://github.com/openvswitch/ovs/commit/53477c2ce01bec227572a8730eede1c16f25d67f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto: Probe for masked set action support.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Reviewed-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d23df9a877d6fdce93634ef3fb6dcbfa35ec9960
      https://github.com/openvswitch/ovs/commit/d23df9a877d6fdce93634ef3fb6dcbfa35ec9960
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/odp-util.c
    M lib/odp-util.h
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofproto-dpif.at
    M tests/tunnel.at

  Log Message:
  -----------
  lib/odp: Use masked set actions.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2c0f0be1e5ebe37acd12d68ed2380ddf4cdddfe0
      https://github.com/openvswitch/ovs/commit/2c0f0be1e5ebe37acd12d68ed2380ddf4cdddfe0
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  lib/odp-util: Fix mapping to Netlink frag mask.

The frag member in the Netlink interface is an uint8_t enumeration
type, not a bitfield, so it should always be either fully masked or
not masked at all.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3cea18ece5bae2cf38bf85febd0ca52daac56723
      https://github.com/openvswitch/ovs/commit/3cea18ece5bae2cf38bf85febd0ca52daac56723
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-09 (Tue, 09 Sep 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  lib/odp-util: Reduce duplicated code.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7d031d7e511aeea8dd45348922fe8e3bbdd2956e
      https://github.com/openvswitch/ovs/commit/7d031d7e511aeea8dd45348922fe8e3bbdd2956e
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Work around Linux netdev_max_backlog limit.

Linux has an internal queue that temporarily holds packets transmitted to
certain network devices.  If too many packets are transmitted to such
network devices within a single list of actions, then packets tend to get
dropped.  Broadcast or flooded or multicast packets on bridges with
thousands of ports are examples of how this can occur.

This commit avoids the problem by implementing a flow in userspace when it
outputs its packet more times than the maximum length of the queue.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Tested-by: Flavio Leitner <fbl at redhat.com>


  Commit: 4f35691d1d26210714d5c6953ee8d5f75b12fffd
      https://github.com/openvswitch/ovs/commit/4f35691d1d26210714d5c6953ee8d5f75b12fffd
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M lib/rconn.c

  Log Message:
  -----------
  rconn: Prevent redefinition of 'MAX_MONITORS' in Windows.

Windows already has a MAX_MONITORS defined in ddeml.h.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: ca98895532de3f672642633a78dcb13d2d283929
      https://github.com/openvswitch/ovs/commit/ca98895532de3f672642633a78dcb13d2d283929
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M datapath-windows/CodingStyle

  Log Message:
  -----------
  datapath-windows: update CodingStyle guideline for variable names

During a review, it seemed that some of the conventions were not clear.
Fixing them in this patch.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Reported-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>


  Commit: 7ac97d76e1dae1f98678cbc491a45005afb92c9c
      https://github.com/openvswitch/ovs/commit/7ac97d76e1dae1f98678cbc491a45005afb92c9c
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M lib/rstp.c

  Log Message:
  -----------
  lib/rstp: Use RSTP_OPER_P2P_MAC_STATE_ENABLED instead of 1.

Signed-off by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: f59200676d46ab907620b7e92cb9c668cc04f0f1
      https://github.com/openvswitch/ovs/commit/f59200676d46ab907620b7e92cb9c668cc04f0f1
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M lib/rstp.c

  Log Message:
  -----------
  lib/rstp: Use ovs_refcount_unref_relaxed.

Access to RSTP and RSTP port objects is protected by a mutex, so the
refcount unref operation can have relaxed memory order semantics (See
commit 24f8381214966e90819bf4a9ecabf076cbfc1b08).

Signed-off by: Daniele Venturino <daniele.venturino at m3s.it>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: d04e914bf29076f7f6d110553bdeb4d6f9b86417
      https://github.com/openvswitch/ovs/commit/d04e914bf29076f7f6d110553bdeb4d6f9b86417
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M lib/rstp-common.h

  Log Message:
  -----------
  lib/rstp-common: Remove double spaces.

Signed-off by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 0bd87945619baeee86b344afd02b1b502fc72542
      https://github.com/openvswitch/ovs/commit/0bd87945619baeee86b344afd02b1b502fc72542
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M vtep/ovs-vtep

  Log Message:
  -----------
  ovs-vtep: Handle physical ports with '-' in its name.

As of now, if a physical port has a '-' in its name, ovs-vtep
throws a ValueError exception. This patch fixes the problem.

Reported-by: Mark Maglana <mmaglana at gmail.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: a54492514d671273a9b4a828b9f623809bb4ee43
      https://github.com/openvswitch/ovs/commit/a54492514d671273a9b4a828b9f623809bb4ee43
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/openvswitch.h

  Log Message:
  -----------
  openvswitch.h: Fix the type of struct ovs_key_nd nd_target field.

Should be the same as other IPv6 address fields.

Current master produces sparse warnings without this change.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2ea824143172e38b4387ef23b8685cebaee21c69
      https://github.com/openvswitch/ovs/commit/2ea824143172e38b4387ef23b8685cebaee21c69
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/ip_tunnels_core.c

  Log Message:
  -----------
  datapath: Backport __ip_select_ident() function

definition of __ip_select_ident() changed in newer kernel and
it is backported to stable kernel, Therefore adding configure
check to detect the new function.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 52a1540a7f0bd88f9fede572a5ac7789b03998c5
      https://github.com/openvswitch/ovs/commit/52a1540a7f0bd88f9fede572a5ac7789b03998c5
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Convert from error number to string correctly.

As mentioned in the comment above the function ovs_strerror(), it
should not be used to convert WINAPI error numbers to string.
Use ovs_lasterror_to_string() instead.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: 648cef14dd6775b38fb7b002d4d187a936bc8b6a
      https://github.com/openvswitch/ovs/commit/648cef14dd6775b38fb7b002d4d187a936bc8b6a
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-09-10 (Wed, 10 Sep 2014)

  Changed paths:
    M datapath/linux/Modules.mk
    A datapath/linux/compat/include/linux/percpu.h

  Log Message:
  -----------
  datapath: Add this_cpu_{read, inc, dec} APIs for backward compatibility

The upstream modules uses this_cpu_xxx APIs. Add those functions for
older kernel (<3.0.0) that does not provide them.

VMware-BZ: #1319082

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 95626395a3dbd91b69af80207d79b3ecab7643c9
      https://github.com/openvswitch/ovs/commit/95626395a3dbd91b69af80207d79b3ecab7643c9
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M Makefile.am
    M acinclude.m4
    M configure.ac
    M m4/openvswitch.m4

  Log Message:
  -----------
  build: Respect CFLAGS and LDFLAGS passed to make

configure cannot expect that the user will not pass additional CFLAGS
and LDFLAGS at make time [0]. Use OVS_CFLAGS and OVS_LDFLAGS instead to
collect compiler and linker flags and substitute in Makefile.am.

This allows for:
./configure --with-dpdk=[...]
make CFLAGS=-Wno-error=foo

[0] http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ecc3c395b5a60af466e573ad8e53619f8d2eec76
      https://github.com/openvswitch/ovs/commit/ecc3c395b5a60af466e573ad8e53619f8d2eec76
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M .travis.yml
    M .travis/build.sh

  Log Message:
  -----------
  travis: Fix DPDK build and treat bad-function-cast warning as non-error

A missing " prevented the DPDK build in the matrix from functioning
so far. This patch enables the DPDK build by properly building DPDK
as a single library and by pointing the OVS build to the corresponding
build directory. Also removes the 'make install' as it is not required
and only slows down the build.

Due to incorrect casts in the DPDK headers, we have to disable
bad-function-cast and cast-align warnings as being treated as errors
for now.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Co-authored-by: Daniele Di Proietto <ddiproietto at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2f4aba0ba6172e210511c9f6cafaac3a2366952e
      https://github.com/openvswitch/ovs/commit/2f4aba0ba6172e210511c9f6cafaac3a2366952e
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  ovs-ofctl: Workaround a compiler warning on MSVC.

MSVC complains about a void function returning a value if there is a
statement of the form - 'return foo()' even if foo() has a void return
type.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5df26bd0e9c91bccd2e12f84fe08dbe37f8de362
      https://github.com/openvswitch/ovs/commit/5df26bd0e9c91bccd2e12f84fe08dbe37f8de362
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M lib/hash.h

  Log Message:
  -----------
  hash.h: Avoid compiler warnings with MSVC.

The lack of 'const' in function declaration causes MSVC to complain
because the function definition uses it.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 48931b58591740da5644a89e7ab75107af3487d8
      https://github.com/openvswitch/ovs/commit/48931b58591740da5644a89e7ab75107af3487d8
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Probe for userdata after backer is fully operational.

When probing for variable length userdata before handler threads are
set, the pid included in the userspace action will be 0, which is
flagged as an error by the linux kernel datapath.  As a result the
feature probe will produce an unnecessary log message.  By probing for
variable length userdata later the probe works as intended and the
unnecessary log message is avoided.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 8ad822c926e081a87ae7e1cb6430b61224d608bc
      https://github.com/openvswitch/ovs/commit/8ad822c926e081a87ae7e1cb6430b61224d608bc
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M ovsdb/ovsdb-server.c
    M tests/ovsdb-server.at

  Log Message:
  -----------
  ovsdb-server: Remove the 'enable-dummy' option.

There is no use case of this option in ovsdb-server.  Also,
it causes dpif-dummy and netdev-dummy module register unrelated
unixctl commands.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 74467d5c885b8a500e0a04c455d6ee405d27bd54
      https://github.com/openvswitch/ovs/commit/74467d5c885b8a500e0a04c455d6ee405d27bd54
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-11 (Thu, 11 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/netdev-dummy.c
    M lib/timeval.c

  Log Message:
  -----------
  unixctl: Make command description all lowercase.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f17e8ad6c6d61db95622872146a4f3706ae47166
      https://github.com/openvswitch/ovs/commit/f17e8ad6c6d61db95622872146a4f3706ae47166
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h
    M lib/cmap.h
    M lib/heap.h
    M lib/hindex.h
    M lib/hmap.h
    M lib/list.h
    M lib/util.h

  Log Message:
  -----------
  Avoid uninitialized variable warnings with OBJECT_OFFSETOF() in MSVC.

Implementation of OBJECT_OFFSETOF() for non-GNUC compilers like MSVC
causes "uninitialized variable" warnings. Since OBJECT_OFFSETOF() is
indirectly used through all the *_FOR_EACH() (through ASSIGN_CONTAINER()
and  OBJECT_CONTAINING()) macros, the OVS build
on Windows gets littered with "uninitialized variable" warnings.
This patch attempts to workaround the problem.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 81e3044c10f543143bea34139aec0ea1ef22f093
      https://github.com/openvswitch/ovs/commit/81e3044c10f543143bea34139aec0ea1ef22f093
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M debian/openvswitch-switch.init

  Log Message:
  -----------
  debian: Don't depened on $RUNLEVEL at startup to create bridges.

Commit b2a0daa5bd (debian: Don't recreate bridges during manual restart.)
added a check on $RUNLEVEL to only create bridges and ports when the
system starts up. This fix does not work with systemd.

This commit uses a different approach to solve the same problem.

Reported-at: https://bugs.debian.org/686518
Reported-by: Philipp S. Schmidt <phils at in-panik.de>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Tested-by: Philipp S. Schmidt <phils at in-panik.de>


  Commit: 402bf087f8b52eee903302f24dc3242c904c87f7
      https://github.com/openvswitch/ovs/commit/402bf087f8b52eee903302f24dc3242c904c87f7
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/NetlinkBuf.h

  Log Message:
  -----------
  datapath-windows/NetlinkBuf.h: Added NlBufSize

Added an inline function to return used size in the buffer.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 988672a76f4057529f7378b12f71a6a5816dbb57
      https://github.com/openvswitch/ovs/commit/988672a76f4057529f7378b12f71a6a5816dbb57
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows/Netlink: Nested attributes put/parse.

Added APIs for creating and parsing nested netlink attributes.
APIs are on similar lines as userspace netlink code.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b8f958eaf355c48aaa659b50d5f39d7f0f509436
      https://github.com/openvswitch/ovs/commit/b8f958eaf355c48aaa659b50d5f39d7f0f509436
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M lib/netlink-socket.c

  Log Message:
  -----------
  Netlink_socket.c Join/Unjoin an MC group for event subscription

Use a specific out of band device control to subscribe/unsubscribe a socket
to the driver event queue for notification.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Saurabh Shah <ssaurabh at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9c7e020fd60baa98528bd202caeb9e908b036216
      https://github.com/openvswitch/ovs/commit/9c7e020fd60baa98528bd202caeb9e908b036216
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M lib/ovs-rcu.c

  Log Message:
  -----------
  ovs-rcu: Make ovsrcu_quiesce() flush the callback event set.

On current master, the per-thread callback event set is flushed
when ovsrcu_quiesce_start() is called or when the callback
event set is full.  For threads that only call 'ovsrcu_quiesce()'
to indicate quiescient state, their callback event set will not
be flushed for execution until the set is full.  And this could
take a very long time.

Theoretically, this should not be an issue, since rcu postponed
callback events should only free the old version of objects.
However, current ovs does not follow this rule, and some callback
events include other activities like unregistering the netdev
from global name-netdev map.  The delay of unregistering the netdev
(by threads that only calls ovsrcu_quiesce()) will prevent the
recreate of same netdev indefinitely.

As a short-term workaround, this commit makes every call to
ovsrcu_quiesce() flush the callback event set.  In the long run,
there will be a refactor of the use of ovs-rcu module, in which all
callback events only free the old version of objects.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7dec44fe1ccdbdd1e42d373124625cb95089abff
      https://github.com/openvswitch/ovs/commit/7dec44fe1ccdbdd1e42d373124625cb95089abff
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/netdev-provider.h
    M lib/netdev-vport.c
    M lib/netdev.c
    M lib/netdev.h

  Log Message:
  -----------
  netdev: Add function for getting the numa node id of netdev.

This commit adds a new API to the 'struct netdev_class' which
allows user to query the numa node id the 'netdev' is on.

Currently, only netdev-dpdk module implements this function.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: f00fa8cbad76343bd12c1ee670383231c98b8684
      https://github.com/openvswitch/ovs/commit/f00fa8cbad76343bd12c1ee670383231c98b8684
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif-netdev.h
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/netdev-provider.h
    M lib/netdev.c
    M lib/netdev.h

  Log Message:
  -----------
  netdev: Add n_txq to 'struct netdev'.

This commit adds new variable n_txq to 'struct netdev' for recording
the number of tx queues.  Correspondingly, the send_*() functions are
extended to accept queue id as input argument.

All 'netdev-*' implementation will ignore the queue id since having
multiple tx queues is not supported.  Upcomping patches will start
using it and create multiple tx queues for dpdk netdev.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: bc36fcd3d39a674262a3ea632c29b9f2ea7a7415
      https://github.com/openvswitch/ovs/commit/bc36fcd3d39a674262a3ea632c29b9f2ea7a7415
  Author: Andreea-Cristina Bernat <bernat.ada at gmail.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath/flow.c
    M datapath/linux/compat/include/linux/rcupdate.h

  Log Message:
  -----------
  datapath: Replace rcu_dereference() with rcu_access_pointer()

The "rcu_dereference()" call is used directly in a condition.
Since its return value is never dereferenced it is recommended to use
"rcu_access_pointer()" instead of "rcu_dereference()".
Therefore, this patch makes the replacement.

The following Coccinelle semantic patch was used:
@@
@@

(
 if(
 (<+...
- rcu_dereference
+ rcu_access_pointer
  (...)
  ...+>)) {...}
|
 while(
 (<+...
- rcu_dereference
+ rcu_access_pointer
  (...)
  ...+>)) {...}
)

Signed-off-by: Andreea-Cristina Bernat <bernat.ada at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 49f24f6dc62eebef2d68f265400c8989dcfdf097
      https://github.com/openvswitch/ovs/commit/49f24f6dc62eebef2d68f265400c8989dcfdf097
  Author: Jean Sacren <sakiwit at gmail.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: fix duplicate #include headers

The #include headers net/genetlink.h and linux/genetlink.h both were
included twice, so delete each of the duplicate.

Signed-off-by: Jean Sacren <sakiwit at gmail.com>
Cc: Pravin Shelar <pshelar at nicira.com>
Cc: dev at openvswitch.org
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a6ddcc9a1b1779b606896e37e2e3187195adfe9f
      https://github.com/openvswitch/ovs/commit/a6ddcc9a1b1779b606896e37e2e3187195adfe9f
  Author: Himangi Saraogi <himangi774 at gmail.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Use IS_ERR_OR_NULL

This patch introduces the use of the macro IS_ERR_OR_NULL in place of
tests for NULL and IS_ERR.

The following Coccinelle semantic patch was used for making the change:

@@
expression e;
@@

- e == NULL || IS_ERR(e)
+ IS_ERR_OR_NULL(e)
 || ...

Signed-off-by: Himangi Saraogi <himangi774 at gmail.com>
Acked-by: Julia Lawall <julia.lawall at lip6.fr>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: 08fb1bbdcc9f63478fc96c732fb7a447c4f628f7
      https://github.com/openvswitch/ovs/commit/08fb1bbdcc9f63478fc96c732fb7a447c4f628f7
  Author: WANG Cong <xiyou.wangcong at gmail.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath/datapath.c
    M datapath/linux/compat/include/linux/netdevice.h
    M datapath/vport.c

  Log Message:
  -----------
  datapath: introduce netdev_alloc_pcpu_stats() for drivers

There are many drivers calling alloc_percpu() to allocate pcpu stats
and then initializing ->syncp. So just introduce a helper function for them.

Cc: David S. Miller <davem at davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b81deb156df3ec7289b0a8a69a46d3075826296c
      https://github.com/openvswitch/ovs/commit/b81deb156df3ec7289b0a8a69a46d3075826296c
  Author: WANG Cong <xiyou.wangcong at gmail.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M datapath/datapath.c
    M datapath/datapath.h

  Log Message:
  -----------
  openvswitch: rename ->sync to ->syncp

Openvswitch defines u64_stats_sync as ->sync rather than ->syncp,
so fails to compile with netdev_alloc_pcpu_stats(). So just rename it to ->syncp.

Reported-by: kbuild test robot <fengguang.wu at intel.com>
Fixes: 1c213bd24ad04f4430031 (net: introduce netdev_alloc_pcpu_stats() for drivers)
Cc: David S. Miller <davem at davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
Reviewed-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 4303ec34696f586e41549f935a5f58f7798525f6
      https://github.com/openvswitch/ovs/commit/4303ec34696f586e41549f935a5f58f7798525f6
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-12 (Fri, 12 Sep 2014)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/linux/err.h

  Log Message:
  -----------
  datapath: Add IS_ERR_OR_NULL for backward compatibility.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b2a4692c1ce4717ee76660c80614f9ff94da1098
      https://github.com/openvswitch/ovs/commit/b2a4692c1ce4717ee76660c80614f9ff94da1098
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M ofproto/ofproto.h

  Log Message:
  -----------
  ofproto: Increase default datapath max_idle time.

The datapath max_idle value determines how long to wait before deleting
an idle datapath flow when operating below the flow_limit. This patch
increases the max_idle to 10 seconds, which allows datapath flows to be
remain cached even if they are used less consistently, and provides a
small improvement in the supported number of flows when operating around
the flow_limit.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>


  Commit: 3bacde2a1f5dd3bc4dcb81d1a8daf48fbfcb34c9
      https://github.com/openvswitch/ovs/commit/3bacde2a1f5dd3bc4dcb81d1a8daf48fbfcb34c9
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M utilities/ovs-dev.py

  Log Message:
  -----------
  ovs-dev.py: do not pass --enable-dummy to ovsdb

--enable-dummy was useless anyway for ovsdb-server. Now it is an error to pass
it.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: 00e01dd48c6eb88dafc8e8bb318baa5ad0b536d7
      https://github.com/openvswitch/ovs/commit/00e01dd48c6eb88dafc8e8bb318baa5ad0b536d7
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M acinclude.m4
    M datapath/linux/Modules.mk
    R datapath/linux/compat/include/asm/percpu.h
    M datapath/linux/compat/include/linux/percpu.h

  Log Message:
  -----------
  datapath: Improve robustness of this_cpu_ptr definition in compat layer

Current autoconfig detection logic for HAVE_PER_CPU_PTR is not robust.
Depends on linux kernel version, the definition can be in either
linux/percpu.h or asm/percpu.h

Turns out it is simpler and safer to handle missing percpu.h
definitions in linux/percpu.h rather than asm/percpu.h. With this
change, there is no need for the autoconfig detection logic above.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2f9dd77fcd172e2870d737ede67970836db3eb14
      https://github.com/openvswitch/ovs/commit/2f9dd77fcd172e2870d737ede67970836db3eb14
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M NEWS
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/netdev-provider.h
    M lib/netdev-vport.c
    M lib/netdev.c
    M lib/netdev.h
    M ofproto/bond.c
    M ofproto/bond.h
    M vswitchd/bridge.c

  Log Message:
  -----------
  ofproto: Do not update stats on fake bond interface.

There are couple of reasons to remove this support:
*   This is used in very old OVS use-case. It is much better
    to read stats directly from OVS.
*   Forthcoming commit will remove support for setting stats
    for vport. The stats update depends on stats-set.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5496878cbf52f3819601f7bd925adc06890add9d
      https://github.com/openvswitch/ovs/commit/5496878cbf52f3819601f7bd925adc06890add9d
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/netdev-provider.h
    M lib/netdev-vport.c
    M lib/netdev.c
    M lib/netdev.h

  Log Message:
  -----------
  netdev: Add function for configuring tx and rx queues.

This commit adds a new API to the 'struct netdev_class' which
allows user to configure the number of tx queues and rx queues
of 'netdev'.  Upcoming patches will use this function to set
multiple tx/rx queues when adding the netdev to dpif-netdev.

Currently, only netdev-dpdk module implements this function.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 5a0340647741260c5cc87327e84a13cb851bb1b4
      https://github.com/openvswitch/ovs/commit/5a0340647741260c5cc87327e84a13cb851bb1b4
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  dpif-netdev: Create multiple tx/rx queues when adding dpdk interface.

Before this commit, ovs creates one tx and one rx queue for
each dpdk interface and uses only one poll thread for handling
I/O of all dpdk interfaces.  An upcoming patch will allow multiple
poll threads be created.  As a preparation, this commit changes
the dpif-netdev to create multiple tx/rx queues when the dpdk
interface is added.

Specifically, the number of rx queues will still be one per-dpdk
interface for this commit.  But upcoming work will allow user
create multiple rx queues.  The number of tx queues will be the
number of cpu cores on the machine.  Although not all the tx queues
will be used, each poll thread will have its own queue for
transmission on the dpdk interface.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 94143fc41e7a0a136f2ef9aa9f5126eca83c3ac0
      https://github.com/openvswitch/ovs/commit/94143fc41e7a0a136f2ef9aa9f5126eca83c3ac0
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Add indicator for flushing tx queue.

Previous commit makes OVS create one tx queue for each cpu
core.  An upcoming patch will allow multiple pmd threads be
created and pinned to cpu cores.  So each pmd thread will use
the tx queue corresponding to its core id.

Moreover, the pmd threads running on different numa node than
the dpdk interface (called non-local pmd thread) will not
handle the rx of the interface.  Consequently, there need to
be a way to flush the tx queues of the non-local pmd threads.

To address the queue flushing issue, this commit introduces a
new flag 'flush_tx' in the 'struct dpdk_tx_queue' which is
set if the queue is to be used by a non-local pmd thread.
Then, when enqueueing the tx pkts, if the flag is set, the tx
queue will always be flushed immediately after the enqueue.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 95a596e3d9137cd482eb23719a10890d0863ef41
      https://github.com/openvswitch/ovs/commit/95a596e3d9137cd482eb23719a10890d0863ef41
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Remove the tx queue spinlock.

The previous commit makes OVS create one tx queue for each
cpu core, each pmd thread will use a separate tx queue.
Also, tx of non-pmd threads on dpdk interface is all through
'NON_PMD_THREAD_TX_QUEUE', protected by the 'nonpmd_mempool_mutex'.
Therefore, the spinlock is no longer needed.  And this commit
removes it from 'struct dpdk_tx_queue'.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 65f13b50c5aaa9afaef397ee8252647f1ef1688d
      https://github.com/openvswitch/ovs/commit/65f13b50c5aaa9afaef397ee8252647f1ef1688d
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif-netdev.h
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  dpif-netdev: Create multiple pmd threads by default.

With this commit, ovs by default will create one pmd thread
for each numa node and pin the pmd thread to available cpu
core on the numa node.

NON_PMD_CORE_ID (currently 0) is used to reserve a particular
cpu core for the I/O of all non-pmd threads.  No pmd thread
can be pinned to this reserved core.

As side-effects of this commit:

-  pmd thread will not be created, if there is no dpdk interface
   from the corresponding numa node added to ovs.

- the exact-match cache for non-pmd threads is removed from
  'struct dp_netdev'.  Instead, all non-pmd threads will use
  the exact-match cache defined in the 'struct dp_netdev_pmd_thread'
  for NON_PMD_CORE_ID.

- the rx packet processing functions are refactored to use
  'struct dp_netdev_pmd_thread' as input.

- the 'netdev_send()' function will be called with the proper
  queue id.

- both pmd and non-pmd threads can call the dpif_netdev_execute().
  so, use a per-thread key to help recognize the calling thread.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 476590621ec194c73b235ca5db15fa5e9bf50976
      https://github.com/openvswitch/ovs/commit/476590621ec194c73b235ca5db15fa5e9bf50976
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Make get_config() report correct queue info.

With the separation of tx queue and rx queue configuration
in netdev-dpdk module, the netdev_dpdk_get_config() can no
longer report 'n_rxq' as tx queue configuration.

This commit fixes the above issue.

Reported-by: Daniele Di Proietto <ddiproietto at vmware.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: b7ccaf673e7669499155ccf2cacdfeb9971417b7
      https://github.com/openvswitch/ovs/commit/b7ccaf673e7669499155ccf2cacdfeb9971417b7
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix thread-safety breach.

dpdk_eth_dev_init() must be called with dpdk_mutex.  However,
netdev_dpdk_set_multiq() fails to follow this rule.  This commit
fixes this breach.

Found by clang.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: b816a953da5937a63f8d62af9317b92953d9c24f
      https://github.com/openvswitch/ovs/commit/b816a953da5937a63f8d62af9317b92953d9c24f
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/ovs-atomic-msvc.h

  Log Message:
  -----------
  ovs-atomic-msvc: Disable a compiler warning.

MSVC does not support c11 style atomics for the C compiler.
Windows has different InterLocked* functions for different data
sizes.  ovs-atomic-msvc.h maps the api in ovs-atomic.h (which is similar
to c11 atomics) to the available atomic functions in Windows. In some
cases, this causes compiler warnings about mismatched data sizes because
the generated code has 'if else' conditions on different data sizes and
proper casting is not possible.

In current OVS code base, we get one compiler warning through ovs-rcu.h
which says "‘void *’ differs in levels of indirection from LONGLONG."
This comes from the following in ovs-atomic-msvc.h for atomic_read64():
*(DST) = InterlockedOr64((int64_t volatile *) (SRC), 0);
when *DST is a void pointer (because InterLockedOr64 returns LONGLONG).
But this code path is only every hit for 64 bit data. So it should be safe to
disable the warning. (Any real bugs in api calls would hopefully be caught
while compiling on Linux using gcc/clang).

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>


  Commit: 355ead69010c123475a9d2ade23b1cc667d868cb
      https://github.com/openvswitch/ovs/commit/355ead69010c123475a9d2ade23b1cc667d868cb
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/ofp-actions.c
    M ovsdb/query.c

  Log Message:
  -----------
  Fix remaining "void function returning a value" warning by MSVC.

MSVC complains about a void function returning a value if there is a
statement of the form - 'return foo()' even if foo() has a void return
type.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d72eff6cec01187d9b6b0f8befdbdec0943e6012
      https://github.com/openvswitch/ovs/commit/d72eff6cec01187d9b6b0f8befdbdec0943e6012
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c
    M tests/test-cmap.c

  Log Message:
  -----------
  Fix remaining "uninitialized local variable" used warning by MSVC.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 270f328621bfd8f80659150d5d3eec51754b5bfb
      https://github.com/openvswitch/ovs/commit/270f328621bfd8f80659150d5d3eec51754b5bfb
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-15 (Mon, 15 Sep 2014)

  Changed paths:
    M lib/compiler.h
    M lib/stream-nossl.c
    M lib/util.h
    M lib/vlog.h
    M ovsdb/ovsdb-client.c
    M ovsdb/ovsdb-server.c
    M ovsdb/ovsdb-tool.c
    M tests/test-jsonrpc.c
    M tests/test-netflow.c
    M tests/test-ovsdb.c
    M tests/test-rstp.c
    M tests/test-sflow.c
    M tests/test-stp.c
    M utilities/ovs-dpctl.c
    M utilities/ovs-ofctl.c
    M utilities/ovs-testcontroller.c
    M utilities/ovs-vsctl.c
    M vswitchd/ovs-vswitchd.c
    M vswitchd/system-stats.c
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  compiler: Define NO_RETURN for MSVC.

To prevent warnings such as "Not all control paths return a value",
we should define NO_RETURN for MSVC.

Currently for gcc, we add NO_RETURN at the end of function declaration.
But for MSVC, "__declspec(noreturn)" is needed at the beginning of function
declaration. So this commit moves NO_RETURN to the beginning of the function
declaration as it works with gcc and clang too.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5e2a670201c936e0a1f8257f4540654f8b8bfed2
      https://github.com/openvswitch/ovs/commit/5e2a670201c936e0a1f8257f4540654f8b8bfed2
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Suppress some warnings on non-Linux OSes

These warnings were introduced by
commit 7d031d7e511aeea8dd45348922fe8e3bbdd2956e
("ofproto-dpif-xlate: Work around Linux netdev_max_backlog limit.")
and found by --enable-Werror build on NetBSD.

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 884c477fa87ee42f46937160caa35f3f983fe35c
      https://github.com/openvswitch/ovs/commit/884c477fa87ee42f46937160caa35f3f983fe35c
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/NetlinkBuf.c

  Log Message:
  -----------
  datapath-windows: fix bug in NlBufCopyAtTailUninit

We should be returning value of tail before the increment
and not after.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3245c4986b9396b130e42fbb7fe72e53733c1d53
      https://github.com/openvswitch/ovs/commit/3245c4986b9396b130e42fbb7fe72e53733c1d53
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: use the Netlink set API and need new APIs

In this change:
1. we refactor the code that fills up information about the DP into
a seprate function.
2. use the netlink set APIs to fill up the netlink attributes.
3. we define a OVS_DP_STATS to be a typedef of 'struct ovs_dp_stats'
in keeping with the Windows kernel naming conventions.
4. In the absence of netlink set API, I had put in an ASSERT earlier
that the output buffer should be limited to 512 bytes. This is not
true anymore. The netlink set API checks for bounds of the buffer.
Hence removed the ASSERT.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1bcf46c62e6db4786d667b495a979381eb40680e
      https://github.com/openvswitch/ovs/commit/1bcf46c62e6db4786d667b495a979381eb40680e
  Author: Ethan Jackson <ethan at nicira.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M utilities/ovs-dev.py

  Log Message:
  -----------
  ovs-dev.py: Support additional optimization flags.

They may or may not make a difference, but there's no reason not to
support passing them.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: 97695cf7e677a0ccace2904b252e40924f18d9ac
      https://github.com/openvswitch/ovs/commit/97695cf7e677a0ccace2904b252e40924f18d9ac
  Author: Ethan Jackson <ethan at nicira.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M utilities/ovs-dev.py

  Log Message:
  -----------
  ovs-dev.py: Support running the clang binaries.

They have slightly different support characteristics, so it's nice to
easily switch between them for testing.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: 5ab37d7a6c9bf87e21a284b8f7cefb78869dd4f7
      https://github.com/openvswitch/ovs/commit/5ab37d7a6c9bf87e21a284b8f7cefb78869dd4f7
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows/Netlink: Added support for variable length attributes in validation.

Added minor fix for allowing support for variable lenghth attributes in
parsing policy.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8722e8f3b9d7534467be27e268f8b9d54d3fc80b
      https://github.com/openvswitch/ovs/commit/8722e8f3b9d7534467be27e268f8b9d54d3fc80b
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows: Add support for getting 64 and 16 bit attributes.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: cd002ede5129daa6c0a8b8b647bafa4ff96042e7
      https://github.com/openvswitch/ovs/commit/cd002ede5129daa6c0a8b8b647bafa4ff96042e7
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows/Netlink: Add optional flag in policy.

Added the optional flag in policy structure. This would allow
caller to avoid checks for mandatory attributes if parsing
succeeds.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 16194afdafe84c14cb6fc1311fe20624a04fe8ad
      https://github.com/openvswitch/ovs/commit/16194afdafe84c14cb6fc1311fe20624a04fe8ad
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-09-17 (Wed, 17 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M tests/classifier.at
    M tests/dpif-netdev.at
    M tests/ofproto-dpif.at
    M tests/tunnel.at

  Log Message:
  -----------
  ofproto-dpif-xlate: Wildcard skb_priority if QoS is disabled

This optimization should give a small performance benefit to the userspace
datapath.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 79df317f0b3e31212d62d1af7b0dcbb2b908075d
      https://github.com/openvswitch/ovs/commit/79df317f0b3e31212d62d1af7b0dcbb2b908075d
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-09-17 (Wed, 17 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Introduce netdev_flow_key_* functions

netdev_flow_key is a miniflow with the following constraints:

1) It is used only inside dpif-netdev.c.
2) It always has inline values.
3) It contains only miniflows created by miniflow_extract().

Therefore, by using these new functions instead of the miniflow_*
ones, we get the following (performance related) benefits:

- Because of (1) the functions can be inlined.
- Because of (2) and (3) the netdev_flow_key can be treated as POD.
  Specifically, because of (3), we can do comparisons with memcmp,
  since if the map is different the miniflow must be different.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 0023a1cb45400262820cc69c9dbd15fc8a95eb48
      https://github.com/openvswitch/ovs/commit/0023a1cb45400262820cc69c9dbd15fc8a95eb48
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-09-17 (Wed, 17 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Store miniflow length in exact match cache

This optimization is done to avoid calling count_1bits(), which, if
the popcnt istruction is not available might is slow. popcnt may not
be available because:

- We are running on old hardware
- (more likely) We're using a generic build (i.e. packaged OVS from a
  distro), not tuned for the specific CPU

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 1a9bb326d8411ec97adc0f34020efca09caf14c4
      https://github.com/openvswitch/ovs/commit/1a9bb326d8411ec97adc0f34020efca09caf14c4
  Author: Ethan Jackson <ethan at nicira.com>
  Date:   2014-09-17 (Wed, 17 Sep 2014)

  Changed paths:
    M ofproto/ofproto.c

  Log Message:
  -----------
  ofproto: Warn about excessive rule counts in OpenFlow tables.

Frequently we've run into controller bugs which result in hundreds of
thousands, or even millions of rules being installed in an OpenFlow
table.  This isn't something trouble-shooters naturally think of to
check for, so it's nice to have a low rate warning message to hint at
the potential problem.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 93451a0a81b40c480115abd8739c1582e6b49a9c
      https://github.com/openvswitch/ovs/commit/93451a0a81b40c480115abd8739c1582e6b49a9c
  Author: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-09-18 (Thu, 18 Sep 2014)

  Changed paths:
    M PORTING
    M lib/automake.mk
    R lib/dpif-linux.c
    R lib/dpif-linux.h
    A lib/dpif-netlink.c
    A lib/dpif-netlink.h
    M lib/dpif-provider.h
    M lib/dpif.c
    M lib/flow.h
    M lib/netdev-linux.c
    M lib/netdev-vport.h

  Log Message:
  -----------
  dpif-linux: Rename dpif-netlink; change to compile with MSVC.

The patch contains the necessary modifications to compile and also to run
under MSVC.

Added the files to the build system and also changed dpif_linux to be under
a more generic name dpif_windows.

Added a TODO under the windows part in case we want to implement another
counterpart for epoll functions.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7f9381db10823b995e57e5c8da57ece8c8e8cf99
      https://github.com/openvswitch/ovs/commit/7f9381db10823b995e57e5c8da57ece8c8e8cf99
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-09-18 (Thu, 18 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: NetLink kernel side, Event subscription and notification

This code handles an event notification subscription for a user mode thread
which joins an MC group. The event wait handler queues an IRP which is
completed upon change in a port state.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>


  Commit: 2654cc338bfb413a6295078e3a7a8e1d4f67cbcc
      https://github.com/openvswitch/ovs/commit/2654cc338bfb413a6295078e3a7a8e1d4f67cbcc
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-18 (Thu, 18 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Pass queue id to dpdk_do_tx_copy().

Since dpdk_do_tx_copy() will be called by both pmd and
non-pmd thread, it should take the queue id as input.
The current ovs always uses NON_PMD_THREAD_TX_QUEUE
as queue id, which causes unprotected multi-access
to the same queue.

This commit fixes the issue by passing the queue id
to dpdk_do_tx_copy().

Reported-by: Ethan Jackson <ethan at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: dd63a57e55daddccbbd4f0bedfdc86b6827b6b1a
      https://github.com/openvswitch/ovs/commit/dd63a57e55daddccbbd4f0bedfdc86b6827b6b1a
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M FAQ

  Log Message:
  -----------
  FAQ: Add an entry about reconfiguration

It seems that the behaviour is not so intuitive.
cf. https://bugs.launchpad.net/neutron/+bug/1346861

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7494dca865b6f8e22057d4996e718223665b9f01
      https://github.com/openvswitch/ovs/commit/7494dca865b6f8e22057d4996e718223665b9f01
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M FAQ

  Log Message:
  -----------
  FAQ: Fix a newline problem

Fix a newline problem in commit dd63a57e55daddccbbd4f0bedfdc86b6827b6b1a
("FAQ: Add an entry about reconfiguration")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 8827798536e4d6076572558b46661c0a70ff432b
      https://github.com/openvswitch/ovs/commit/8827798536e4d6076572558b46661c0a70ff432b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/coverage.h

  Log Message:
  -----------
  coverage: Remove unused macro.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: ba0358a1186c461b74271eca41738c0a4a80a734
      https://github.com/openvswitch/ovs/commit/ba0358a1186c461b74271eca41738c0a4a80a734
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix a typo.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: 91968eb09670ece332eee88915f401fdc2450a8a
      https://github.com/openvswitch/ovs/commit/91968eb09670ece332eee88915f401fdc2450a8a
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix a bug in netdev_dpdk_set_multiq().

Commit 5a0340 (dpif-netdev: Create multiple tx/rx queues when
adding dpdk interface.) introduced a bug which causes the function
netdev_dpdk_set_multiq() never resetting the tx queues.  This bug
could cause pmd thread accessing unassigned memory, resulting in
segfault.

This commit fixes the bug.

Reported-by: Ethan Jackson <ethan at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: aeef71935fa74f3e9096dcc5e2154475f1bbc81f
      https://github.com/openvswitch/ovs/commit/aeef71935fa74f3e9096dcc5e2154475f1bbc81f
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M .travis/build.sh

  Log Message:
  -----------
  travis: Include testsuite.log on failure.

Acked-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 95c9bfd45cbcbfbba8c004a3227656e46fe3d872
      https://github.com/openvswitch/ovs/commit/95c9bfd45cbcbfbba8c004a3227656e46fe3d872
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M .travis/build.sh

  Log Message:
  -----------
  travis: Allow testsuite to run with GCC or Clang.

I don't see why the testsuite is supported only with GCC.

Acked-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: db8823415f79d09297843558d4a3f962d1937b3c
      https://github.com/openvswitch/ovs/commit/db8823415f79d09297843558d4a3f962d1937b3c
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c

  Log Message:
  -----------
  datapath-windows: return TRUE on success in NlAttrValidate

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 824c061a995d8bbcb3c78c750ebbae6859660998
      https://github.com/openvswitch/ovs/commit/824c061a995d8bbcb3c78c750ebbae6859660998
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Util.c
    M datapath-windows/ovsext/Util.h

  Log Message:
  -----------
  datapath-windows: add OvsCompareString() to compare strings

In this patch we implement a utility function to compare ANSI
strings using the Rtl* functions. As much as possible, in an
NDIS driver, we stick to Rtl* functions for memory/string
manipulation.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0fd22ae2a256065985adeca650340a8f42e595cb
      https://github.com/openvswitch/ovs/commit/0fd22ae2a256065985adeca650340a8f42e595cb
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  lib/netlink-socket.c: add support for nl_transact() on Windows

In this patch, we add support for nl_transact() on Windows using
the OVS_IOCTL_TRANSACT ioctl that sends down the request and gets
the reply in the same call to the kernel.

This is obviously a digression from the way it is implemented in
Linux where all the sends are done at once using sendmsg() and
replies are received one at a time.

Initial implementation was in the Linux way using multiple writes
followed by reads, but decided against it since it is not efficient
and also it complicates the state machine in the kernel.

The Windows implementation has equivalent code for handling corner
cases and error coditions similar to Linux. Some of it is not
applicable yet. Eg. the Windows kernel does not embed an error
in the netlink message itself. There's userspace code nevertheless
for this.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f92156ae2c86cf1b7c2076f2bca88b6fa10ec632
      https://github.com/openvswitch/ovs/commit/f92156ae2c86cf1b7c2076f2bca88b6fa10ec632
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M build-aux/extract-odp-netlink-windows-dp-h

  Log Message:
  -----------
  extract-odp-netlink-windows-dp-h: add definition of IFNAMSIZ

The Windows kernel datapath needs the definition of 'IFNAMSIZ' for
specifying attribute sizes in netlink policies. Adding the definition
of 'IFNAMSIZ' to be part of OvsDpInterface.h similar to ETH_ADDR_LEN.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d1d4a511584f4f8a558547f2a337e650ce5003cc
      https://github.com/openvswitch/ovs/commit/d1d4a511584f4f8a558547f2a337e650ce5003cc
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: add OVS_DP_CMD_SET and OVS_DP_CMD_GET transaction support

In this patch, we add support for two commands, both of them are issued
as part of transactions semantics from userspace:
1. OVS_DP_CMD_SET is used to get the properties of a DP as well as set
some properties. The set operations does not seem to make much sense for
the Windows datpath right now.
2. There's already support for OVS_DP_CMD_GET command issued via the
dump semantics from userspace. Turns out that userspace can issue
OVS_DP_CMD_GET as a transaction.

There's lot of common code between these two commands. Hence combining
the implementation and the review.

Also refactories some of the code in the implementation of dump-based
OVS_DP_CMD_GET, and updated some of the comments.

Validation:
- With these series of patches, I was able to run the following command:
> .\utilities\ovs-dpctl.exe show
system at ovs-system:
    lookups: hit:0 missed:22 lost:0
    flows: 0
- I got so far as to hit the PORT_DUMP command which is currently not
implemented.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/38
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7fe9859822bef919b111b37b5cee1111d2ca9d85
      https://github.com/openvswitch/ovs/commit/7fe9859822bef919b111b37b5cee1111d2ca9d85
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/dpif-netlink.c

  Log Message:
  -----------
  dpif-netlink: rename linux_flow variable to datapath_flow

In the flow related functions, there's a stack variable called
'linux_flow'. Since this code is not specific to Linux anymore,
in this patch, we rename the variable to 'datpath_flow'.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8db2f898d515b78e0fabf1c0837f9b3064c768e5
      https://github.com/openvswitch/ovs/commit/8db2f898d515b78e0fabf1c0837f9b3064c768e5
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/ovs-numa.c
    M lib/ovs-numa.h

  Log Message:
  -----------
  ovs-numa: Add support for cpu-mask configuration.

This commit adds support in ovs-numa module for reading a user
specified cpu mask, which configures the availability of the cores.

The cpu mask has the format of a hex string similar to the EAL '-c
COREMASK' option input or the 'taskset' mask input.  The lowest order
bit corresponds to the first CPU core.  Bit value '1' means the
corresponding core is available.

An upcoming patch will allow user to configure the mask via OVSDB.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: f2eee189118139995d61468cecb85654dd45bb36
      https://github.com/openvswitch/ovs/commit/f2eee189118139995d61468cecb85654dd45bb36
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif-provider.h
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M ofproto/ofproto.h
    M vswitchd/bridge.c
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  dpif-netdev: Allow multi-rx-queue, multi-pmd-thread configuration.

This commits adds the multithreading functionality to OVS dpdk
module.  Users are able to create multiple pmd threads and set
their cpu affinity via specifying the cpu mask string similar
to the EAL '-c COREMASK' option.

Also, the number of rx queues for each dpdk interface is made
configurable to help distribution of rx packets among multiple
pmd threads.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 9ff33ca75e9fccdcfd392a7431a6ccc0732c21f1
      https://github.com/openvswitch/ovs/commit/9ff33ca75e9fccdcfd392a7431a6ccc0732c21f1
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M AUTHORS
    M NEWS
    M utilities/ovs-pki.in

  Log Message:
  -----------
  ovs-pki: Use SHA-512 instead of MD5 as message digest.

This fixes numerous testsuite failures of the form "SSL_connect:
error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
digest algorithm" on systems that disable MD5 in OpenSSL.  Centos 7 is one
example.  Presumably it increase security as well for anyone who generates
certificates based on a new configuration created by the new ovs-pki.

Reported-by: Robert Strickler <anomalyst at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ac8c20812b88c4aae7a002420f54d1333e27f784
      https://github.com/openvswitch/ovs/commit/ac8c20812b88c4aae7a002420f54d1333e27f784
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-09-19 (Fri, 19 Sep 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Fix (packet) memory leaks in the slow path.

If a packet didn't match a rule in the fast path classifier its memory was
never freed. The issue was particularly clear with DPDK devices because it was
not possible to process more than ~250000 DPDK mbufs in the slow path.

This commit fixes the problem by:
* calling dpif_packet_delete() if the upcalls are disabled
* passing may_steal==true to dp_netdev_execute_actions() during normal upcall
  processing

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: c981665a3d6cd0a2e60cf08f6a34691ba9e8f314
      https://github.com/openvswitch/ovs/commit/c981665a3d6cd0a2e60cf08f6a34691ba9e8f314
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M datapath/datapath.c
    M datapath/vport.c
    M datapath/vport.h

  Log Message:
  -----------
  datapath: Remove support to set vport stats.

This was required for old compatibility code which update stats
on fake bond interface. Now vswitchd has dropped it. This
support was always deprecated, so finally removing it.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: f3e54aa79279898834f1ac3c5fc45cd1286a18d3
      https://github.com/openvswitch/ovs/commit/f3e54aa79279898834f1ac3c5fc45cd1286a18d3
  Author: Li RongQing <roy.qing.li at gmail.com>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M datapath/vport.c
    M datapath/vport.h

  Log Message:
  -----------
  datapath: change the data type of error status to atomic_long_t

Change the date type of error status from u64 to atomic_long_t, and use atomic
operation, then remove the lock which is used to protect the error status.

The operation of atomic maybe faster than spin lock.

Cc: Pravin Shelar <pshelar at nicira.com>
Signed-off-by: Li RongQing <roy.qing.li at gmail.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 3b2bbceb56ce4bbc679a31a0877e396db2c845d9
      https://github.com/openvswitch/ovs/commit/3b2bbceb56ce4bbc679a31a0877e396db2c845d9
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/netdevice.h

  Log Message:
  -----------
  datapath: fix sparse warning.

datapath/linux/datapath.c:1418:28: warning: symbol
'i' shadows an earlier one
datapath/linux/datapath.c:1396:18: originally declared here

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: f6a0c895fcece5bdf538f3f0afc13275c062b4d6
      https://github.com/openvswitch/ovs/commit/f6a0c895fcece5bdf538f3f0afc13275c062b4d6
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M .travis.yml
    M .travis/build.sh
    M acinclude.m4
    M datapath/linux/Modules.mk
    M datapath/linux/compat/include/linux/if.h
    M datapath/linux/compat/include/linux/netdevice.h
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/include/net/ip_tunnels.h
    A datapath/linux/compat/include/net/udp.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/ip_tunnels_core.c
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c
    M datapath/vport-gre.c
    M datapath/vport-internal_dev.c
    M datapath/vport-lisp.c
    M datapath/vport-netdev.c
    M datapath/vport-vxlan.c

  Log Message:
  -----------
  datapath: Provide compatibility for kernels up to 3.17

Port datapath to work with kernrels up to 3.17 and use 3.16.2 as
the new kernel for CI testing.

Tested with 3.14, 3.16.2, and net-next (3.17).

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Co-authored-by: Madhu Challa <challa at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 114fce23a7f1c48c6bd63e75ef698698c4103c97
      https://github.com/openvswitch/ovs/commit/114fce23a7f1c48c6bd63e75ef698698c4103c97
  Author: Samuel Gauthier <samuel.gauthier at 6wind.com>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M acinclude.m4
    M datapath/datapath.c
    M datapath/linux/compat/include/net/genetlink.h

  Log Message:
  -----------
  datapath: restore OVS_FLOW_CMD_NEW notifications

Since commit fb5d1e9e127a ("openvswitch: Build flow cmd netlink reply only if needed."),
the new flows are not notified to the listeners of OVS_FLOW_MCGROUP.

This commit fixes the problem by using the genl function, ie
genl_has_listerners() instead of netlink_has_listeners().

Signed-off-by: Samuel Gauthier <samuel.gauthier at 6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel at 6wind.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: e74d48171e590b50cdcb2798a3e7c5c32313887b
      https://github.com/openvswitch/ovs/commit/e74d48171e590b50cdcb2798a3e7c5c32313887b
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-20 (Sat, 20 Sep 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/flow.c
    M datapath/vport-lisp.c
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Remove pkt_key from OVS_CB.

OVS keeps pointer to packet key in skb->cb, but the packet key is
store on stack. This could make code bit tricky. So it is better to
get rid of the pointer.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 13a30965fad9df08125bbbce0b2958309f64146e
      https://github.com/openvswitch/ovs/commit/13a30965fad9df08125bbbce0b2958309f64146e
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-21 (Sun, 21 Sep 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/netdevice.h

  Log Message:
  -----------
  datapath: compat: Fix compilation for 2.6.32 kernel

Define alloc_netdev() using alloc_netdev_mq() which is available on all
kernel supported by OVS.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 4a1f9610682d785e18fd38f86d81a66aa212789f
      https://github.com/openvswitch/ovs/commit/4a1f9610682d785e18fd38f86d81a66aa212789f
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-22 (Mon, 22 Sep 2014)

  Changed paths:
    M NEWS
    M utilities/ovs-pki.in

  Log Message:
  -----------
  ovs-pki: Use SHA-1 instead of SHA-512 as message digest.

Commit 9ff33ca7 (ovs-pki: Use SHA-512 instead of MD5 as message
digest.) changes the message digest algorithm to SHA-512.  This
seems to break the unit tests on some xenserver 5.6/6.0 builds
causing the error: "SSL_connect: error:0D0C50A1:asn1 encoding
routines:ASN1_item_verify:unknown message digest algorithm".

As a solution, this commit changes the message digest algorithm
to SHA-1 which works for both the above xenserver builds and
centos 7.

VMware-BZ: #1319116

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4f67b12af0fb8e0d259fc8870d5bce5d805534d8
      https://github.com/openvswitch/ovs/commit/4f67b12af0fb8e0d259fc8870d5bce5d805534d8
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-23 (Tue, 23 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Fix double free when ovs_nla_copy_actions() fails

ovs_nla_copy_actions() already frees the allocated actions buffers,
ovs_flow_cmd_new() will free it a second time when jumping to
err_kfree_acts.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b2a23c4ea70a18dd088f041ed6bb75ba59f2b6b5
      https://github.com/openvswitch/ovs/commit/b2a23c4ea70a18dd088f041ed6bb75ba59f2b6b5
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-09-23 (Tue, 23 Sep 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Restore OVS_CB after skb_segment.

OVS needs to segments large skb before sending it for miss
packet handling to userspace. but skb_gso_segment uses
skb->cb. This corrupted OVS_CB which result in following panic.

[  735.419921] BUG: unable to handle kernel paging request at 00000014000001b2
[  735.423168] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[  735.445097] RIP: 0010:[<ffffffffa05df0d7>]  [<ffffffffa05df0d7>] ovs_nla_put_flow+0x37/0x7c0 [openvswitch]
[  735.468858] Call Trace:
[  735.470384]  [<ffffffffa05d7ec2>] queue_userspace_packet+0x332/0x4d0 [openvswitch]
[  735.471741]  [<ffffffffa05d8155>] queue_gso_packets+0xf5/0x180 [openvswitch]
[  735.481862]  [<ffffffffa05da9f5>] ovs_dp_upcall+0x65/0x70 [openvswitch]
[  735.483031]  [<ffffffffa05dab81>] ovs_dp_process_packet+0x181/0x1b0 [openvswitch]
[  735.484391]  [<ffffffffa05e2f55>] ovs_vport_receive+0x65/0x90 [openvswitch]
[  735.492638]  [<ffffffffa05e5738>] internal_dev_xmit+0x68/0x110 [openvswitch]
[  735.495334]  [<ffffffff81588eb6>] dev_hard_start_xmit+0x2e6/0x8b0
[  735.496503]  [<ffffffff81589847>] __dev_queue_xmit+0x3c7/0x920
[  735.499827]  [<ffffffff81589db0>] dev_queue_xmit+0x10/0x20
[  735.500798]  [<ffffffff815d3b60>] ip_finish_output+0x6a0/0x950
[  735.502818]  [<ffffffff815d55f8>] ip_output+0x68/0x110
[  735.503835]  [<ffffffff815d4979>] ip_local_out+0x29/0x90
[  735.504801]  [<ffffffff815d4e46>] ip_queue_xmit+0x1d6/0x640
[  735.507015]  [<ffffffff815ee0d7>] tcp_transmit_skb+0x477/0xac0
[  735.508260]  [<ffffffff815ee856>] tcp_write_xmit+0x136/0xba0
[  735.510829]  [<ffffffff815ef56e>] __tcp_push_pending_frames+0x2e/0xc0
[  735.512296]  [<ffffffff815e0593>] tcp_sendmsg+0xa63/0xd50
[  735.513526]  [<ffffffff81612c2c>] inet_sendmsg+0x10c/0x220
[  735.516025]  [<ffffffff81566b8c>] sock_sendmsg+0x9c/0xe0
[  735.518066]  [<ffffffff81566d41>] SYSC_sendto+0x121/0x1c0
[  735.521398]  [<ffffffff8156801e>] SyS_sendto+0xe/0x10
[  735.522473]  [<ffffffff816df5e9>] system_call_fastpath+0x16/0x1b

Reported-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: f1f60b858337898035fe892d4d82d9d187f4ad6f
      https://github.com/openvswitch/ovs/commit/f1f60b858337898035fe892d4d82d9d187f4ad6f
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-09-23 (Tue, 23 Sep 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/flow.c
    M datapath/flow.h
    M datapath/flow_netlink.c
    M datapath/flow_table.c
    M datapath/flow_table.h
    M datapath/vport-geneve.c
    M datapath/vport-netdev.c
    M datapath/vport.c
    M datapath/vport.h

  Log Message:
  -----------
  datapath: Constify various function arguments

Help produce better optimized code.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: e03bce9c9593c6bdbccb288b320fb2fb41f4e8e8
      https://github.com/openvswitch/ovs/commit/e03bce9c9593c6bdbccb288b320fb2fb41f4e8e8
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-23 (Tue, 23 Sep 2014)

  Changed paths:
    M vswitchd/bridge.c

  Log Message:
  -----------
  bridge: Rate limit the statistics update.

When ovs is running with large topology (e.g. large number of
interfaces), the stats update to ovsdb becomes huge and normally
requires multiple run of ovsdb jsonrpc message processing loop to
consume.

To prevent the periodic stats update from backlogging in the
jsonrpc sending queue, this commit adds rate limiting logic
which only allows new update if the previous one is done.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>
Acked-by: Flavio Leitner <fbl at redhat.com>


  Commit: 9c537baf613a16e3dbd4aa1b58541f0736e9323e
      https://github.com/openvswitch/ovs/commit/9c537baf613a16e3dbd4aa1b58541f0736e9323e
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-23 (Tue, 23 Sep 2014)

  Changed paths:
    M vswitchd/bridge.c

  Log Message:
  -----------
  bridge: Refactor the stats and status update.

This commit refactors the stats and status update in bridge_run()
by moving the corresponding code to separate functions.  This
makes the code more organized.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 65b81af3b4e16fda76e865451ee259fac1948721
      https://github.com/openvswitch/ovs/commit/65b81af3b4e16fda76e865451ee259fac1948721
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-23 (Tue, 23 Sep 2014)

  Changed paths:
    M lib/jsonrpc.c

  Log Message:
  -----------
  jsonrpc: Notify excessive sending backlog.

This commit adds a log message to notify the excessive backlog
for jsonrpc.  Expectedly, this message should never be printed.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 8c87971ea5443f6bde4b1bf73c379a7ede9bc87d
      https://github.com/openvswitch/ovs/commit/8c87971ea5443f6bde4b1bf73c379a7ede9bc87d
  Author: Selvamuthukumar <smkumar at merunetworks.com>
  Date:   2014-09-24 (Wed, 24 Sep 2014)

  Changed paths:
    M lib/ofp-actions.c
    M tests/ofp-actions.at
    M tests/ofproto.at

  Log Message:
  -----------
  ofp-actions: Fix error code for invalid table id.

Send OFPET_BAD_INSTRUCTION/OFPBIC_BAD_TABLE_ID if table is invalid
in goto table instruction.

Signed-off-by: Selvamuthukumar <smkumar at merunetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5d923d79ae584eaa0fac29b6d1dc3ecfca9745f1
      https://github.com/openvswitch/ovs/commit/5d923d79ae584eaa0fac29b6d1dc3ecfca9745f1
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-24 (Wed, 24 Sep 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Selvamuthukumar <smkumar at merunetworks.com>.

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


  Commit: ea1f765f8e43f832c03f267a614519032f48a78f
      https://github.com/openvswitch/ovs/commit/ea1f765f8e43f832c03f267a614519032f48a78f
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-24 (Wed, 24 Sep 2014)

  Changed paths:
    M lib/ovs-atomic-msvc.h

  Log Message:
  -----------
  ovs-atomic-msvc: Fix 64 bit atomic read/writes.

MSVC converts 64 bit read/writes into two instructions (uses 'mov' as
seen through cl //FAs). So there is a possibility that an interrupt can
make a 64 bit read/write non-atomic even when 8 byte aligned. So we cannot
use a simple assignment. Use a full memory barrier function instead.

Reported-by: Jarno Rajahalme <jrajahalme at nicira.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 6db454dc00fa5d9693ebdf6c5e10c61030f8df8e
      https://github.com/openvswitch/ovs/commit/6db454dc00fa5d9693ebdf6c5e10c61030f8df8e
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-09-24 (Wed, 24 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-rid.c

  Log Message:
  -----------
  ofproto-dpif-rid: correct logic error in rid_pool_alloc_id()

When searching through the valid ids an id should
be used if is not found rather than if it is found.

It appears to me that without this change duplicate recirculation
ids may used in cases where the last recirculation id has
been allocated; selection loops back to the beginning of the pool and;
reaches a recirculation id that is still in use.

As the number of recirculation ids is currently RECIRC_ID_N_IDS = 1024 this
does not seem beyond the bounds of possibility.

I have not verified that such a scenario can actually occur.  But it seems
that a likely consequence would be that some packets may be forwarded
incorrectly.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>


  Commit: 0b5d64f6f7fa75c6c5d4e9fba82ac2d16784c9b6
      https://github.com/openvswitch/ovs/commit/0b5d64f6f7fa75c6c5d4e9fba82ac2d16784c9b6
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M tests/rstp.at

  Log Message:
  -----------
  rstp.at: Fix intermittent test failure.

Sub-test "RSTP - dummy interface" checks the ovs-vswitchd.log
output immediately after command execution.  The check may
fail if the write of new log is delayed by the IO thread.

This commit fixes the above issue by waiting for the
ovs-vswitchd.log output.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 4673ac185d2c44b6f01517415bd254e3c79d8f6d
      https://github.com/openvswitch/ovs/commit/4673ac185d2c44b6f01517415bd254e3c79d8f6d
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-rid.c

  Log Message:
  -----------
  ofproto-dpif-rid: remove struct rid_map

struct rid_map only has one member which is a struct hmap.
This allows for a slight simplification of the code by removing
struct rid_map and using a struct hmap directly instead.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>


  Commit: dced21add6ffb5e20594bb430fd65d4d60694d35
      https://github.com/openvswitch/ovs/commit/dced21add6ffb5e20594bb430fd65d4d60694d35
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-rid.c

  Log Message:
  -----------
  ofproto-dpif-rid: remove unused return value of rid_pool_add()

The return value of rid_pool_add() is never used
so the code may be slightly simplified by removing it.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>


  Commit: f6d0d4b3d0d0a2cdc4740ebe3bcf091508e62492
      https://github.com/openvswitch/ovs/commit/f6d0d4b3d0d0a2cdc4740ebe3bcf091508e62492
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M lib/netdev.c

  Log Message:
  -----------
  netdev: Fix error check.

Reported-by: Daniel Badea <daniel.badea at windriver.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: 1b7a04e05b6fd15fb4caa7ec20d09ba7aa73399f
      https://github.com/openvswitch/ovs/commit/1b7a04e05b6fd15fb4caa7ec20d09ba7aa73399f
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M AUTHORS
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix crash when there is no pci numa info.

When kernel cannot obtain the pci numa info, the numa_node file
in corresponding pci directory in sysfs will show -1.  Then the
rte_eth_dev_socket_id() function will return it to ovs.  On
current master, ovs assumes rte_eth_dev_socket_id() always
returns non-negative value.  So using this -1 in pmd thread
creation will cause ovs crash.

To fix the above issue, this commit makes ovs always check the
return value of rte_eth_dev_socket_id() and use numa node 0 if
the return value is negative.

Reported-by: Daniel Badea <daniel.badea at windriver.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: 29db47ce5304c4c5e3513af2b8eb3e7b6dedec6f
      https://github.com/openvswitch/ovs/commit/29db47ce5304c4c5e3513af2b8eb3e7b6dedec6f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  lib/ofproto: Sync RSTP operational state after configuration changes.

Otherwise the RSTP port operational state could be out of sync until
the next time the port's carrier status changes.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Venturino <daniele.venturino at m3s.it>


  Commit: 721d60ede8436b270772301e9a4237727238a0b9
      https://github.com/openvswitch/ovs/commit/721d60ede8436b270772301e9a4237727238a0b9
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M AUTHORS
    M vtep/README.ovs-vtep

  Log Message:
  -----------
  README.ovs-vtep: Remotes can be connected through VTEP's manager table.

Reported-by: Ziyou Wang <ziyouw at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: 2c06d26d3ac427101e4be7ea5c767f68a3a831a6
      https://github.com/openvswitch/ovs/commit/2c06d26d3ac427101e4be7ea5c767f68a3a831a6
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  vtep-ctl: Add Tunnel table to vtep_ctl_table_class.

This is needed to create, get, set records in the Tunnel table.

(We need to add the Tunnel table's 'local' and 'remote' columns
that point to the Physical_Locator record to cache because vtep-ctl
commands like 'add-ucast-local' will try to add an entry in
Physical_Locator table based on the contents of the cache.)

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ariel Tubaltsev <atubaltsev at vmware.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: 5a2ea6b525e8e0c335bd2d7f458519027130a866
      https://github.com/openvswitch/ovs/commit/5a2ea6b525e8e0c335bd2d7f458519027130a866
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M vtep/ovs-vtep

  Log Message:
  -----------
  ovs-vtep: Clear left-over local mac information.

Before destroying a logical switch, cleanup any left over local
mac information in Ucast_Macs_Local or Mcast_Macs_Local table.
We need to do this to atleast cleanup the 'unknown-dst' information
added in the Mcast_Macs_Local table while creating the Logical_Switch
class in setup_ls().

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ariel Tubaltsev <atubaltsev at vmware.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: cedb277beb5aeca1b6a9abb46c4df1715f515365
      https://github.com/openvswitch/ovs/commit/cedb277beb5aeca1b6a9abb46c4df1715f515365
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M vtep/ovs-vtep

  Log Message:
  -----------
  ovs-vtep: Store physical switch name globally.

ovs-vtep is an emulator and it works only on one
physical switch. This switch name is stored in the variable
'ps_name' and then passed around. An upcoming commit requires
access to this variable at more places and it is easier if this
variable is global.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ariel Tubaltsev <atubaltsev at vmware.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: 260f76b7e3cf6bd52a2a80d5186f2a68b0123017
      https://github.com/openvswitch/ovs/commit/260f76b7e3cf6bd52a2a80d5186f2a68b0123017
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-09-25 (Thu, 25 Sep 2014)

  Changed paths:
    M vtep/ovs-vtep

  Log Message:
  -----------
  ovs-vtep: Use shlex module to split args.

string.split() function splits a quoted string if there is a whitespace
inside the quote.
ex: The following code snippet will output ['printing', '"No', 'Diagnostic"']
args = 'printing "No Diagnostic"'
print args.split()

The above is a problem if we run the following command through vtep_ctl().
vtep-ctl set tunnel $uuid bfd_status:diagnostic="No Diagnostic"

The workaround is to use the split() function from shlex module.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ariel Tubaltsev <atubaltsev at vmware.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: e00afcf6427ab3b99c6ad0867c2a22bfe9ead180
      https://github.com/openvswitch/ovs/commit/e00afcf6427ab3b99c6ad0867c2a22bfe9ead180
  Author: Samuel Ghinet <sghinet at cloudbasesolutions.com>
  Date:   2014-09-26 (Fri, 26 Sep 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/include/OvsPub.h
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/Tunnel.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h
    M datapath-windows/ovsext/Vxlan.c
    M datapath-windows/ovsext/precomp.h

  Log Message:
  -----------
  datapath-windows: fix OVS_VPORT_TYPE

The windows ovs kernel uses an OVS_VPORT_TYPE enum that is incompatible with
the userspace counterpart (enum ovs_vport_type from openvswitch.h). We must use
the same enum type for the netlink communication to work properly.

This patch makes the fix: "typedef enum ovs_vport_type OVS_VPORT_TYPE" and
changes the afferent kernel driver code:
o) vport types synthetic and emulated turn to: netdev
o) vport type internal turns to: internal
o) vport type external truns to: netdev (plus, we hold a field in vport,
"isExternal"

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 17c6a05f08a7570dba05a171b08068a71966f11f
      https://github.com/openvswitch/ovs/commit/17c6a05f08a7570dba05a171b08068a71966f11f
  Author: Samuel Ghinet <sghinet at cloudbasesolutions.com>
  Date:   2014-09-26 (Fri, 26 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Implement vport dump Netlink command.

Functionality for vport dump.
Later, when we will add more netlink dump commands, some common code will need
to be split to functions.

Notes:
a) the current implementation of vport assumes the datapath feature
"multiple upcall pids" is not used. A single upcall pid is used now.
c) the vxlan destination udp port is currently a constant. When it will become
configurable, the vport options netlink attribute will become relevant.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fce695e6f71d8de1329b917d8b94718a0ffc9284
      https://github.com/openvswitch/ovs/commit/fce695e6f71d8de1329b917d8b94718a0ffc9284
  Author: Samuel Ghinet <sghinet at cloudbasesolutions.com>
  Date:   2014-09-26 (Fri, 26 Sep 2014)

  Changed paths:
    M datapath-windows/automake.mk
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h
    A datapath-windows/ovsext/Netlink/NetlinkError.h
    M datapath-windows/ovsext/Netlink/NetlinkProto.h
    M datapath-windows/ovsext/ovsext.vcxproj
    M datapath-windows/ovsext/precomp.h

  Log Message:
  -----------
  datapath-windows: Add file NetlinkError.h.

Contains error codes for netlink transactional errors.
These errors are passed to the "error" field (INT) of the NL_MSG_ERR struct.
The userspace requires them to be negative values: the nl_msg_nlmsgerr userspace
function transforms them from negative to positive values.

These error codes correspond to the userspace error codes defined in:
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\errno.h"

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5b08d39a6da1bb746a0691fa7cfcaafe9a1cef67
      https://github.com/openvswitch/ovs/commit/5b08d39a6da1bb746a0691fa7cfcaafe9a1cef67
  Author: Samuel Ghinet <sghinet at cloudbasesolutions.com>
  Date:   2014-09-26 (Fri, 26 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Add Netlink vport command get.

The transactional get vport command.
This command uses the netlink transactional errors.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: cd016360e19234763157629a7fd3182f07860821
      https://github.com/openvswitch/ovs/commit/cd016360e19234763157629a7fd3182f07860821
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-09-26 (Fri, 26 Sep 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Simon Horman <simon.horman at netronome.com>

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: bdcca6157dfca92a9f24da3223b87688c8f30d04
      https://github.com/openvswitch/ovs/commit/bdcca6157dfca92a9f24da3223b87688c8f30d04
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-09-26 (Fri, 26 Sep 2014)

  Changed paths:
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  ovs-ofctl: Correct help text for add-groups

It is add-groups rather than add-group that takes FILE as an argument.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b09b30b3f9aa84fd1adb3205c07e998d744526c0
      https://github.com/openvswitch/ovs/commit/b09b30b3f9aa84fd1adb3205c07e998d744526c0
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: NUL character should be left out during VPORT hash lookup

While calculating the hash on a VPORT name, we don't include the NUL character.
We should be doing the same while doing lookup as well.

We set the required minimum length of the name to be 2 so that the string has
at least one valid character.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 531bee45687eb76a8f62b5e64ecd24254fb45c0e
      https://github.com/openvswitch/ovs/commit/531bee45687eb76a8f62b5e64ecd24254fb45c0e
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Event.c
    M datapath-windows/ovsext/Event.h

  Log Message:
  -----------
  datapath-windows: Implement event read handler.

The Read event handler is executed when user mode issues a socket
receive on an MC socket associated with the event queue. A new IOCTL
READ command is used to differentiate between transaction based and packet
miss sockets.
An entry for the handler will be added once the Control family (logically
should have been added to the Vport family)
implementation checked in.
User mode code for setting the socket type will follow

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: df5bd0d2b573dca5e1a6743d3b44dba19fbb4c6d
      https://github.com/openvswitch/ovs/commit/df5bd0d2b573dca5e1a6743d3b44dba19fbb4c6d
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    A datapath-windows/misc/OVS.psm1

  Log Message:
  -----------
  datapath-windows: Add WMI Script that updates Hyper-V friendly port names.

The following script leverage's the advantages of WMI infrastructure
offered in Hyper-V.

This scripts allows the user to change the
Msvm_EthernetPortAllocationSettingData property of a VM network adapter
connected to a Hyper-V Virtual Switch.

Usage:
import-module .\OVS.psm1
$vnic = Get-VMNetworkAdapter VM1
Connect-VMNetworkAdapter -VMNetworkAdapter $vnic -SwitchName external
$vnic | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1

VM1 - is a VM on top of a Hyper-V
external - is a Hyper-V Virtual Switch

Signed-off-by: Alessandro Pilotti <apilotti at cloudbasesolutions.com>
Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 4464b71eb45cd44b7cc822097473147b161eecc7
      https://github.com/openvswitch/ovs/commit/4464b71eb45cd44b7cc822097473147b161eecc7
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/automake.mk

  Log Message:
  -----------
  datapath-windows: Fix broken build by adding new file to distribution.

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


  Commit: 08288ce0bd23d5fe87cac47e777ce34d52e74efe
      https://github.com/openvswitch/ovs/commit/08288ce0bd23d5fe87cac47e777ce34d52e74efe
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows: move OVS_MESSAGE to Netlink.h

Moved the structure OVS_MESSAGE to Netlink.h.
This change is done for following reasons.

a. Patch 2 in this series provides a generic API in Netlink.c
for creating netlink message. That API needs OVS_MESSAGE.
Including Datapath.h in Netlink.c/h gives compilation error.

b. OVS_MESSAGE defines netlink messages hence moving it to
Netlink.h looked fine to me.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d5f1e533c3f0cda6ef07fc8b01c0049c391212b6
      https://github.com/openvswitch/ovs/commit/d5f1e533c3f0cda6ef07fc8b01c0049c391212b6
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows/Netlink: Add NlFillOvsMsg API for creating Netlink message headers.

Added NlFillOvsMsg API in Netlink.c This API will be used to populate
netlink message headers.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: dac95740efd7c0b434714773424362c244120f93
      https://github.com/openvswitch/ovs/commit/dac95740efd7c0b434714773424362c244120f93
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h
    M datapath-windows/ovsext/Types.h

  Log Message:
  -----------
  datapath-windows/Netlink: Add NlAttrLen API

Added an API to retrieve the attribute length.
Added 2 more API for BE16 and BE8 attribute parsing.
Fixed a trailing whitespace issue.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 91b95f8b930f34d344a60396e59f7e96e04c2888
      https://github.com/openvswitch/ovs/commit/91b95f8b930f34d344a60396e59f7e96e04c2888
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c

  Log Message:
  -----------
  datapath-windows/Netlink: Allow support for NESTED Attributes in NlAttrValidate

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5b2249547f91337ca1e5150ed9dbd2d9af58165b
      https://github.com/openvswitch/ovs/commit/5b2249547f91337ca1e5150ed9dbd2d9af58165b
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows/Netlink: Fixed NlAttrParseNested

NlAttrParseNested was using the whole netlink payload for iteration.
This is not correct, as it would lead to exceeding the
nested attribute boundries. Fixed the same in this patch.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0d9bd68b7b30a83d601cca2040702894a95b2b5a
      https://github.com/openvswitch/ovs/commit/0d9bd68b7b30a83d601cca2040702894a95b2b5a
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h

  Log Message:
  -----------
  datapath-windows/Flow.c : Basic support for add-flow.

This patch covers basic changes in registering add flow handler.
And declaring FLOW related attribute parsing policies.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8a79c2d43150e9ae3fd88370a64458a9c423cf91
      https://github.com/openvswitch/ovs/commit/8a79c2d43150e9ae3fd88370a64458a9c423cf91
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/include/OvsPub.h
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h

  Log Message:
  -----------
  datapath-windows/Flow.c: FLOW_NEW command handler.

This patch covers the changes needed to support FLOW_NEW command.
API _OvsFlowMapNlToFlowPutFlags has a bug, which will be fixed
with the patches for FLOW_DEL.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 22b6623ad4c9ebb61fad852721d7e9ffbd6519d9
      https://github.com/openvswitch/ovs/commit/22b6623ad4c9ebb61fad852721d7e9ffbd6519d9
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows/Flow.c: FLOW_SET command handler.

Registered FLOW_SET command handler. The same command
handler as FLOW_ADD is good enough to handle FLOW_SET
case as well.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6247bec1331d678bb843827a3851a1d914a766c8
      https://github.com/openvswitch/ovs/commit/6247bec1331d678bb843827a3851a1d914a766c8
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows/Flow.c: FLOW_DEL command handler.

Registered FLOW_DEL command handler. The same command
handler as FLOW_ADD is good enough to handle FLOW_DEL
case as well with minor changes for checking to action
attribute.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3d72793fb2ac1a22c2c3bb98cd995b9e812a27c6
      https://github.com/openvswitch/ovs/commit/3d72793fb2ac1a22c2c3bb98cd995b9e812a27c6
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h

  Log Message:
  -----------
  datapath-windows/Flow.c: DEL_FLOWS command handler.

Added changes to handle DEL_FLOWS (FLUSH) scenario.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0679122d0680c1b2bb8d9b674d91d38e34fb290c
      https://github.com/openvswitch/ovs/commit/0679122d0680c1b2bb8d9b674d91d38e34fb290c
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h

  Log Message:
  -----------
  datapath-windows: Rename OvsFlowNlNewCmdHandler to OvsFlowNlCmdHandler

OvsFlowNlNewCmdHandler NEW/DEL/SET/FLUSH commands hence renaming it to
OvsFlowNlCmdHandler.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Tested-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e1b3f1b1107c7cb43cbee55c92b347d4ca44a203
      https://github.com/openvswitch/ovs/commit/e1b3f1b1107c7cb43cbee55c92b347d4ca44a203
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Samuel Ghinet.

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


  Commit: 8e86f09081ad4c6cf275d82c15abc2e35b3641f9
      https://github.com/openvswitch/ovs/commit/8e86f09081ad4c6cf275d82c15abc2e35b3641f9
  Author: Wang Sheng-Hui <shhuiw at gmail.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M AUTHORS
    M lib/flow.c

  Log Message:
  -----------
  flow.c: Correct the comment for miniflow_equal().

It's for miniflow equalness check, not flow.

Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5019855cad0b965e32fc2342773c0915c54329bb
      https://github.com/openvswitch/ovs/commit/5019855cad0b965e32fc2342773c0915c54329bb
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Ioctl.c
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Missed packets are not queued.

Currently, whenever there's a missed packet, the ovs driver allocates
memory and copies the packet even if there's no packet queue setup from
userspace. Then if there's no queue created, the packet is released and
dropped.

The solution was to check for the existence of the userspace queue before
trying to allocate and add a new missed packet to the queue. If there is
no userspace queue created, the original packet is dropped without creating
a new missed packet.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Nithin Raju <nithin at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/32
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 295baabf7579f9c3b4de7afefdfc954b19aaf520
      https://github.com/openvswitch/ovs/commit/295baabf7579f9c3b4de7afefdfc954b19aaf520
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Sorin Vinturis.

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


  Commit: 09853482b9c3e067a838918b3ee3ecc23cf529f6
      https://github.com/openvswitch/ovs/commit/09853482b9c3e067a838918b3ee3ecc23cf529f6
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Build fix.

Recently we changed the signature of NlAttrParse.
Function OvsGetVport was not updated accordingly.

Fixed the same.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: ba8ec11566e9d1862d88723dff0ab2378677db37
      https://github.com/openvswitch/ovs/commit/ba8ec11566e9d1862d88723dff0ab2378677db37
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M vswitchd/bridge.c

  Log Message:
  -----------
  bridge: Fix bug where IDL wakeup causes 100% CPU.

Commit 9c537baf613a16e (bridge: Refactor the stats and status update.)
inadvertently changed the way that the status transaction is destroyed,
which could cause the main thread to constantly wake up.

The bug occurs when ovsdb_idl_txn_commit() returns TXN_INCOMPLETE and
there are no further changes to connectivity or 'status_txn_try_again'.

- ovsdb_idl_run() receives the transaction reply and updates the
  transaction status to TXN_SUCCESS.
- status_update_wait() detects that the transaction is in progress, and
  the status is TXN_SUCCESS so wakes up the main thread immediately.
- run_status_update() is meant to destroy the transaction now that it is
  finished, however the logic is never run because there were no changes.
- Repeat the wakeup every time the main loop runs.

This patch fixes the behaviour by ensuring that ovsdb_idl_txn_commit()
gets a chance to run whenever there is an ongoing status transaction.

Bug was found by unloading and reloading the kernel module, then
immediately restarting ovs-vswitchd.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: ddc3b06d348793ae3f858a832ce5c9053d7a621b
      https://github.com/openvswitch/ovs/commit/ddc3b06d348793ae3f858a832ce5c9053d7a621b
  Author: Justin Pettit <jpettit at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M FAQ

  Log Message:
  -----------
  FAQ: Replace reference to OVS 2.2 with 2.3.

We never released 2.2.0, so references to it are confusing.

Signed-off-by: Justin Pettit <jpettit at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: ef44aa5001a4f6b06a4d65457d459bc004c37f48
      https://github.com/openvswitch/ovs/commit/ef44aa5001a4f6b06a4d65457d459bc004c37f48
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M Makefile.am
    M datapath-windows/include/automake.mk
    M debian/automake.mk
    M include/automake.mk
    M include/openflow/automake.mk
    M lib/automake.mk
    M ofproto/automake.mk
    M ovsdb/automake.mk
    M python/automake.mk
    M rhel/automake.mk
    M tests/automake.mk
    M vswitchd/automake.mk
    M vtep/automake.mk
    M xenserver/automake.mk

  Log Message:
  -----------
  Makefiles: Add $(AM_V_GEN) annotations to clean up "make" output.

The Open vSwitch "make" output was still pretty verbose even when
configured with --enable-silent-rules.  This cleans it up.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: 91148d4b40eb1962cbf243055e10a32de87df02b
      https://github.com/openvswitch/ovs/commit/91148d4b40eb1962cbf243055e10a32de87df02b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M build-aux/extract-ofp-msgs

  Log Message:
  -----------
  extract-ofp-msgs: Correct some user messages.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 5e0464a0b6f76079209c1bf63e082a12356e57f8
      https://github.com/openvswitch/ovs/commit/5e0464a0b6f76079209c1bf63e082a12356e57f8
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ovs-ofctl: Correct typo in documentation.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 3947cc76e15ccfa314d4492d889e16a115efb37a
      https://github.com/openvswitch/ovs/commit/3947cc76e15ccfa314d4492d889e16a115efb37a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M lib/nx-match.c
    M lib/ofp-errors.h
    M tests/ovs-ofctl.at

  Log Message:
  -----------
  nx-match: Reject bad wildcard combinations.

A log message has warned that this was going to happen for some time, and
newer OpenFlow versions require this behavior.

The test updates fix this behavior in our testsuite.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 21119b3e65ed26f2a65000b5d2488289024945bb
      https://github.com/openvswitch/ovs/commit/21119b3e65ed26f2a65000b5d2488289024945bb
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M lib/nx-match.c
    M lib/ofp-actions.c

  Log Message:
  -----------
  ofp-actions, nx-match: Use mf_oxm_header() instead of explicit constants.

Following this change, only meta-flow.c uses any explicit NXM_* or OXM_*
constants.  An upcoming commit will actually remove the definitions of
these constants, hiding them behind a functional interface, for better
abstraction.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 447b65822d4dad7d0645b9525aeba63bc1373c1d
      https://github.com/openvswitch/ovs/commit/447b65822d4dad7d0645b9525aeba63bc1373c1d
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-29 (Mon, 29 Sep 2014)

  Changed paths:
    M lib/nx-match.c

  Log Message:
  -----------
  nx-match: Encode dp_hash and recirc_id in OXM also.

dp_hash and recirc_id are specific to OVS, but that doesn't mean that we
shouldn't encode them into flow matches when OXM is used in OpenFlow 1.2
and later.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: ec47af519bb46e95400a59e3c841886c7e12c47b
      https://github.com/openvswitch/ovs/commit/ec47af519bb46e95400a59e3c841886c7e12c47b
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  revalidator: Distinguish new and duplicate flows.

We previously counted flows that have been installed during the current
dump as duplicates, rather than recognising them as new flows. This
patch separates the counters out for these two cases.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: a2b59fd5bd197bb73bd1d86efa74f171b59ab06d
      https://github.com/openvswitch/ovs/commit/a2b59fd5bd197bb73bd1d86efa74f171b59ab06d
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M tests/test-hash.c

  Log Message:
  -----------
  tests: Mention binomial coefficient in hash tests.

This just makes it a bit easier for someone coming in fresh to do some
searches and figure out what the description means.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 29058c4e16762a6e797612573b1675b1c499a943
      https://github.com/openvswitch/ovs/commit/29058c4e16762a6e797612573b1675b1c499a943
  Author: Lilijun <jerry.lilijun at huawei.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M AUTHORS
    M lib/stream-unix.c

  Log Message:
  -----------
  pstream-unix: Increase listen count to 64 in punix_open().

In my test with openstack setup, ovs-ofctl executes failed when there are
many flow rules to be added by multiple threads.
The error like this:
ovs-ofctl: /var/run/openvswitch/br1.mgmt: failed to open socket (Protocol
error)

In the function listen(fd, 10) in punix_open(), the number 10 should be
modified to more bigger, such as 64 maybe a proper value.

Signed-off-by: Lilijun <jerry.lilijun at huawei.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e03f0d03bbe9d530a17c9297fb2d3bbc743fd569
      https://github.com/openvswitch/ovs/commit/e03f0d03bbe9d530a17c9297fb2d3bbc743fd569
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M lib/netdev-dpdk.h
    M vswitchd/ovs-vswitchd.c

  Log Message:
  -----------
  ovs-vswitchd: Better diagnose errors in DPDK command-line options.

With DPDK compiled in, when the --dpdk option was given other than as the
first command-line argument, ovs-vswitchd silently ignored it.  Without
DPDK compiled in, when the --dpdk option was given anywhere, ovs-vswitchd
silently ignored it.  However, in each case any options following --dpdk
were not ignored, and since --dpdk is normally followed by additional
DPDK-specific options, this caused even more confusing trouble.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>
Tested-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: ee8627fa801a23084f211d5c6523b9c46c6d13e7
      https://github.com/openvswitch/ovs/commit/ee8627fa801a23084f211d5c6523b9c46c6d13e7
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M INSTALL.DPDK
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  INSTALL.DPDK: Update DPDK related documentation.

This commit updates the DPDK related documentation to reflect
the pmd thread multi-threading work.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: d7fdacb78804599141d56c98a303e2ba6c12fd9b
      https://github.com/openvswitch/ovs/commit/d7fdacb78804599141d56c98a303e2ba6c12fd9b
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M CodingStyle

  Log Message:
  -----------
  CodingStyle: Mention our assumption about conversions to bool

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 6bef3c7ca859f208239ca61ec3b25c09a3571553
      https://github.com/openvswitch/ovs/commit/6bef3c7ca859f208239ca61ec3b25c09a3571553
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-09-30 (Tue, 30 Sep 2014)

  Changed paths:
    M tests/ovs-vswitchd.at
    M vswitchd/bridge.c

  Log Message:
  -----------
  bridge: Fix high cpu utilization.

When there are more than one ovs-vswitchd processes started,
only one process is enabled.  The disabled processes should
just sleep.  However, a bug in ovs makes the disabled processes
keep waking up on global connectivity sequence number which is
never sync'ed.  Consequently, those processes use 100% cpu.

This commit fixes the bug by always sync up the connectivity
sequence number for disabled processes.

Reported-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: a07e26bf367075d7b31f3f180b65605412b0624b
      https://github.com/openvswitch/ovs/commit/a07e26bf367075d7b31f3f180b65605412b0624b
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M tests/ovs-vswitchd.at

  Log Message:
  -----------
  ovs-vswitchd.at: Fix "start additional ovs-vswitchd process" test

NetBSD implementation of wc command outputs extra whitespaces
like the following.  Tweak the test to success on such environments.

    % echo hoge|wc -l|hexdump -C
    00000000  20 20 20 20 20 20 20 31  0a                       |       1.|
    00000009
    %

The failing test was introduced by
commit 6bef3c7ca859f208239ca61ec3b25c09a3571553
("bridge: Fix high cpu utilization.")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: d25e2f572b50c600dd38ec37fd1d70401c5d6990
      https://github.com/openvswitch/ovs/commit/d25e2f572b50c600dd38ec37fd1d70401c5d6990
  Author: Pritesh Kothari <pritesh.kothari at cisco.com>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M INSTALL
    M Makefile.am
    R README
    A README.md
    M rhel/openvswitch-fedora.spec.in
    M rhel/openvswitch.spec.in
    M utilities/ovs-ctl.8

  Log Message:
  -----------
  README: Adding github markup and travis-ci build status to github readme page.

Signed-off-by: Pritesh Kothari <pritesh.kothari at cisco.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 538919d3a672eab8a561048acf9a8e1721cd559c
      https://github.com/openvswitch/ovs/commit/538919d3a672eab8a561048acf9a8e1721cd559c
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure: Disable strict aliasing.

The C standard allows compilers to do type-based alias analysis, which
means that the compiler is allowed to assume that pointers to objects of
different types are pointers to different objects.  For example, a compiler
may assume that "uint16_t *a" and "uint32_t *b" point to different and
nonoverlapping locations because the pointed-to types are different.  This
can lead to surprising "optimizations" with compilers that by default do
this kind of analysis, which includes GCC and Clang.

The one escape clause that the C standard gives us is that character types
must be assumed to alias any other object.  We've always tried to use this
escape clause to avoid problems with type-based alias analysis in the past.
I think that we should continue to try to do this in the future.  It's hard
to tell what compiler we might want to use in the future, and one never
knows what kind of control that compiler allows over alias analysis.

However, recently I helped another developer debug a nasty and confusing
issue, which turned out to be the result of a surprising compiler
optimization due to alias analysis.  I've seen enough of these that I don't
think it's worthwhile to risk more problems than we have to.  Thus, this
commit turns off type-based alias analysis in GCC and Clang.

Linus Torvalds thinks that type-base alias analysis is not sane, at least
as GCC implements it: https://lkml.org/lkml/2003/2/26/158

The GCC manual says that -Wstrict-aliasing is only effective without
-fno-strict-aliasing, otherwise I'd keep -Wstrict-aliasing also.

Indications are that MSVC doesn't do type-based alias analysis by default.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 58f195398e4d457d2b83b760935a65a70d9b1384
      https://github.com/openvswitch/ovs/commit/58f195398e4d457d2b83b760935a65a70d9b1384
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M ofproto/ofproto.c

  Log Message:
  -----------
  ofproto: Do not postpone closing the mgmt socket

When the bridge datapath_type is changed, ofproto is destroyed and immediately
recreated. This involves closing and reopening the mgmt socket. If the
destruction of the 'connmgr' is postponed, a race condition might happen, where
we first recreate the socket and then try to destroy it.

Reported-by: Daniel Badea <daniel.badea at windriver.com>
Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7530fe0d8a69b0f9477f94f9883e9e31ad3630b1
      https://github.com/openvswitch/ovs/commit/7530fe0d8a69b0f9477f94f9883e9e31ad3630b1
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M lib/cmap.c

  Log Message:
  -----------
  cmap: ovsrcu postpone the cmap destroy.

Currently, the cmap_destroy() directly frees the cmap memory.
Some callers of cmap_destroy() (e.g. destroy_subtable()) still
allows other threads (e.g. pmd threads) accessing the cmap at
the same time (e.g. via classifier_lookup_miniflow_batch()),
which could cause segfault.

To fix the above issue, this commit use ovsrcu to postpone
the free of cmap memory.

Reported-by: Ethan Jackson <ethan at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3b6709431c4f24a8356d962578df520e97aa8fb5
      https://github.com/openvswitch/ovs/commit/3b6709431c4f24a8356d962578df520e97aa8fb5
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-10-02 (Thu, 02 Oct 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/openvswitch.h

  Log Message:
  -----------
  datapath: avoid hard coding OVS_VPORT_TYPE_GENEVE

OVS_VPORT_TYPE_GENEVE is currently hard coded to 6. This is not
necessary since slot 5 has not been taken yet. Drop the hard
coded value to before upstreaming GENEVE support to Linux kernel.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 55eebc01a5471be25f16302131cb1a9c8564a591
      https://github.com/openvswitch/ovs/commit/55eebc01a5471be25f16302131cb1a9c8564a591
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-02 (Thu, 02 Oct 2014)

  Changed paths:
    M lib/ovs-atomic-i586.h
    M tests/test-atomic.c

  Log Message:
  -----------
  lib/ovs-atomic-i586: Faster 64-bit atomics on 32-bit builds with SSE.

Aligned 64-bit memory accesses in i586 are atomic.  By using an SSE
register we can make such memory accesses in one instruction without
bus-locking.  Need to compile with -msse (or higher) to enable this
feature.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 01420a2cddd7b5cf0a8ac59a4d60ce9d3b328d97
      https://github.com/openvswitch/ovs/commit/01420a2cddd7b5cf0a8ac59a4d60ce9d3b328d97
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-02 (Thu, 02 Oct 2014)

  Changed paths:
    M lib/stream-tcp.c

  Log Message:
  -----------
  stream-tcp: Change the connection name for pwindows.

As of now, when someone passes a punix:foo/bar as a connection type
in Windows, we create a TCP server using 127.0.0.1 and save the kernel
assigned port number in the file foo/bar. The connection name
as obtained through pstream_get_name() would be ptcp:127.0.0.1:$PORT.
This was okay if pstream_get_name() was only used for logging
purposes. But netdev-dummy uses it to close active connections when the
passed name and created name are different. This causes transient
connection teardowns while using patch ports in Windows unit tests
causing occasional packet loss.

This commit sets the connection name to be punix:foo/bar instead
of ptcp:127.0.0.1:$PORT for pwindows.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5eca22a2a7fb1fe035316db45d86ee804ec88a55
      https://github.com/openvswitch/ovs/commit/5eca22a2a7fb1fe035316db45d86ee804ec88a55
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-02 (Thu, 02 Oct 2014)

  Changed paths:
    M tests/bfd.at

  Log Message:
  -----------
  bfd.at: Fix intermittent failure of test - flap_count.

ovs-vsctl commands like 'ovs-vsctl list Interface p1' use the
'monitor' RPC method, which causes ovsdb sending updates to
the command session when changes are committed to the monitored
table.  Since ovs-vsctl commands are short-lived, there is chance
that ovs-vsctl terminates the connection to ovsdb right before
ovsdb sends the update.  This race will cause the following
warning entries in ovsdb-server log:

  |jsonrpc|WARN|unix: receive error: Connection reset by peer
  |reconnect|WARN|unix: connection dropped (Connection reset by peer)
  |jsonrpc|WARN|unix: send error: Broken pipe
  |reconnect|WARN|unix: connection dropped (Broken pipe)

The bfd:flap_count test is particularly prone to this race,
since the test aligns the statistics updates (every 5 seconds)
with the invocation of ovs-vsctl commands.

In the short term, this commit fixes the intermittent failure
by disabling the ovs-vswitchd statistics updates using a huge
update interval.

In the long run, we will research on making ovsdb not send
further updates to sessions like ovs-vsctl.

Signed-off-by: Alex Wang <alexw at nicira.com>


  Commit: 9233cef706f3ebdb762ca40c16d01182272366c7
      https://github.com/openvswitch/ovs/commit/9233cef706f3ebdb762ca40c16d01182272366c7
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/flow.c
    M datapath/flow.h
    M datapath/flow_netlink.c
    M datapath/flow_netlink.h
    M datapath/linux/compat/include/linux/openvswitch.h

  Log Message:
  -----------
  datapath: Add support for OVS_FLOW_ATTR_PROBE.

This new flag is useful for suppressing error logging while probing
for datapath features using flow commands.  For backwards
compatibility reasons the commands are executed normally, but error
logging is suppressed.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 43f9ac0aa92656272f73e923f7424fe07ec56988
      https://github.com/openvswitch/ovs/commit/43f9ac0aa92656272f73e923f7424fe07ec56988
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/dpif-netlink.c
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  dpif: Use OVS_FLOW_ATTR_PROBE.

Use the new OVS_FLOW_ATTR_PROBE flag when probing for datapath feature
support.  Suppress also dpif error logging when requested, as probe
failures are already logged at ofproto-dpif.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 88ace79b3e0e7808338e5c70b7554a59f4bc3600
      https://github.com/openvswitch/ovs/commit/88ace79b3e0e7808338e5c70b7554a59f4bc3600
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M tests/dpif-netdev.at

  Log Message:
  -----------
  dpif-netdev: fix dp_netdev_free()

dp_netdev_free() must free 'dp->upcall_rwlock', but when upcalls are
disabled (if the datapath is being freed upcalls should be disabled)
'dp->upcall_rwlock' is taken and freeing it causes an assertion to
fail.

This commit takes makes sure that the upcalls are disabled and
releases 'dp->upcall_rwlock' before freeing it. A simple testcase is
added to detect the failure.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 33c24cf9f42dbc7b156a5d0ef5f4851537d343cc
      https://github.com/openvswitch/ovs/commit/33c24cf9f42dbc7b156a5d0ef5f4851537d343cc
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/timeval.c

  Log Message:
  -----------
  timeval: Fix seq memory leak

'timewarp_seq' should be initialized only once, while init_clock() is
called multiple times (once for each clock instance).

Found by valgrind

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 8bd89cdc06fbb3fc29144fa99ae499d71e14ebf1
      https://github.com/openvswitch/ovs/commit/8bd89cdc06fbb3fc29144fa99ae499d71e14ebf1
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Destroy pmd_thread cmap at exit

Found by valgrind

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: d73803ca82842beecd6011dd8f6d1d2e1230b5d9
      https://github.com/openvswitch/ovs/commit/d73803ca82842beecd6011dd8f6d1d2e1230b5d9
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  odp-util: Parse recirc action in parse_odp_action()

This may be useful for debugging (with dpctl)

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 0057762a2f60b1d4a720cb5c4b83ebe97dffbbc9
      https://github.com/openvswitch/ovs/commit/0057762a2f60b1d4a720cb5c4b83ebe97dffbbc9
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/odp-execute.c

  Log Message:
  -----------
  odp-execute: Fix memory leak on recirc action

If odp_execute_actions() has been called with 'steal' set to true and
OVS_ACTION_ATTR_RECIRC as last action, it should allow dp_execute_cb()
to steal the packet.

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 1164afb6cc6b0f058375b6843e803cc61be69661
      https://github.com/openvswitch/ovs/commit/1164afb6cc6b0f058375b6843e803cc61be69661
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/odp-execute.c

  Log Message:
  -----------
  odp-execute: Refactor odp_execute_{actions, sample}()

Firstly, with this change, the 'more_actions' parameter is removed and
is integrated into 'steal'. Then, every function that receives a batch
of packets with 'steal' set to true is responsible for freeing the
packets. Finally, odp_execute_actions() and odp_execute_actions__()
can be be merged.

This also fixes a memory leak in odp_execute_sample(), when the
subactions are not executed

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 64513e68597d4a415728bbdac49e4919233e06d5
      https://github.com/openvswitch/ovs/commit/64513e68597d4a415728bbdac49e4919233e06d5
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: User mode event read for Windows.

User mode sends down three distinct Read ioctl commands for Events, Packet
Reads and Dumps. In case the Packet Read socket can not be distinguished a
Set function will be provided.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e15df145f3581a944126c5f386dbd0fcf5d80fd2
      https://github.com/openvswitch/ovs/commit/e15df145f3581a944126c5f386dbd0fcf5d80fd2
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M tests/ovs-vswitchd.at

  Log Message:
  -----------
  ovs-vswitchd.at: Add test for switch over to another ovs-vswitchd.

Test the switch over to inactive ovs-vswitchd process when user
kill the currently active ovs-vswitchd.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: 705e9260d54d55ed1d484a8fead27f33f714a94c
      https://github.com/openvswitch/ovs/commit/705e9260d54d55ed1d484a8fead27f33f714a94c
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-03 (Fri, 03 Oct 2014)

  Changed paths:
    M acinclude.m4
    M datapath/datapath.c
    M datapath/linux/compat/gre.c
    M datapath/linux/compat/include/linux/hash.h
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/include/net/genetlink.h
    M datapath/linux/compat/include/net/gre.h
    M datapath/linux/compat/include/net/ip_tunnels.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/ip_tunnels_core.c
    M datapath/linux/compat/skbuff-openvswitch.c
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Add support for RHEL-7 / CentOS-7 kernel.

This patch mostly is related to tunnel API where RHEL 7
kernel API are not in-sync with newer linux kernel API. So
extra checks are required to check for parameters of API.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jiri Benc <jbenc at redhat.com>


  Commit: 3e5aeeb581faf7d69c09acbff7b0717ad5f27810
      https://github.com/openvswitch/ovs/commit/3e5aeeb581faf7d69c09acbff7b0717ad5f27810
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M NEWS
    M ofproto/bond.c
    M ofproto/bond.h
    M tests/lacp.at
    M vswitchd/bridge.c
    M vswitchd/vswitch.ovsschema
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  bridge: Keep bond active slave selection across OVS restart

Whenever OVS restarts, it pseudo-randomly picks an interface
of a bond port to be the active slave. This can cause traffic
disruption in case the upstream switch does not support LACP, or
in case of multi-chassis switches that do not support mLACP.

This patch helps the situation by always record the last active
slave into ovsdb. When OVS restarts, the stored last active slave
has the highest priority to be selected again. In case this interface
is available, due to configuration changes or being offline, OVS then
consider other interfaces with the bond as it does today.

In a nutshell, this patch makes the active slave selection stickier
across OVS restart.

VMware-BZ:  1332235

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: 8a986a0ab001fc9535a5c5fe4c2b82e1dedcc0ff
      https://github.com/openvswitch/ovs/commit/8a986a0ab001fc9535a5c5fe4c2b82e1dedcc0ff
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M manpages.mk
    M vswitchd/ovs-vswitchd.8.in

  Log Message:
  -----------
  ovs-vswitchd: Document the '--unixctl' option.

The option is documented for ovsdb-server but not for ovs-vswitchd.
This commit adds the documentation for ovs-vswitchd too.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: b3fca241bc3ecde81da6f6136f3dd0f1604a7412
      https://github.com/openvswitch/ovs/commit/b3fca241bc3ecde81da6f6136f3dd0f1604a7412
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M vswitchd/ovs-vswitchd.8.in

  Log Message:
  -----------
  ovs-vswitchd: Add a missing headline in documentation.

The logging options were shown as part of the "Public Key Infrastructure
Options". Correct it.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: 1786535e7ef76d3bd3de5b15b8f22083eb5beb7e
      https://github.com/openvswitch/ovs/commit/1786535e7ef76d3bd3de5b15b8f22083eb5beb7e
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M tests/ovs-vswitchd.at

  Log Message:
  -----------
  ovs-vswitchd.at: Port tests to run successfully on Windows.

It is a little tricky to implement "$!" with unit tests on Windows.
This commit changes the tests so that it works both on Windows
and Linux.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: e6ac5e9ea90efd0edb6ae0b0e6f70bf59795f42b
      https://github.com/openvswitch/ovs/commit/e6ac5e9ea90efd0edb6ae0b0e6f70bf59795f42b
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows: Netlink additional APIs.

In this patch we have added following new APIs.

NlMsgAlignSize => Aligns the size of netlink message.
NlMsgSetSize => Sets the value of nlmsgLen.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ffa08087fed5e35e017be176a586c1dbe8bb71a1
      https://github.com/openvswitch/ovs/commit/ffa08087fed5e35e017be176a586c1dbe8bb71a1
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Netlink/NetlinkBuf.c
    M datapath-windows/ovsext/Netlink/NetlinkBuf.h

  Log Message:
  -----------
  datapath-windows: Added the API for getting unused space in nlbuf.

Also, the boundary check in NlBufAt was a little weird.
Fixed the same.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 90439167684c9579aae518b291e7ae513da540bb
      https://github.com/openvswitch/ovs/commit/90439167684c9579aae518b291e7ae513da540bb
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsPub.h
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h

  Log Message:
  -----------
  datapath-windows: Flow Dump handler

In this patch we have added basic changes for
handler registeration for FLOW_GET command.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 211656d104a3c59e7ceb6a5550b0007db3b4a199
      https://github.com/openvswitch/ovs/commit/211656d104a3c59e7ceb6a5550b0007db3b4a199
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Flow dump implementation.

In this patch we have implemented the flow dump.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8c26b81a9eb90a474fd89a64f72c01c3ab67d8d1
      https://github.com/openvswitch/ovs/commit/8c26b81a9eb90a474fd89a64f72c01c3ab67d8d1
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h
    M datapath-windows/ovsext/Ioctl.c

  Log Message:
  -----------
  datapath-windows: Flow get implementation.

In this patch we have implemented the flow get.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7f8350b09dc23d73dd5727df2a42c48b4a5568f2
      https://github.com/openvswitch/ovs/commit/7f8350b09dc23d73dd5727df2a42c48b4a5568f2
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M rhel/openvswitch.spec.in

  Log Message:
  -----------
  openvswitch.spec: Remove dependency with openvswitch-kmod.

Upstream Linux has OVS kernel module that includes most (not all) of
the features that comes with the kernel module from openvswitch.org.
So, it is okay to relax the requirement for OVS userspace package
to depend on openvswitch-kmod package.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 78c9486d863bf78b6447e104356fb133fc43f400
      https://github.com/openvswitch/ovs/commit/78c9486d863bf78b6447e104356fb133fc43f400
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/flow.c
    M lib/flow.h
    M lib/match.c
    M ofproto/ofproto-dpif-upcall.c
    M tests/dpif-netdev.at
    M tests/ofp-print.at
    M tests/ofproto-dpif.at
    M tests/ofproto.at
    M tests/vlan-splinters.at

  Log Message:
  -----------
  lib/match: Do not format undefined fields.

Add function flow_wildcards_init_for_packet() that can be used to set
sensible wildcards when megaflows are disabled.  Before this, we set
all the mask bits to ones, which caused printing tunnel, mpls, and/or
transport port fields even for packets for which it makes no sense.

This has the side effect of generating different megaflow masks for
different packet types, so there will be more than one kind of mask in
the datapath classifier.  This should not make practical difference,
as megaflows should not be disabled when performance is important.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 60df616ff6a815920048e0ebb5d2990aa0054aa2
      https://github.com/openvswitch/ovs/commit/60df616ff6a815920048e0ebb5d2990aa0054aa2
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/meta-flow.c

  Log Message:
  -----------
  lib/meta-flow: Index correct MPLS lse in mf_is_all_wild().

Should index the first lse for all parts of the lse (label, TC, BOS).

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 22d38fca74ca5be26dda7e8ede02ba7f33170222
      https://github.com/openvswitch/ovs/commit/22d38fca74ca5be26dda7e8ede02ba7f33170222
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/flow.c
    M lib/odp-util.c
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  lib: Fix MPLS masking.

Previously we masked labels not present in the incoming packet.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ee58b46960f3a922d5b4d426afc62cfa177819b4
      https://github.com/openvswitch/ovs/commit/ee58b46960f3a922d5b4d426afc62cfa177819b4
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/cmap.c
    M lib/cmap.h

  Log Message:
  -----------
  lib/cmap: Return number of nodes from functions modifying the cmap.

We already update the count field as the last step of these functions,
so returning the current count is very cheap.  Callers that care about
the count become a bit more efficient, as they avoid extra
non-inlineable function call.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 44a48152d82b820f0e9d090c31d89ab8d7f9c6bf
      https://github.com/openvswitch/ovs/commit/44a48152d82b820f0e9d090c31d89ab8d7f9c6bf
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M tests/test-cmap.c

  Log Message:
  -----------
  tests/test-cmap: Balance benchmarks between cmap and hmap.

The test cases have been carefully crafted so that we do the same
amount of "overhead" operations in each case.  Earlier, with no
mutations, the number of random number generations was different for
hmap and cmap test cases.  hmap test was also missing an ignore() call.
Now the numbers look like this:

$ tests/ovstest test-cmap benchmark 2000000 8 0
Benchmarking with n=2000000, 8 threads, 0.00% mutations:
cmap insert:    597 ms
cmap iterate:    65 ms
cmap search:    299 ms
cmap destroy:   251 ms

hmap insert:    243 ms
hmap iterate:   201 ms
hmap search:    299 ms
hmap destroy:   202 ms

So it seems search on cmap can be as fast as on hmap in the
single-threaded case.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 6b3b75b7b2dd41a23c3ca3311a6b0f8a7d84f20b
      https://github.com/openvswitch/ovs/commit/6b3b75b7b2dd41a23c3ca3311a6b0f8a7d84f20b
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/cmap.c

  Log Message:
  -----------
  lib/cmap: More efficient cmap_find().

    These makes cmap_find 10% faster on GCC 4.7 (-O2 -g).

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5c416811ee851961052feb5330c6fd2227b314a8
      https://github.com/openvswitch/ovs/commit/5c416811ee851961052feb5330c6fd2227b314a8
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/cmap.c

  Log Message:
  -----------
  lib/cmap: Use non-atomic access to hash.

We use the 'counter' as a "lock" providing acquire-release
semantics.  Therefore we can use normal, non-atomic access to the
memory accesses between the atomic accesses to 'counter'.  The
cmap_node.next needs to be RCU, so that can not be changed.

For the writer this is straightforward, as we first acquire-read the
counter and after all the changes we release-store the counter.  For
the reader this is a bit more complex, as we need to make sure the
last counter read is not reordered with the preceding read operations
on the bucket contents.

Also rearrange code to benefit from the fact that hash values are
unique in any bucket.

This patch seems to make cmap_insert() a bit faster.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 55847abee8fdb45f06ef94764d766ee81abb9ac4
      https://github.com/openvswitch/ovs/commit/55847abee8fdb45f06ef94764d766ee81abb9ac4
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/classifier.c
    M lib/cmap.c
    M lib/cmap.h
    M lib/dpif-netdev.c

  Log Message:
  -----------
  lib/cmap: split up cmap_find().

This makes the following patch easier and cleans up the code.

Explicit "inline" keywords seem necessary to prevent performance
regression on cmap_find() with GCC 4.7 -O2.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 52a524eb20462dd20d2e4e38d0fe97c07de040a7
      https://github.com/openvswitch/ovs/commit/52a524eb20462dd20d2e4e38d0fe97c07de040a7
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/bitmap.h
    M lib/classifier.c
    M lib/classifier.h
    M lib/cmap.c
    M lib/cmap.h
    M lib/dpif-netdev.c
    M tests/test-cmap.c

  Log Message:
  -----------
  lib/cmap: cmap_find_batch().

Batching the cmap find improves the memory behavior with large cmaps
and can make searches twice as fast:

$ tests/ovstest test-cmap benchmark 2000000 8 0.1 16
Benchmarking with n=2000000, 8 threads, 0.10% mutations, batch size 16:
cmap insert:    533 ms
cmap iterate:    57 ms
batch search:   146 ms
cmap destroy:   233 ms

cmap insert:    552 ms
cmap iterate:    56 ms
cmap search:    299 ms
cmap destroy:   229 ms

hmap insert:    222 ms
hmap iterate:   198 ms
hmap search:   2061 ms
hmap destroy:   209 ms

Batch size 1 has small performance penalty, but all other batch sizes
are faster than non-batched cmap_find().  The batch size 16 was
experimentally found better than 8 or 32, so now
classifier_lookup_miniflow_batch() performs the cmap find operations
in batches of 16.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 1ce4551c8c158e465734e26589d8444477cd5218
      https://github.com/openvswitch/ovs/commit/1ce4551c8c158e465734e26589d8444477cd5218
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/PacketIO.c

  Log Message:
  -----------
  datapath-windows: Incorrect assumption of the IRQL

Acquiring a spin lock raises the IRQL to DISPATCH_LEVEL. But
in many places of the code, while holding a spin lock, there
are useless checks for the current IRQL against DISPATCH_LEVEL.
Also, the dispatch flag is not correctly set when calling
NdisAcquireRWLockXXX() functions, which causes an extra check
of the current IRQL.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/47
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c409f89e6755074fc5c6a94f11aebbb7d3d64b52
      https://github.com/openvswitch/ovs/commit/c409f89e6755074fc5c6a94f11aebbb7d3d64b52
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h

  Log Message:
  -----------
  OvsDpInterfaceExt.h: add support for netlink family for netdev

In this patch, we define netlink family, attributes and commands
for query the 'network device' information of VPORTs, such as
MTU, Link status, etc.

I considered adding the netdev command to the OVS_WIN_CONTROL_FAMILY
itself, but the netdev attributes are not compatible with the existing
attributes for the events. I also considered adding new attributes to
the VPORT family, but we'll have to extend the standard datapath
interface for that.

In this patch, we fix the definition of 'OVS_WIN_CONTROL_ATTR_MAX' as
well.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 83cc9d5612955f1c5f4d2c09a58ae84ce9db6ac4
      https://github.com/openvswitch/ovs/commit/83cc9d5612955f1c5f4d2c09a58ae84ce9db6ac4
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: add support for OVS_WIN_NETDEV_FAMILY

In this patch, we add support for family ID lookup of
OVS_WIN_NETDEV_FAMILY.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 078eedf4f70cfb3cacb8372ed3da7e4951aa4d23
      https://github.com/openvswitch/ovs/commit/078eedf4f70cfb3cacb8372ed3da7e4951aa4d23
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/automake.mk
    M lib/netdev-provider.h
    A lib/netdev-windows.c
    M lib/netdev.c

  Log Message:
  -----------
  netdev-windows: New module.

In this patch, we add a lib/netdev-windows.c which mostly contains stub
code and in subsequent patches, would use the netlink interface to query
netdev information for a vport.

The code implements netdev functionality for "internal" and "system"
types of vports.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3e648bc5f25aed301246273f3c59c267d24a0d8d
      https://github.com/openvswitch/ovs/commit/3e648bc5f25aed301246273f3c59c267d24a0d8d
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/netdev-windows.c

  Log Message:
  -----------
  netdev-windows: add code to query netdev information

Primary goals of netdev-windows.c are:
1) To query the 'network device' information of a vport such as MTU, etc.
2) Monitor changes to the 'network device' information such as link
status.

In this change, we implement only #1. #2 can also be implemented, but it
does not seem to be required for the purposes of implement
'ovs-dpctl.exe show'.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2b144cbb05f8af1836f11804b30e5d01e28d7394
      https://github.com/openvswitch/ovs/commit/2b144cbb05f8af1836f11804b30e5d01e28d7394
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Add stub handlers for netdev commands

In this patch, we add stub handlers for the netdev commands.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d952b66885200627b70b24acde8fe81a7a31c7c1
      https://github.com/openvswitch/ovs/commit/d952b66885200627b70b24acde8fe81a7a31c7c1
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h

  Log Message:
  -----------
  datapath-windows: Some fixes in vport get code

In this patch, we make some fixes in the vport get code as well as
elevating some utility functions from static to non-static.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: be5816753b8f99cc107410d1ad3d01dc99b04618
      https://github.com/openvswitch/ovs/commit/be5816753b8f99cc107410d1ad3d01dc99b04618
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: implementation of netdev commands

validation:
- Vport dump works now without printing any errors. I didn't go so far
as to test if vport add works.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 058322ccd21d0d32464de31192c97526e24cb788
      https://github.com/openvswitch/ovs/commit/058322ccd21d0d32464de31192c97526e24cb788
  Author: Wang Sheng-Hui <shhuiw at gmail.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/ofpbuf.h

  Log Message:
  -----------
  ofpbuf: Correct comments for ofpbuf_tail and ofpbuf_end().

The return type of ofpbuf_tail() and ofpbuf_end() is pointer, not byte.

Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: dffefb4f02556de84807e31ff8adcc0e631e19b6
      https://github.com/openvswitch/ovs/commit/dffefb4f02556de84807e31ff8adcc0e631e19b6
  Author: Wang Sheng-Hui <shhuiw at gmail.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/ofpbuf.c

  Log Message:
  -----------
  ofpbuf: Correct comment for ofpbuf_reserve_with_tailroom().

Correct the old comment like ofpbuf_reserve() to describe the expected
behavior of ofpbuf_reserve_with_tailroom().

Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8b6c2c88db1c7ee3b910c3b720f3a2469d6c855d
      https://github.com/openvswitch/ovs/commit/8b6c2c88db1c7ee3b910c3b720f3a2469d6c855d
  Author: Wang Sheng-Hui <shhuiw at gmail.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/ofpbuf.c

  Log Message:
  -----------
  ofpbuf: Correct the comment for ofpbuf_trim().

Headroom and tailroom both are removed.

Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 25f451432ec75a80b16cd093d01897ae7439788d
      https://github.com/openvswitch/ovs/commit/25f451432ec75a80b16cd093d01897ae7439788d
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-06 (Mon, 06 Oct 2014)

  Changed paths:
    M lib/util.c
    M lib/util.h

  Log Message:
  -----------
  util: Use MSVC compiler intrinsic for clz and ctz.

Using the compiler intrinsic shows approximately around 25% speed
up with some classifier specific unit tests.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 154374a72b1065ca5de09fb8e8f9266eb9b5cc8b
      https://github.com/openvswitch/ovs/commit/154374a72b1065ca5de09fb8e8f9266eb9b5cc8b
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/flow.h

  Log Message:
  -----------
  dpif-netdev: reduce netdev_flow_key size

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 3f5ce9ef37fe052c2f01d15f44996733920ce937
      https://github.com/openvswitch/ovs/commit/3f5ce9ef37fe052c2f01d15f44996733920ce937
  Author: Niels van Adrichem <N.L.M.vanAdrichem at tudelft.nl>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M AUTHORS
    M lib/bfd.c

  Log Message:
  -----------
  BFD: Decreasing minimal transmit and receive interval

I found the BFD transmit interval was lowerbounded by the default value
without warning, although documentation does not consider a lowerbound.

Testing has been performed with transmit and receive intervals as low as 1
ms, and although CPU overhead was effected (especially with multiple BFD
sessions such as 6 and higher), it worked well.

Signed-off-by: Niels van Adrichem <n.l.m.vanadrichem at tudelft.nl>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1f2e8d2d85ab7dac37653c4f9d034ce452f289ca
      https://github.com/openvswitch/ovs/commit/1f2e8d2d85ab7dac37653c4f9d034ce452f289ca
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M lib/flow.h

  Log Message:
  -----------
  flow: Clean up MINIFLOW_FOR_EACH_IN_MAP.

It seemed awkward to have declarations outside the for loop.

This may also be a little faster because it avoids some calls to
count_1bits().  The idea for that change is due to Jarno Rajahalme
<jrajahalme at nicira.com>.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 795b3288aa5cb869da4fd50f5ebd09cdcc6d0c5c
      https://github.com/openvswitch/ovs/commit/795b3288aa5cb869da4fd50f5ebd09cdcc6d0c5c
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M lib/automake.mk
    R lib/bitmap.c
    M lib/bitmap.h
    M lib/util.h
    M tests/test-bitmap.c

  Log Message:
  -----------
  lib/bitmap: Faster bitmap functions.

Replace bitwise loops with a single operation, inline all bitmap
functions.  Inlining allows the compiler to remove unnecessary code
due to some parameters being compile-time constants.

Before:

$ tests/ovstest test-bitmap benchmark 1000000
bitmap equal:    341 ms
bitmap scan:   8089 ms

After:

$ tests/ovstest test-bitmap benchmark 1000000
bitmap equal:    152 ms
bitmap scan:    146 ms

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Co-authored-by: Kmindg <kmindg at gmail.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: a4ce8b2582e79e16c9ea4ef4565a125620826848
      https://github.com/openvswitch/ovs/commit/a4ce8b2582e79e16c9ea4ef4565a125620826848
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    A build-aux/extract-ofp-fields
    M include/openflow/nicira-ext.h
    M include/openflow/openflow-1.2.h
    M lib/automake.mk
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/ofp-actions.c

  Log Message:
  -----------
  meta-flow: Autogenerate mf_field data structures.

This is a first step toward improving the abstraction of OXM and NXM in the
tree.  As an immediate improvement, this commit removes all of the
definitions of the OXM and NXM constants from the top-level header files,
because they are no longer used anywhere.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 099c06e3014b786897d396bdab07037f28a1089b
      https://github.com/openvswitch/ovs/commit/099c06e3014b786897d396bdab07037f28a1089b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M lib/util.c
    M lib/util.h

  Log Message:
  -----------
  util: New function bitwise_scan().

This will acquire its first user in an upcoming commit.

This implementation is not optimized at all but it doesn't matter for the
purpose for which I intend to initially use it.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: ba5cc068c8e295453e8ccb9cf223045d5a9e0976
      https://github.com/openvswitch/ovs/commit/ba5cc068c8e295453e8ccb9cf223045d5a9e0976
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M lib/nx-match.c
    M lib/ofp-util.c

  Log Message:
  -----------
  ovs-ofctl: Encode cookies in OXM-compliant manner.

NXM/OXM are only supposed to put 1-bits in a value if the corresponding bit
in the mask is a 1-bit, but in the case of cookie matching, e.g.
    ovs-ofctl del-flows br0 cookie=0x3/0x1
ovs-ofctl would encode a bad OXM.  This fixes the problem.

(The test "ofproto - del flows based on cookie mask" in the OVS testsuite
tickles this bug.)

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 178742f941354475c3f242c676b3e772ad5d7d9e
      https://github.com/openvswitch/ovs/commit/178742f941354475c3f242c676b3e772ad5d7d9e
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M build-aux/extract-ofp-fields
    M include/openflow/nicira-ext.h
    M include/openflow/openflow-1.2.h
    M lib/automake.mk
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/nx-match.c
    M lib/nx-match.h
    M lib/ofp-actions.c
    M lib/ofp-util.c
    M ofproto/ofproto.c
    M tests/ofp-actions.at
    M tests/ovs-ofctl.at
    M vswitchd/bridge.c

  Log Message:
  -----------
  nx-match: Move all knowledge of OXM/NXM here.

This improves the general abstraction of OXM/NXM by eliminating direct
knowledge of it from the meta-flow code and other places.

Some function renaming might be called for; for example, mf_oxm_header()
may not be the best name now that the function is implemented within
nx-match.  However, these renamings would make this commit larger and
harder to review, so I'm postponing them.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: f13cdd7374e00afb38d56de5f5ac622c66190245
      https://github.com/openvswitch/ovs/commit/f13cdd7374e00afb38d56de5f5ac622c66190245
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M lib/ofp-actions.c

  Log Message:
  -----------
  ofp-actions: Better support OXM in Copy-Field action.

The OpenFlow 1.5 (draft) Copy-Field action has two OXM headers, one after
the other.  Until now, Open vSwitch has implemented these as a pair of
ovs_be32 members, which meant that only 32-bit OXM could be supported.  This
commit changes the implementation to use nx_pull_header(), which means that
in the future when that function supports 64-bit experimenter OXMs,
Copy-Field will automatically get that support too.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: ef31e854e70134a051cb12ab7daa46ba72e25b88
      https://github.com/openvswitch/ovs/commit/ef31e854e70134a051cb12ab7daa46ba72e25b88
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-07 (Tue, 07 Oct 2014)

  Changed paths:
    M vswitchd/vswitch.ovsschema

  Log Message:
  -----------
  vswitch.ovsschema: Correct schema version number.

Commit 3e5aeeb581faf7 (bridge: Keep bond active slave selection across OVS
restart) updated the OVS schema number from 7.9.0 to 8.0.0.  However,
the major version number should only be incremented for incompatible schema
changes, ones that are likely to break software that interacts with the
schema.  The change in question only added a column to a table, so it is
not an incompatible change.  Therefore, this commit changes the schema
version number to 7.10.0, indicating a compatible change.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 8d0ba416d45a2bd679d4677ba636f6f769cd9cf3
      https://github.com/openvswitch/ovs/commit/8d0ba416d45a2bd679d4677ba636f6f769cd9cf3
  Author: Lucian Petrut <lpetrut at cloudbasesolutions.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M AUTHORS
    M datapath-windows/misc/OVS.psm1

  Log Message:
  -----------
  Update the WMI Script handling Hyper-V friendly port names

This patch ensures that the friendly port name has no more than 16 characters
and also if it is not in use.

The method which checks the WMI jobs has been updated in order to provide
relevant error codes/descriptions.

Methods retrieving the according VM and VM network adapter mapped to an OVS
port have been added as well. They are called:
Get-VMNetworkAdapterByOVSPort
Get-VMByOVSPort

Example of usage:
 2 import-module .\OVS.psm1
 3 $vnic = Get-VMNetworkAdapter test_2_1
 4 $vnic[0] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1
 5 $vnic[1] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1
 6 $vnic[0] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-2
 7 $vnic[1] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1
 8 Get-VMNetworkAdapterByOVSPort ovs-port-1
 9 Get-VMByOVSPort ovs-port-2

Signed-off-by: Lucian Petrut <lpetrut at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ff8debff85f864767ed5cd61c231f6d97d95d680
      https://github.com/openvswitch/ovs/commit/ff8debff85f864767ed5cd61c231f6d97d95d680
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/.gitignore

  Log Message:
  -----------
  Add meta-flow.inc nx-match.inc to lib/.gitignore

Add the following files:
meta-flow.inc
nx-match.inc
to lib/.gitignore

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1c58a78b147bdaf7b3375c203c719ece2e0ba709
      https://github.com/openvswitch/ovs/commit/1c58a78b147bdaf7b3375c203c719ece2e0ba709
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ovs-ofctl: Document protocol-specific forms as preferred over tp_src/tp_dst.

The generic form doesn't work in "learn" actions.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Reported-by: Alex Wang <alexw at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: ff495b63789eed398b0bee0f11676d13ca102ac0
      https://github.com/openvswitch/ovs/commit/ff495b63789eed398b0bee0f11676d13ca102ac0
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M NEWS
    M lib/ovsdb-idl.c
    M lib/ovsdb-idl.h
    M tests/ovs-vsctl.at
    M utilities/ovs-vsctl.c

  Log Message:
  -----------
  ovs-vsctl: Allow modifying "immutable" columns if we just created the row.

OVSDB has the concept of "immutable" columns, which are columns whose
values are fixed once a row is inserted.  Until now, ovs-vsctl has not
allowed these columns to be modified at all.  However, this is a little too
strict, because these columns can be set to any value at the time that the
row is inserted.  This commit relaxes the ovs-vsctl requirement, then, to
allow an immutable column's value to be modified if its row has been
inserted within this transaction.

Requested-by: Mukesh Hira <mhira at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0bfecde16d4f20dc5aa52517db95519fb70266be
      https://github.com/openvswitch/ovs/commit/0bfecde16d4f20dc5aa52517db95519fb70266be
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/netdev-windows.c

  Log Message:
  -----------
  lib/netdev-windows.c: nuke the init function.

The init function is not allowed to call into the kernel datapath
while running unit tests since the kernel datapath is not loaded.
Instead of making the function dummy, it is better to not have it
at all.

Reported-by: Gurucharan Shetty <gshetty at nicira.com>
Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: ebeae5db715dd4a33a6918765505b5695f938fce
      https://github.com/openvswitch/ovs/commit/ebeae5db715dd4a33a6918765505b5695f938fce
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M tests/ofproto.at

  Log Message:
  -----------
  tests: Check that port status MODIFY messages are generated.

ONF-JIRA: EXT-338
Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>


  Commit: 7eb4b1f1d70345f44ac7f3de89eb0340a5cafb71
      https://github.com/openvswitch/ovs/commit/7eb4b1f1d70345f44ac7f3de89eb0340a5cafb71
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M NEWS
    M lib/learn.c
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/nx-match.c
    M lib/nx-match.h
    M lib/ofp-actions.c
    M lib/ofp-actions.h
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofp-actions.at
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ofp-actions: Support OF1.5 (draft) masked Set-Field, merge with reg_load.

OpenFlow 1.5 (draft) extends the OFPAT_SET_FIELD action originally
introduced in OpenFlow 1.2 so that it can set not just entire fields but
any subset of bits within a field as well.  This commit adds support for
that feature when OpenFlow 1.5 is used.

With this feature, OFPAT_SET_FIELD becomes a superset of NXAST_REG_LOAD.
Thus, this commit merges the implementations of the two actions into a
single ofpact_set_field.

ONF-JIRA: EXT-314
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: f8047558b89d3181f07c5cb27f5a19786808545a
      https://github.com/openvswitch/ovs/commit/f8047558b89d3181f07c5cb27f5a19786808545a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/nx-match.c

  Log Message:
  -----------
  nx-match: Use nx_put_header() internally for encoding flow matches.

This will make it easier to support 64-bit OXM experimenter fields.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 2bef8e0746e0e3b3f7906c6b05cb306052761037
      https://github.com/openvswitch/ovs/commit/2bef8e0746e0e3b3f7906c6b05cb306052761037
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Add test for masked set_field action.

ONF-JIRA: EXT-314
Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>


  Commit: c8058af786ae27ce8a47731cc5c49ca4f20d08ae
      https://github.com/openvswitch/ovs/commit/c8058af786ae27ce8a47731cc5c49ca4f20d08ae
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/nx-match.c

  Log Message:
  -----------
  nx-match: Speak of 'class' instead of 'vendor' for OXM/NXM.

OXM renamed the 'vendor' field from NXM to the 'class', and uses the term
"experimenter", which OVS usually renders as "vendor" for historical
reasons, as part of the extended 64-bit OXMs.  To reduce confusion, this
commit adopts the OXM terminology for class.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 0429d9599ca7382afecdf2d9d62fffcfa495fbd7
      https://github.com/openvswitch/ovs/commit/0429d9599ca7382afecdf2d9d62fffcfa495fbd7
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/json.c
    M lib/nx-match.c
    M lib/util.c
    M lib/util.h

  Log Message:
  -----------
  util: Make hexits_value() support 64-bit integers too.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 508a933809f8a8ede4fb93f1c1e3212799efc16a
      https://github.com/openvswitch/ovs/commit/508a933809f8a8ede4fb93f1c1e3212799efc16a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M build-aux/extract-ofp-fields
    M lib/meta-flow.h
    M lib/nx-match.c
    M lib/nx-match.h
    M lib/ofp-actions.c
    M tests/ofp-print.at
    M tests/ovs-ofctl.at
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  nx-match: Add support for experimenter OXM.

OpenFlow 1.2+ defines a means for vendors to define vendor-specific OXM
fields, called "experimenter OXM".  These OXM fields are expressed with a
64-bit OXM header instead of the 32-bit header used for standard OXM (and
NXM).  Until now, OVS has not implemented experimenter OXM, and indeed we
have had little need to do so because of a pair of special 32-bit OXM classes
grandfathered to OVS as part of the OpenFlow 1.2 standardization process.

However, I want to prototype a feature for OpenFlow 1.5 that uses an
experimenter OXM as part of the prototype, so to do this OVS needs to
support experimenter OXM.  This commit adds that support.

Most of this commit is a fairly straightforward change: it extends the type
used for OXM/NXM from 32 to 64 bits and adds code to encode and decode the
longer headers when necessary.  Some other changes are necessary because
experimenter OXMs have a funny idea of the division between "header" and
"body": the extra 32 bits for experimenter OXMs are counted as part of the body
rather than the header according to the OpenFlow standard (even though this
does not entirely make sense), so arithmetic in various places has to be
adjusted, which is the reason for the new functions nxm_experimenter_len(),
nxm_payload_len(), and nxm_header_len().

Another change that calls for explanation is the new function mf_nxm_header()
that has been split from mf_oxm_header().  This function is used in actions
where the space for an NXM or OXM header is fixed so that there is no room
for a 64-bit experimenter type.  An upcoming commit will add new variations
of these actions that can support experimenter OXM.

Testing experimenter OXM is tricky because I do not know of any in
widespread use.  Two ONF proposals use experimenter OXMs: EXT-256 and
EXT-233.  EXT-256 is not suitable to implement for testing because its use
of experimenter OXM is wrong and will be changed.  EXT-233 is not suitable
to implement for testing because it requires adding a new field to struct
flow and I am not yet convinced that that field and the feature that it
supports is worth having in Open vSwitch.  Thus, this commit assigns an
experimenter OXM code point to an existing OVS field that is currently
restricted from use by controllers, "dp_hash", and uses that for testing.
Because controllers cannot use it, this leaves future versions of OVS free
to drop the support for the experimenter OXM for this field without causing
backward compatibility problems.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 31c9ed6c6fa220106472c46e652f4af29ad47d9a
      https://github.com/openvswitch/ovs/commit/31c9ed6c6fa220106472c46e652f4af29ad47d9a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/ofp-actions.c

  Log Message:
  -----------
  ofp-actions: Correct test for OFPVID_PRESENT bit in set_field action.

Reported-by: Jarno Rajahalme <jrajahalme at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 743c159b5f30a8395e6e7204ce24429a59b87275
      https://github.com/openvswitch/ovs/commit/743c159b5f30a8395e6e7204ce24429a59b87275
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M tests/ofproto.at

  Log Message:
  -----------
  tests: Add test of double set-field in output action list.

ONF-JIRA: EXT-314
Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: bad8a439942c517d660720bdf2f113493081c336
      https://github.com/openvswitch/ovs/commit/bad8a439942c517d660720bdf2f113493081c336
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M lib/bundle.c
    M lib/learn.c
    M lib/multipath.c
    M lib/ofp-actions.c

  Log Message:
  -----------
  ofp-actions: Support experimenter OXMs in Nicira extensions.

Some of the Nicira extension actions include fixed-size 32-bit members that
designate NXM fields.  These actions can't accommodate 64-bit experimenter
OXMs, so we need to figure out some kind of solution.  This commit does
that, in different ways for different actions.

For some actions, I did not think it was worthwhile to worry about
experimenter OXM, so I just disabled use of them.  This is what I did for
bundle, learn, and multipath actions.

Other actions could be gracefully reinterpreted to support experimenter
OXM.  This is true of reg_move, which use NXM headers only at the end of
the action and such that using an experimenter OXM would make the action
longer (which unambigously signals to older OVS that the action is an
error, which is desired behavior since older OVS cannot interpret this
action).  The stack push and pop actions are also in this category.

reg_load was the most frustrating case.  In OpenFlow 1.5 we had already
eliminated this action in favor of OF1.5+ set_field.  In other OpenFlow
versions, though, reg_load is more powerful than set_field because it
can modify partial fields.  This commit therefore adds a new variant of
reg_load, called reg_load2, which is simply OF1.5+ set_field with a Nicira
extension header on it.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: c47bb4350110a9b3aeb39b1c122c13b8914a7233
      https://github.com/openvswitch/ovs/commit/c47bb4350110a9b3aeb39b1c122c13b8914a7233
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M build-aux/cccl

  Log Message:
  -----------
  cccl: Ignore -fno-strict-aliasing.

Add a case for the gcc flag fno-strict-aliasing into cccl
Under MSVC  Strict aliasing is off by default.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 79461d20a8d5b7aba6cae5f6fa0fad5e8ac49235
      https://github.com/openvswitch/ovs/commit/79461d20a8d5b7aba6cae5f6fa0fad5e8ac49235
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M lib/unaligned.h

  Log Message:
  -----------
  unaligned: Make get_unaligned_be64() compatible on GCC and non-GCC.

Until now, with GCC, get_unaligned_be64() had an interface that accepted
a "ovs_be64 *", and with other compilers its accepted any
pointer-to-64-bit type, but not void *.  This commit fixes the problem,
making the interface the same in both cases.

This fixes a build error on MSVC:

    lib/nx-match.c(320) : error C2100: illegal indirection
    lib/nx-match.c(320) : error C2034: 'build_assert_failed' : type of bit
  field too small for number of bits
    lib/nx-match.c(320) : error C2296: '%' : illegal, left operand has
  type 'void *'
    lib/nx-match.c(320) : error C2198: 'ntohll' : too few arguments for call

It might appear that this patch changes get_unaligned_u64() but in fact
it onloy moves it earlier in the file (since it is now called from the
non-GCC fork of the #if).

Reported-by: Alin Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: df4879cd5f2c13f80416db84e75692340ba42021
      https://github.com/openvswitch/ovs/commit/df4879cd5f2c13f80416db84e75692340ba42021
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Add support for OVS_DP_CMD_NEW Netlink command.

In this change, we add support for the 'OVS_DP_CMD_NEW' netlink command
in the kernel. We don't really support creation of a new datapath. If
the name of the userspace is the same as the single datapath we support,
we return EEXIST.

This code is required to bootstrap ovs-vswitchd which makes the
following sequence of calls:
open_dpif_backer() -> dpif_create_and_open() -> dpif_create()

We also rename HandleDpTransaction() to HandleDpTransactionCommon().

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: d8cecf5803a927d050b4e7ec752def024c601778
      https://github.com/openvswitch/ovs/commit/d8cecf5803a927d050b4e7ec752def024c601778
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Update OvsGetExtInfoIoctl() to the new vport add workflow

I applied the patches for the new vport add workflow that is out for
review, and found that some of the existing code in OvsGetExtInfoIoctl()
needs to be updated. In this patch, we add a CPP called
USE_NEW_VPORT_ADD_WORKFLOW and add the fixes under
USE_NEW_VPORT_ADD_WORKFLOW == 1. The current value is set to 0, since
the vport add code is not checked in yet.

Sending out this patch to unblock the vport add code when it gets checked
in. There are other fixes also required, but they are being addressed as
part of the review comments for vport-add.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: ba119c1371f2579dc412855a46b533e442210f4d
      https://github.com/openvswitch/ovs/commit/ba119c1371f2579dc412855a46b533e442210f4d
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M rhel/openvswitch-kmod-rhel6.spec.in

  Log Message:
  -----------
  rhel7: Fix rpm install failure.

When trying to install the kernel module rpm built for RHEL7,
the install failed with following conflicts:

  # rpm -i kmod-openvswitch-2.3.1-1.el7.x86_64.rpm
    file /lib/modules/3.10.0-123.8.1.el7.x86_64/modules.devname
    from install of kmod-openvswitch-2.3.1-1.el7.x86_64 conflicts
    with file from package kernel-3.10.0-123.8.1.el7.x86_64

    file /lib/modules/3.10.0-123.8.1.el7.x86_64/modules.softdep
    from install of kmod-openvswitch-2.3.1-1.el7.x86_64 conflicts
    with file from package kernel-3.10.0-123.8.1.el7.x86_64

Similar issue has already been reported and solved here:

    https://bugzilla.redhat.com/show_bug.cgi?id=1003267

This commit applies the solution in the link to ovs.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 5aca3322a1597575892d52188612f3b89860020b
      https://github.com/openvswitch/ovs/commit/5aca3322a1597575892d52188612f3b89860020b
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M tests/ovs-vswitchd.at
    M vswitchd/bridge.c

  Log Message:
  -----------
  ovs-vswitchd: Fix high cpu utilization when acquire idl lock fails.

When ovs-vswitchd fails to acquire the ovsdb idl lock (either due to
contention or due to invalid database path), ovs-vswitchd will spin
on the global connectivity sequence number and consume 100% cpu.
This is in that the local copy is different to the global sequence
number and never updated when ovsdb idl is not locked.

To fix this issue, this commit makes ovs-vswitchd not checking the
global connectivity sequence number in that situation.

Reported-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 24adf5d6842b30006d35759b475fd15666670b5e
      https://github.com/openvswitch/ovs/commit/24adf5d6842b30006d35759b475fd15666670b5e
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M utilities/bugtool/automake.mk
    A utilities/bugtool/ovs-bugtool-fdb-show
    M utilities/bugtool/plugins/network-status/openvswitch.xml
    M xenserver/README

  Log Message:
  -----------
  ovs-bugtool: Add fdb output for all bridges

Fdb entries can provide useful information. Collect them in bugtool.

Signed-off-by: Andy Zhou <azhou at nicira.com>


  Commit: 41ccaa249c923b623a321a586b640a622cdc2281
      https://github.com/openvswitch/ovs/commit/41ccaa249c923b623a321a586b640a622cdc2281
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif.c
    M lib/odp-execute.c
    M lib/odp-execute.h
    M lib/packet-dpif.c
    M lib/packet-dpif.h
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  netdev-dpif: Add metadata to dpif-packet.

Today dpif-netdev has single metadat for given batch, since one
batch belongs to one port, but soon packets fro single tunnel ports
can belong to different ports, so we need to have per packet metadata.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: afc1faaf4edf39275070003d11f87dfe64a0189e
      https://github.com/openvswitch/ovs/commit/afc1faaf4edf39275070003d11f87dfe64a0189e
  Author: Kyle Mestery <mestery at mestery.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Update my author entry.

Update the email address for myself in the AUTHORS file.

Signed-off-by: Kyle Mestery <mestery at mestery.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ef47ed862c4f5c340a248db1759d75d968885fde
      https://github.com/openvswitch/ovs/commit/ef47ed862c4f5c340a248db1759d75d968885fde
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Remove the old IOCTL vport functions.

The old IOCTL vport functions (using the non-netlink device) are no
longer needed. They should be removed.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fa0483234cc32b354cd37272b0082506d3522871
      https://github.com/openvswitch/ovs/commit/fa0483234cc32b354cd37272b0082506d3522871
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Oid.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Rename hyper-v switch port and nic handlers

Functions such as OvsCreatePort are vague in regard to who creates it or
when. It wasn't a problem thus far, since the vports were created,
updated and destroyed from one place only (hyper-v switch part). But
now, with the netlink implementation of the vport commands, a part of
the vport is constructed by the netlink vport add, and the other part
is constructed by the hyper-v switch nic and port handlers.

This patch renames the hyper-v switch nic and port handlers, so that
they are now prefixed by "Hv" instead of "Ovs", in order to clarify
which of the functions are nic or port handlers. This will make more
clear the usages from netlink vport commands side and from hyper-v
switch side. It will also make more obvious which nic and port
functions are helper functions.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c99e65005e2a5e80978dbed8d4a9266952fb4852
      https://github.com/openvswitch/ovs/commit/c99e65005e2a5e80978dbed8d4a9266952fb4852
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Oid.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: We don't need to keep validation ports in ovs

Validation ports are used internally by the hyper-v switch to validate
and verify settings for the real hyper-v switch ports that will be
connected to the VNic. The validation ports are of no use to us - we
must skip handling them, and return STATUS_SUCCESS as the OID result.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9930aae56893b87b90b32e3a444e73b715167bf9
      https://github.com/openvswitch/ovs/commit/9930aae56893b87b90b32e3a444e73b715167bf9
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Switch.h

  Log Message:
  -----------
  datapath-windows: Update OVS_SWITCH_CONTEXT: external and internal port

The fields externalVport and internalVport of the OVS_SWITCH_CONTEXT
struct are currently defined as PVOID. However, all over the code they
are used as POVS_VPORT_ENTRY. In order to improve clarity and reduce the
need for useless casts to POVS_VPORT_ENTRY, this patch changes the type
from PVOID to POVS_VPORT_ENTRY.

This patch does not cleanup the code that already uses casts to
POVS_VPORT_ENTRY. This cleanup can be done later on as well.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 29a5b29f09b06205a4b5f2d3701cbd18a70ae226
      https://github.com/openvswitch/ovs/commit/29a5b29f09b06205a4b5f2d3701cbd18a70ae226
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Define OVS_DPPORT_NUMBER_INVALID

The fields externalVport and internalVport of the OVS_SWITCH_CONTEXT
struct are currently defined as PVOID. However, all over the code they
are used as POVS_VPORT_ENTRY. In order to improve clarity and reduce the
need for useless casts to POVS_VPORT_ENTRY, this patch changes the type
from PVOID to POVS_VPORT_ENTRY.

This patch does not cleanup the code that already uses casts to
POVS_VPORT_ENTRY. This cleanup can be done later on as well.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1eda776120c4884d55f6ea75313bc49f52a41f1c
      https://github.com/openvswitch/ovs/commit/1eda776120c4884d55f6ea75313bc49f52a41f1c
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Rename OvsGetVportNo into OvsComputeVportNo and make public

OvsGetVportNo computes a new port number. Therefore, OvsComputeVportNo
is a more clear name for what the function does. Reading OvsGetVportNo
may give the false impression that it returns the port number of an
existing vport.

Also, since the responsibility of assigning dp port numbers no longer
falls on the hyper-v switch port handlers side, but on the netlink vport
commands side (vport add), we will need to use this compute port number
function from outside Vport.c. Therefore, this function declaration is
moved from Vport.c to Vport.h, and becomes public.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 147c91db1c2af16e05029998a80438949a3535c6
      https://github.com/openvswitch/ovs/commit/147c91db1c2af16e05029998a80438949a3535c6
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Rename switch context's nameHashArray and vport's nameLink login register

The field nameLink of the OVS_VPORT_ENTRY is the link within the
OVS_SWITCH_CONTEXT's hash array of vports nameHashArray, hashed by the
ovsName field of the OVS_VPORT_ENTRY.

Later on, the friendly name of the hyper-v switch port will need to be
set from userspace using WMI. This will require that the hyper-v switch
port friendly name be set to the exact string value as the ovs
(datapath) port name set from netlink command vport add.

The vport will need to differentiate between the ovs (datapath) port
name and hyper-v switch port friendly name, because they may differ in
erroneous scenarios, or state differences between the hyper-v switch
port and the ovs (datapath) port. This may happen if the vport was
created by the netlink command vport add, but the VM disconnected (i.e.
the hyper-v switch port was later deleted).

Storing another field in vport, "portFriendlyName" would normally
make the current switchContext->nameHashArray and vport->nameLink
confusing since the "name"-s may be understood to mean the hyper-v
switch port friendly name, or the hyper-v switch port name, when it
actually refers to the ovs (datapath) port name.

Hence, the variable nameHashArray is renamed to ovsPortNameHashArray,
while the nameLink is renamed to ovsPortNameLink. This change will make
a clearer connection between these and the vport field "ovsName" to
which they revolve around.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 91c261cd0efc40f7ed70427441141656cf5a3932
      https://github.com/openvswitch/ovs/commit/91c261cd0efc40f7ed70427441141656cf5a3932
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Rename switch context's portHashArray and vport's portLink

The field portLink of the OVS_VPORT_ENTRY is the link within the
OVS_SWITCH_CONTEXT's hash array of vports portHashArray, hashed by the
portId field of the OVS_VPORT_ENTRY.

Later on, we will need to modify the OVS_VPORT_ENTRY so that its port
numbers are set to maximum MAXUINT16. This will require that the field
vportArray of OVS_SWITCH_CONTEXT be removed and replaced with a hash
array, portNoHashArray. Also, a new field, portNoLink, will need to be
added to OVS_VPORT_ENTRY. In order to differentiate between portHashArray
and portNoHashArray, portHashArray is renamed to portIdHashArray. Also,
in order to differentiate between portLink and portNoLink, portLink
is renamed to portIdLink.

In a future patch the vport functionality will be changed to constraint
the port numbers to MAXUINT16.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 429d455615b010cebe9cf1fbcb10b5e20c08c21f
      https://github.com/openvswitch/ovs/commit/429d455615b010cebe9cf1fbcb10b5e20c08c21f
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/Tunnel.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Make VPORT ovs number values smaller than MAXUINT16

For this, the old method of finding vports based on the
ovs port numbers is removed. Now, the lookup of a vport
by ovs port number is done the same way as the lookup by
hyper-v switch port id.

This is done so that the kernel is able to interact with
the userspace correctly when using vport channels.
The problem manifested in lib/dpif-netlink.c, at the function
vport_add_channels.

This patch removes the field vportArray from OVS_SWITCH_CONTEXT.
In its place, portNoHashArray is set. In the OVS_VPORT_ENTRY
struct, we also add portNoLink. This new method will do lookup
and insertions of vports by ovs (datapath) port numbers the same
way it is done for hyper-v switch port ids.

This patch implicitly removes the indexes, which were previously
used in insertions and lookups on ovs port numbers. The removal
of the index also means that the vxlan vport can no longer be
looked up the same way as it was done before: now we hold a pointer
to it, vxlanVport in OVS_SWITCH_CONTEXT. For the moment, we can
have only one vxlan vport. When more will be allowed, this field
will turn into a list of vxlan ports.

The invalid port number value (held in OVS_DPPORT_NUMBER_INVALID)
is now changed from 0 to MAXUINT16, the same as it is on linux.

The function OvsComputeVportNo has also been removed, since the
computation of a vport port number can no longer be done like this.
When vport add will be added, a new, updated OvsComputeVportNo
function will be added.

Also, in OvsInitVportCommon, we no longer need to (and no longer can)
initialize vport->ovsName, nor vport->ovsNameLen, because they will
be initialized by the netlink command vport add. Since the netlink
command vport add will generate numbers for the datapath (ovs) port
numbers and set the port names, we cannot insert the vport into the
hash array of port numbers here, nor into the hash array of port names.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1b859c583a543fd740ef5b8a4716155f14bd78bf
      https://github.com/openvswitch/ovs/commit/1b859c583a543fd740ef5b8a4716155f14bd78bf
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Add port friendly name to OVS_VPORT_ENTRY

The port friendly name will be set by WMI / powershell script.
It will be used from within the netlink command vport new to
identify the hyper-v switch port it represents.

This patch also adds a function to lookup a vport by the
port friendly name.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: bd7fe4e925d73dff879a4a1ac19a4365365e0dd7
      https://github.com/openvswitch/ovs/commit/bd7fe4e925d73dff879a4a1ac19a4365365e0dd7
  Author: Dmitry Krivenok <krivenok.dmitry at gmail.com>
  Date:   2014-10-09 (Thu, 09 Oct 2014)

  Changed paths:
    M AUTHORS
    M m4/openvswitch.m4

  Log Message:
  -----------
  configure: Also check for Python 2.x installed as python2.7.

On ArchLinux "python" points to 3.x version and the right
2.x python binary is "python2.7".

Signed-off-by: Dmitry V. Krivenok <krivenok.dmitry at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 747f140a9940cbd56f0a5ffd4869d8bf93464559
      https://github.com/openvswitch/ovs/commit/747f140a9940cbd56f0a5ffd4869d8bf93464559
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-10 (Fri, 10 Oct 2014)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h

  Log Message:
  -----------
  lib/classifier: Make classifier_remove() more robust.

classifier already provides lockless lookups, and protected
modifications.  When user wants to remove a flow, we currently require
the flow to exist in the classifier.  To be thread safe, this requires
the caller to introduce their own mutex, lock it before a lookup, and
then issue classifier_remove() while the lock is still held.

This patch relaxes the "existence requirement" of the rule in
classifier_remove(), allowing it to be called on a rule that may have
already been removed from the classifier.  This allows users to do a
classifier_lookup() and classifier_remove() without additional
syncronization.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d9723d892b590d7bd57fe549216be2edd0dad5cb
      https://github.com/openvswitch/ovs/commit/d9723d892b590d7bd57fe549216be2edd0dad5cb
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-10-10 (Fri, 10 Oct 2014)

  Changed paths:
    M vswitchd/vswitch.ovsschema

  Log Message:
  -----------
  ovsdb: bond_active_salve column's value should be durable when database restarts

According to RFC 7047, 'ephemeral' annotation does not guarantee
the values to be durable. This fix Removes this annotation.

VMware-BZ:  1332235

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: ff601a08a44c37fa8a6e0e569dc00d6731f55555
      https://github.com/openvswitch/ovs/commit/ff601a08a44c37fa8a6e0e569dc00d6731f55555
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-10 (Fri, 10 Oct 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  ofproto-dpif-upcall: Fix out-of-scope use of stack memory.

Commit cc377352d (ofproto: Reorganize in preparation for direct
dpdk upcalls.) introduced the bug that keeps reference to 'struct
flow' defined on the stack inside while loop when running out of
the scope.  This causes strange bug like wrong mask extraction
when the part of memory is corrupted, and could lead to even
more serious bug/crash.

This commit fixes the above issue by defining an array of the
'struct flow's on the function stack.

Found by running ovs on RHEL7.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 06021dcba984a0e229140179d25d060659bb60a8
      https://github.com/openvswitch/ovs/commit/06021dcba984a0e229140179d25d060659bb60a8
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/gre.c
    M datapath/linux/compat/include/net/gre.h
    M datapath/linux/compat/include/net/ip_tunnels.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/ip_tunnels_core.c
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c

  Log Message:
  -----------
  datapath: compat: Fix compilation 3.11

Kernel 3.11 is only kernel where GRE APIs are available but
not vxlan. Add check for vxlan xmit to detect this case.

Reported-by: Dave Benson <dbenson at verdantnetworks.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 9189184d09bfb742149b878d6b9e0194979b3dbb
      https://github.com/openvswitch/ovs/commit/9189184d09bfb742149b878d6b9e0194979b3dbb
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Always pass the output buffer in a transaction.

We need to pass down the output buffer so that the kernel can return
transaction status - error or otherwise.

Also, we were processing the output buffer only when when
'txn->reply != NULL' ie when the caller specified an ofpbuf for the
reply. In this patch, the code has been updated to process the reply
unconditionally, but making sure to copy the reply to the 'txn->reply'
only when it is not NULL. The reason for the unconditional processing is
we can pass up transactional errors in 'txn->error'. Otherwise, it
results in an endless loop of calling nl_transact().

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>


  Commit: 8d9f1e0c0150b0cfa71275e93e2b663129703985
      https://github.com/openvswitch/ovs/commit/8d9f1e0c0150b0cfa71275e93e2b663129703985
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h
    M datapath-windows/ovsext/Vxlan.c
    M datapath-windows/ovsext/Vxlan.h

  Log Message:
  -----------
  datapath-windows: Add netlink command: vport new

Does the following:
a. before creating the vport, makes sure there is no existing vport
with the same ovs (datapath) port name. If this is not so, it means
that the specified port already exists: it returns NL_ERROR_EXIST.
b. looks up the vport:
  o) if the vport type is "internal", then the internal vport of the
  hyper-v switch is yielded.
  o) if the vport type is "netdev" and the vport ovs (datapath) name
  is "external", then the external vport is yielded. The switch can
  have only one "external" vport. The method of looking up the
  "external" port can be changed later, if a better method is found.
  o) if the vport type is "netdev" but the name is not "external",
  then a VM VNic is assumed, so the vport is looked up by hyper-v
  switch port friendly name.
  o) if none of the above, a tunneling vport type is expected, which
  in our case, at the moment, can only be the one vxlan vport. Only
  one vxlan vport is allowed, and it's saved in
  switchContext->vxlanVport. The tunneling vport is the only kind
  which is created in the netlink command vport new, because it does
  not have a hyper-v switch port counterpart.
c. if the vport could not be found (non-tunneling vports), then the
NL_ERROR_INVAL is returned to the userspace.
d. if the vport was found, but it has a valid ovs (datapath) port
number, it means that this port was already created by a netlink
command vport new. Therefore, NL_ERROR_EXIST is returned to the
userspace.
e. if the netlink command vport new specified an ovs (datapath) port
number, then it means that the userspace is trying to re-create a
vport: that specified port number will be used. Otherwise, a new
ovs (datapath) port number is computed and assigned to the vport.
f. the ovsName field of the vport is set to the name given by the
OVS_VPORT_ATTR_NAME netlink attribute. The ovsNameLen is no longer
stored in the OVS_VPORT_ENTRY struct, because ovsName is
null-terminated.
g. the "portOptions" are set to the vport, if the attribute
OVS_VPORT_ATTR_OPTIONS was given. Otherwise, it is set to NULL.
portOptions is a PNL_ATTR, which is yet to be implemented. The
only option available for now would be vxlan udp destination port,
but we have a constant value there, so this option is not yet needed.
h. the upcall pid is set to the vport.
i. if the vport type is vxlan, then the vport pointer is also saved
to switchContext->vxlanVport.
j. Now that the ovs (datapath) port number and the ovs name were set,
the vport can be added to the hash array of vports, hashed on ovs name
and to the hash array of vports hashed by ovs (datapath) port number.
k. the reply is yielded to the userspace.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 611531c10339a8fd8c95a594c0e0d265e82bc97d
      https://github.com/openvswitch/ovs/commit/611531c10339a8fd8c95a594c0e0d265e82bc97d
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Add netlink command vport delete

Deletion of a vport is now handled both by the netlink command vport
delete and the hyper-v switch port delete handler. If a netlink
command vport delete is requested on a vport that has no hyper-v
switch port counterpart (i.e., it is a tunnel port, or or the hyper-v
switch virtual nic is disconnected), the vport is deleted and removed.

If the hyper-v switch port delete is requested (i.e. the VNic is
disconnecting) and the ovs (datapath) part is deleted (i.e. was
deleted by netlink command vport delete, or was never created by
an netlink command vport new), then the hyper-v switch port delete
function handler deletes and removes the vport.

If the hyper-v switch port delete is requested while its datapath
counterpart is still alive, or, when the netlink command vport delete
is requested while the hyper-v switch port is still alive, the port
is only marked that it's part is deleted - the field hvDeleted was
added to OVS_VPORT_ENTRY to specify if the hyper-v switch port side
was deleted; if the ovs (datapath) port number is invalid, then it
means that the ovs (datapath) side of the port is deleted (or, not
created).

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f36fdc743d8a62a7cb402846dd68eeebf634bca5
      https://github.com/openvswitch/ovs/commit/f36fdc743d8a62a7cb402846dd68eeebf634bca5
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: remove vport from lists upon deletion

In this patch, we fix a bug in the vport delete code. When a vport is
deleted using a netlink command, we need to remove it from the
'ovsNamHashArray' and the 'portNoHashArray' as well. Addition of a vport
adds the port to the lists.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1243d57eefec2958ad50f6849017e48f9f7da704
      https://github.com/openvswitch/ovs/commit/1243d57eefec2958ad50f6849017e48f9f7da704
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Switch.h

  Log Message:
  -----------
  datapath-windows: pass NDIS_RWL_AT_DISPATCH_LEVEL instead of BOOLEAN

In 'OvsAcquireDatapathRead()' and 'OvsAcquireDatapathWrite()', we seem
to be passing a BOLEAN instead of NDIS_RWL_AT_DISPATCH_LEVEL.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5316523443bdb2c87e3f466ed769fb71ee2dae44
      https://github.com/openvswitch/ovs/commit/5316523443bdb2c87e3f466ed769fb71ee2dae44
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: delete ports from portIdHashArray during cleanup

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d752e05420405fe97b9861484efc767d4bb114c7
      https://github.com/openvswitch/ovs/commit/d752e05420405fe97b9861484efc767d4bb114c7
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: loop iterator fixes in Vport.c

Validation:
- With these fixes, we no longer see the freeze during module
uninstallation or when we try to add a new port.
- We are able to add a port called "internal of type internal using:
ovs-dpctl.exe add-if ovs-system internal,type=internal

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1cf78536901535d20b42e32ba71801998ddfae53
      https://github.com/openvswitch/ovs/commit/1cf78536901535d20b42e32ba71801998ddfae53
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Netlink/NetlinkError.h

  Log Message:
  -----------
  datapath-windows: Transactional error support in Flow commands.

In this patch we added the code to handle transactional errors
in flow commands.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 34d4fea902b2b309dcfc8d25fdd309de57fe8d58
      https://github.com/openvswitch/ovs/commit/34d4fea902b2b309dcfc8d25fdd309de57fe8d58
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Validate ETHERTYPE and ETHERNET attribute.

During vswitchd boot up kernel is receiving FLOW_ADD commands
without ETHERTYPE attribute. Added additional check for the same
in this patch. During the same phase kernel is also receiving
packet_execute with no ETHERNET attribute.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c26acd5e349182b1f46cd6daa62c33f73baea621
      https://github.com/openvswitch/ovs/commit/c26acd5e349182b1f46cd6daa62c33f73baea621
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Reply for Flow Flush.

Added changes to send a reply for FLOW_FUSH case. This is needed
as with nithin's transaction reply changes we'll need reply for each
command.

This patch also contains minor fixes for sending replies in
success case as well.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5b69dd8dafdc6ac71d4905efa6178a35bac94ade
      https://github.com/openvswitch/ovs/commit/5b69dd8dafdc6ac71d4905efa6178a35bac94ade
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Remove setting of replyLen to zero.

This was one of the review comment which i forgot to address in
FLOW_DUMP checkin. We do not need to explicitly set replyLen to zero
 as caller would have already set it.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c881751a15b6b8f17e1febd8cc86536948bc38a8
      https://github.com/openvswitch/ovs/commit/c881751a15b6b8f17e1febd8cc86536948bc38a8
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Remove invalid assertion.

Assert(rc) would always hit for a valid case, hence
replaced it with error code based check.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2aca2188999d8986b664d4813b88c5c5823dc977
      https://github.com/openvswitch/ovs/commit/2aca2188999d8986b664d4813b88c5c5823dc977
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.c

  Log Message:
  -----------
  datapath-windows: Fix assertion in Netlink.c

NlBufAt should be called with valid boundary limits (within head and tail).
Incorrect argument to NlBufAt was leading to assert hit, fixed the same.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 919026381debc9c0f97a238ef23c2a952dc84216
      https://github.com/openvswitch/ovs/commit/919026381debc9c0f97a238ef23c2a952dc84216
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-13 (Mon, 13 Oct 2014)

  Changed paths:
    M vtep/ovs-vtep

  Log Message:
  -----------
  ovs-vtep: Add support for bfd tunnels.

The VTEP emulator creates one OVS bridge for every logical switch and then
programs flow in it based on learned local macs and controller programmed
remote macs.

Multiple logical switches can have multiple OVS tunnels to the
same remote machine (with different tunnel ids). But VTEP schema expects
a single BFD session between two physical locators. Therefore
create a separate bridge ('bfd_bridge') and create a single OVS tunnel
between two physical locators (using reference counter).

The creation of BFD tunnels by the VTEP emulator is mostly for reporting
purposes. That is, it can be used by the controller to figure out that
a remote port is down. The emulator itself does not base any of its
forwarding decisions based on the state of a bfd tunnel.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ariel Tubaltsev <atubaltsev at vmware.com>


  Commit: 16c35c1d92818b391eb93a77e4cfb00b9be99ec9
      https://github.com/openvswitch/ovs/commit/16c35c1d92818b391eb93a77e4cfb00b9be99ec9
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-10-14 (Tue, 14 Oct 2014)

  Changed paths:
    M include/openflow/nicira-ext.h

  Log Message:
  -----------
  nicira-ext.h: Update comments

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3be1eaee7501dda17a75ab8a56e487f12cd066aa
      https://github.com/openvswitch/ovs/commit/3be1eaee7501dda17a75ab8a56e487f12cd066aa
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-14 (Tue, 14 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Event.c

  Log Message:
  -----------
  datapath-windows: Fix CtrlLock acquire issue in OvsReadEventCmdHandler

OvsReadEventCmdHandler was calling OvsRemoveEventEntry after acquiring
CtrlLock. OvsRemoveEventEntry in turn also tries to acquire the same lock.

Added a new lock in Event.c for the eventQueue.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d2064437e2bf91859a0a50fba30dcabba668a811
      https://github.com/openvswitch/ovs/commit/d2064437e2bf91859a0a50fba30dcabba668a811
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-14 (Tue, 14 Oct 2014)

  Changed paths:
    M lib/classifier.c

  Log Message:
  -----------
  lib/classifier: Minimize critical section.

classifier_find_rule_exactly() only needs the mutex to protect the
list traversal.  Subtables are already RCU protected.

Locking here can be eliminated completely when RCU list is available.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 0722ee5c59b43f6336153c71f2db2d9d619d140c
      https://github.com/openvswitch/ovs/commit/0722ee5c59b43f6336153c71f2db2d9d619d140c
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M lib/classifier.c

  Log Message:
  -----------
  Revert "lib/classifier: Minimize critical section."

This reverts commit d2064437e2bf91859a0a50fba30dcabba668a811, which
fails clang thread satefy analysis.

A more complete patch will be introduced later.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 152f11b6834f2b3678af2cde81f2b1c515d7b29a
      https://github.com/openvswitch/ovs/commit/152f11b6834f2b3678af2cde81f2b1c515d7b29a
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Netlink/Netlink.h

  Log Message:
  -----------
  datapath-windows: Upcall NL packet format: Add NL utilities

Add NlAttrSize and NlAttrTotalSize

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: cd5303d0382bca2983031c3bbd4c0172da452c6f
      https://github.com/openvswitch/ovs/commit/cd5303d0382bca2983031c3bbd4c0172da452c6f
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Flow.h

  Log Message:
  -----------
  datapath-windows: Upcall NL packet format: Parametrized Key to NL conversion.

Extend the key and tunnel key conversion to nested NL format functions use the
NL attribute as a parameter so we can use them for missed packet formatting.

Add functions for calculating the space needed for storing the key and the
tunnel key in NL format

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1293a6280412134413d9120422457d6afb6d7919
      https://github.com/openvswitch/ovs/commit/1293a6280412134413d9120422457d6afb6d7919
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsPub.h
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Upcall NL packet format: Queue elem for packe in NL format.

[1] Allocate a queue element and space to hold the packet, key, tunnel key
and user data in NL format.
[2] Format the NL header
[3] Store packet, key, tunnel key and user data in NL format
[4] Calculates and insert checksum if offloaded.

signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 640ebde7638132bcf82158485bf16ba5dc6c1c12
      https://github.com/openvswitch/ovs/commit/640ebde7638132bcf82158485bf16ba5dc6c1c12
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/PacketIO.c
    M datapath-windows/ovsext/Tunnel.c
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: Upcall NL packet format: Call NL missed packet function

Remove hard coded queue is, pass the key rather the tunnel key,
Remove the none NL implementation

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8aec9994abd9eca435e4c41e3918ff06cc77cf65
      https://github.com/openvswitch/ovs/commit/8aec9994abd9eca435e4c41e3918ff06cc77cf65
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Transactional error fix for flow dump.

My changes for trasacation error handling for not needed for dump commands.
Fixed the same.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 30084cc45151b5017bb573447770e406c252d653
      https://github.com/openvswitch/ovs/commit/30084cc45151b5017bb573447770e406c252d653
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Making Flow parsing policies global.

In this patch we have made the Flow parsing policies global.
Pakcet execute handling requires these policies.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 094a1315c53162b2eddf1fc8213a0e900650e25b
      https://github.com/openvswitch/ovs/commit/094a1315c53162b2eddf1fc8213a0e900650e25b
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: OVS_PACKET_CMD_EXECUTE command handler.

In this patch we cover the basic registeration of OVS_PACKET_CMD_EXECUTE
command handler.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a74933bc9f3935c50900fcb16c6f61bf6056ca5f
      https://github.com/openvswitch/ovs/commit/a74933bc9f3935c50900fcb16c6f61bf6056ca5f
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsPub.h
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: changes to existing PACKET_CMD handler.

In this patch we have made following changes:

OvsPacketExecute =>
Changed the data structure to have packet and
actions as pointer (instead of zero length array). It is done because
we will not do memcpy of packet now, pointer will just point
to corresponding offset in input buffer.

OvsExecuteDpIoctl =>
We only need input buffer now. Hence Changed the function signature.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: efa753a8ee4d14c426df4367edbe801fe2ec6859
      https://github.com/openvswitch/ovs/commit/efa753a8ee4d14c426df4367edbe801fe2ec6859
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: OVS_PACKET_CMD_EXECUTE handler.

In this patch we have implemented the handler for OVS_PACKET_CMD_EXECUTE command.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7c5d9f1716fb33f4316a4f81b548430bbed474f8
      https://github.com/openvswitch/ovs/commit/7c5d9f1716fb33f4316a4f81b548430bbed474f8
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/Netlink/NetlinkError.h
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Action not supported error handling

Added changes to support error handling for non supported actions.
Added changes in packet execute for sending transactional errors.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 11689acce0f1cd6d8ee5dbdfbc5d9d5d1d467955
      https://github.com/openvswitch/ovs/commit/11689acce0f1cd6d8ee5dbdfbc5d9d5d1d467955
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Add netlink command vport set

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: cda5232f9a49f1a59828505f12dc338dddf53df9
      https://github.com/openvswitch/ovs/commit/cda5232f9a49f1a59828505f12dc338dddf53df9
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Fixes in OvsSetVportCmdHandler()

In this patch, we make a few simple fixes based on reviewing the code.
The code as such is not tested. We'll be hitting the code path soon
and might make more fixes at that time.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 10ab94fef2fc44902c1b16e06e4f4edcc3da7583
      https://github.com/openvswitch/ovs/commit/10ab94fef2fc44902c1b16e06e4f4edcc3da7583
  Author: Niels van Adrichem <N.L.M.vanAdrichem at tudelft.nl>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Use bfd forwarding status in fast-failover groups.

Integration of each interface' status as confirmed by BFD into the
FastFailover Group table. When BFD is configured and function
bfd_forwarding() reports false, odp_port_is_alive also reports false in
order to have a watched interface report false and omit to another
backup.

Test-suite has been succesfully run, as well as testing with ICMP echo
requests and replies that traffic was succesfully rerouted over the
backup path. More extensive load-consumption tests with a function that
only checked whether (bfd->state == STATE_UP) have been succesfully
performed, but was later changed to use the larger function
bfd_forwarding() as it captures all possible exceptions and is properly
mutually excluded.

Signed-off-by: Niels van Adrichem <n.l.m.vanadrichem at tudelft.nl>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: dcd92cff3d79b4baf28b0323dd73e9813e12f359
      https://github.com/openvswitch/ovs/commit/dcd92cff3d79b4baf28b0323dd73e9813e12f359
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Fix compilation error in release build.

portNameLen to be used only in debug build.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ec8f0f0c24c96be434289ac18d6d064fad378827
      https://github.com/openvswitch/ovs/commit/ec8f0f0c24c96be434289ac18d6d064fad378827
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    A INSTALL.Docker
    M Makefile.am
    M NEWS
    M README.md
    M debian/openvswitch-common.install
    M rhel/openvswitch-fedora.spec.in
    M rhel/openvswitch.spec.in
    M utilities/automake.mk
    A utilities/ovs-docker

  Log Message:
  -----------
  docker: Integrate docker containers with Open vSwitch.

Open vSwitch does not have native integration with Docker.
INSTALL.Docker explains how Open vSwitch can be integrated
with docker non-natively.

ovs-docker is a helper script to add network interfaces to
docker containers and to attach them as ports to OVS bridge.
This script can be further enhanced as we understand different
use cases.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 086fa8739ae1c600076dd43f09be083ce9ddfd6e
      https://github.com/openvswitch/ovs/commit/086fa8739ae1c600076dd43f09be083ce9ddfd6e
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Support BFD, CFM, carrier, and LACP for port liveness.

This is simpler and shorter than handling each of these by itself.

CC: Niels van Adrichem <N.L.M.vanAdrichem at tudelft.nl>
Suggested-by: Alex Wang <alexw at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: 0d2cb7087c8d058466bb1f6af2426a27fdd388c3
      https://github.com/openvswitch/ovs/commit/0d2cb7087c8d058466bb1f6af2426a27fdd388c3
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-16 (Thu, 16 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Add packet miss read Netlink command.

The change include the Packet Read handler.
The current implementation reads once packet at a time. This should be updated
once user mode code is in place.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Co-authored-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8d7bc3f8dffa6a079b54a53de9c59895fe1ce9d1
      https://github.com/openvswitch/ovs/commit/8d7bc3f8dffa6a079b54a53de9c59895fe1ce9d1
  Author: Dongdong <dongdong1 at huawei.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M rhel/etc_init.d_openvswitch

  Log Message:
  -----------
  rhel: Change service providers to 'openvswitch'.

In Red Hat, the service name is "openvswitch", providers also should
be change to "openvswitch"

Signed-off-by: Dongdong <dongdong1 at huawei.com>
Acked-by: Chunhe Li <lichunhe at huawei.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 965f980af65697f6eac143290f45b8cfaee3ac49
      https://github.com/openvswitch/ovs/commit/965f980af65697f6eac143290f45b8cfaee3ac49
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Dongdong and Chunhe Li.

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


  Commit: 0de8783a9d3a339032b4213b91d66d53f1c0643f
      https://github.com/openvswitch/ovs/commit/0de8783a9d3a339032b4213b91d66d53f1c0643f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h
    M lib/dpif-netdev.c
    M lib/flow.c
    M lib/flow.h

  Log Message:
  -----------
  lib/dpif-netdev: Integrate megaflow classifier.

Megaflow inserts and removals are simplified:

- No need for classifier internal mutex, as dpif-netdev already has a
  'flow_mutex'.
- Number of memory allocations/frees can be halved.
- Lookup code path can rely on netdev_flow_key always having inline data.

This will also be easier to simplify further when moving to per-thread
megaflow classifiers in the future.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: cfa57405bb7f22ad587b33a030bf1e8c10fbda8d
      https://github.com/openvswitch/ovs/commit/cfa57405bb7f22ad587b33a030bf1e8c10fbda8d
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M xenserver/openvswitch-xen.spec.in

  Log Message:
  -----------
  xenserver: Add ovs-docker to the spec file.

Fixes a rpmbuild failure.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ae1fd3860e26a42aafa621ecdca8d2e55ff4cc00
      https://github.com/openvswitch/ovs/commit/ae1fd3860e26a42aafa621ecdca8d2e55ff4cc00
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Driver.c
    M datapath-windows/ovsext/Event.c
    M datapath-windows/ovsext/Ioctl.c
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: Packet subscribe handler

This change includes the following:
[1] Handler for subscribe/unsubscribe to a packet queue associated with a
    socket pid.
[2] Allocation of per socket packet queue on a packet subscription.
[3] Removal of static allocated queues.
[4] Freeing the packet queue (on user mode process termination).

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6cac056e1d3773ec38e5667da8fc677024248712
      https://github.com/openvswitch/ovs/commit/6cac056e1d3773ec38e5667da8fc677024248712
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M lib/netdev-windows.c

  Log Message:
  -----------
  datapath-windows: netdev-windows fixes for vswitchd bringup.

Added the handlers for update_flags and set_etheraddr.
These handlers were needed for vswitchd bringup on windows
platform.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6bb842f6982050120ee1aa9961b2ec8c45ef7dba
      https://github.com/openvswitch/ovs/commit/6bb842f6982050120ee1aa9961b2ec8c45ef7dba
  Author: Fabian Frederick <fabf at skynet.be>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M datapath/vport.c

  Log Message:
  -----------
  datapath: use vport instead of p

All functions used struct vport *vport except
ovs_vport_find_upcall_portid.

This fixes 1 kerneldoc warning

Signed-off-by: Fabian Frederick <fabf at skynet.be>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: 10173ceaa9acb3d76688eae5554e2b61a9e7c800
      https://github.com/openvswitch/ovs/commit/10173ceaa9acb3d76688eae5554e2b61a9e7c800
  Author: Li RongQing <roy.qing.li at gmail.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M datapath/flow.c

  Log Message:
  -----------
  datapath: fix a use after free

pskb_may_pull() called by arphdr_ok can change skb->data, so put the arp
setting after arphdr_ok to avoid the use the freed memory

Fixes: 0714812134d7d ("openvswitch: Eliminate memset() from flow_extract.")
Cc: Jesse Gross <jesse at nicira.com>
Cc: Eric Dumazet <edumazet at google.com>
Signed-off-by: Li RongQing <roy.qing.li at gmail.com>
Acked-by: Jesse Gross <jesse at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: caeb4906d4f65fbb7873ee5efaf386b43f7b333d
      https://github.com/openvswitch/ovs/commit/caeb4906d4f65fbb7873ee5efaf386b43f7b333d
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-17 (Fri, 17 Oct 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  lib/dpif-netdev: Fix EMC lookup.

Patch 0de8783a9 (lib/dpif-netdev: Integrate megaflow classifier.)
broke exact match cache lookup, but it went undetected since there are
no separate stats for EMC.

This patch fixes the problem by changing the struct netdev_flow_key
'len' member to cover only the 'mf' member, not the whole
netdev_flow_key, and ignoring the 'len' field in
netdev_flow_key_equal.  Comparison is still accurate, as the miniflow
'map' field encodes the length in the number of 1-bits, and the map is
included in the comparison.

Reported-by: Alex Wang <alexw at nicira.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>


  Commit: b35839f3855e3b812709c6ad1c9278f498aa9935
      https://github.com/openvswitch/ovs/commit/b35839f3855e3b812709c6ad1c9278f498aa9935
  Author: maryam.tahhan <maryam.tahhan at intel.com>
  Date:   2014-10-20 (Mon, 20 Oct 2014)

  Changed paths:
    M .travis.yml
    M .travis/build.sh
    M INSTALL.DPDK
    M acinclude.m4

  Log Message:
  -----------
  netdev-dpdk: Move to DPDK 1.7.1

This patch updates the documentation to reflect that DPDK 1.7.1
is supported. Travis scripts have also been updated to reflect
this. DPDK phy and ring ports were validated against DPDK 1.7.1.

Reviewed-by: Mark D. Gray <mark.d.gray at intel.com>
Signed-off-by: Maryam Tahhan <maryam.tahhan at intel.com>
Acked-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: acfffef42c31c7d013ef4f1703042d5486984bbd
      https://github.com/openvswitch/ovs/commit/acfffef42c31c7d013ef4f1703042d5486984bbd
  Author: Daniele Di Proietto <ddiproietto at vmware.com>
  Date:   2014-10-20 (Mon, 20 Oct 2014)

  Changed paths:
    M INSTALL.DPDK

  Log Message:
  -----------
  INSTALL.DPDK: improve documentation

Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: f0d2e458f12b6117ff443d3a9e79c414b473c5e4
      https://github.com/openvswitch/ovs/commit/f0d2e458f12b6117ff443d3a9e79c414b473c5e4
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-10-20 (Mon, 20 Oct 2014)

  Changed paths:
    M Makefile.am

  Log Message:
  -----------
  Makefile.am: Properly indent INSTALL.DPDK

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: c48f691f3fcac853ee90d1219997147fc2af631b
      https://github.com/openvswitch/ovs/commit/c48f691f3fcac853ee90d1219997147fc2af631b
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-20 (Mon, 20 Oct 2014)

  Changed paths:
    M lib/automake.mk
    R lib/stream-fd-unix.c
    R lib/stream-fd-windows.c
    A lib/stream-fd.c

  Log Message:
  -----------
  stream-fd: Merge stream-fd-windows and stream-fd-unix.

There was not much difference between the two files after moving
all of the Windows socket HANDLE polling functionality to poll-loop.c.
So merge them together.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f73dc82170af34e224dca703b93640134f0372af
      https://github.com/openvswitch/ovs/commit/f73dc82170af34e224dca703b93640134f0372af
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-20 (Mon, 20 Oct 2014)

  Changed paths:
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Implement missed packet kernel-to-user mode notification.

An I/O request is queued in Kernel to be completed upon a packet mismatch.
This mechanism is similar to the port state notification.
Access to instance data should be under a lock (TBD)

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: 72d52166328f52c301099efc57902c5c3c73ac68
      https://github.com/openvswitch/ovs/commit/72d52166328f52c301099efc57902c5c3c73ac68
  Author: Madhu Challa <challa at noironetworks.com>
  Date:   2014-10-21 (Tue, 21 Oct 2014)

  Changed paths:
    M lib/dpif.c

  Log Message:
  -----------
  dpif: Fix crash in format_odp_actions() due to NULL actions.

When flow_get fails (in this case flow does not exist) simply log
the key part of the get and erase the rest of the flow because it
is invalid.

Verified the fix by doing ovs-ofctl del-flows when traffic is running.

2014-10-18T20:12:13.785Z|00011|dpif(revalidator20)|WARN|system at ovs-system: failed to flow_get (No such file or directory) dp_hash(0),recirc_id(0),skb_priority(0),in_port(2),skb_mark(0),eth(src=00:13:72:0b:52:fa,dst=00:14:72:0b:52:fa),eth_type(0x0800),ipv4(src=10.0.0.164,dst=11.0.0.164,proto=6,tos=0,ttl=4,frag=no),tcp(src=1651,dst=6095),tcp_flags(ack), packets:0, bytes:0, used:never

Signed-off-by: Madhu Challa <challa at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: deda30a9995fc4adef87ef07f7e77b86b04fbfca
      https://github.com/openvswitch/ovs/commit/deda30a9995fc4adef87ef07f7e77b86b04fbfca
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-21 (Tue, 21 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: event read should not fail when no events

The semantics are read operation are generally to return 0 bytes and
STATUS_SUCCESS when there are no events.

Also, added a fix to assign the PID to the synthetic OVS_MESSAGE formed
for the command validation.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 59e37200fbc8a271ac734e17584b9c0bc9863efe
      https://github.com/openvswitch/ovs/commit/59e37200fbc8a271ac734e17584b9c0bc9863efe
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-21 (Tue, 21 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Fix key parsing in Flow.c.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: befa5b43fa1005c8895f09f14c49e8ad34e32af6
      https://github.com/openvswitch/ovs/commit/befa5b43fa1005c8895f09f14c49e8ad34e32af6
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-21 (Tue, 21 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Fixes in packet created for userspace

A couple of miscellaneous fixes in code that creates a packet for
userspace as well as when we copy the packet to memory specified by
userspace.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 15fd90524b40dc7147fc4d8abd96630687ca3640
      https://github.com/openvswitch/ovs/commit/15fd90524b40dc7147fc4d8abd96630687ca3640
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-21 (Tue, 21 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Fix nl_sock_recv__() on Windows.

In nl_sock_recv__() on Windows, we realloc a new ofpbuf to copy received
data if the caller specified buffer is small. While we do so, we need
reset some of the other stack variables to point to the new ofpbuf.

Other fixes are around using 'error' rather than 'errno'.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d1da76691a84a16f910501116adeb6e33c9fb09c
      https://github.com/openvswitch/ovs/commit/d1da76691a84a16f910501116adeb6e33c9fb09c
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-21 (Tue, 21 Oct 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: net: make skb_gso_segment error handling more robust

skb_gso_segment has three possible return values:
1. a pointer to the first segmented skb
2. an errno value (IS_ERR())
3. NULL.  This can happen when GSO is used for header verification.

However, several callers currently test IS_ERR instead of IS_ERR_OR_NULL
and would oops when NULL is returned.

Note that these call sites should never actually see such a NULL return
value; all callers mask out the GSO bits in the feature argument.

However, there have been issues with some protocol handlers erronously not
respecting the specified feature mask in some cases.

It is preferable to get 'have to turn off hw offloading, else slow' reports
rather than 'kernel crashes'.

Signed-off-by: Florian Westphal <fw at strlen.de>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 3bd0fd39ebeaca5f87284704e7606d225d0e1bbb
      https://github.com/openvswitch/ovs/commit/3bd0fd39ebeaca5f87284704e7606d225d0e1bbb
  Author: Wang Sheng-Hui <shhuiw at gmail.com>
  Date:   2014-10-22 (Wed, 22 Oct 2014)

  Changed paths:
    M lib/bfd.h
    M lib/cfm.c
    M lib/cfm.h
    M lib/flow.h
    M lib/match.c
    M lib/match.h
    M lib/netdev-provider.h
    M lib/netdev-windows.c
    M lib/netdev.h
    M lib/ofp-parse.c
    M lib/ofp-parse.h
    M lib/packets.h
    M ofproto/bond.c
    M ofproto/bond.h
    M ofproto/ofproto-dpif-ipfix.c
    M tests/test-classifier.c
    M vswitchd/bridge.c

  Log Message:
  -----------
  Use magic ETH_ADDR_LEN instead of 6 for Ethernet address length.

ETH_ADDR_LEN is defined in lib/packets.h, valued 6.
Use this macro instead of magic number 6 to represent the length
of eth mac address.

Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7e6f1bab07de5b2eeaf2ce602ba9d5368d0ba7a6
      https://github.com/openvswitch/ovs/commit/7e6f1bab07de5b2eeaf2ce602ba9d5368d0ba7a6
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-22 (Wed, 22 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Return success when duplicate flow is added.

If we are trying to insert a flow while there's already a key with the
same flow, return success instead of failure. It can be argued that we
should probably return a transactional error EEXIST, but we'll handle
this in a subsequent commit. I've added a comment to address this later.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>


  Commit: 2c26eabfb71cc8de7b5f84570e18e2816e867df1
      https://github.com/openvswitch/ovs/commit/2c26eabfb71cc8de7b5f84570e18e2816e867df1
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-22 (Wed, 22 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Use poll_immediate_wake() on Windows.

We have not yet tested the wakup via pending IRP functionality on
Windows yet. Hence we use poll_immediate_wake().

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>


  Commit: cb85b49c4b7e610ccea2b03b9d62184f6247f4ba
      https://github.com/openvswitch/ovs/commit/cb85b49c4b7e610ccea2b03b9d62184f6247f4ba
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M ofproto/tunnel.c

  Log Message:
  -----------
  tunnel: Add to nw_tos bits instead of replacing them in tnl_port_send().

We normally only add 1-bits to wc->masks for datapath flow matching
purposes, never removing them.  In this case, the bits that get set to
zero will be set back to 1 later on in the function, so this does not fix
any actual bug, but the principle of only setting to 1, not to 0, seems
sound to me.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: a9447331a639832a1c75b3f797757ed4139ec1d2
      https://github.com/openvswitch/ovs/commit/a9447331a639832a1c75b3f797757ed4139ec1d2
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M lib/stream-ssl.c
    M lib/stream-tcp.c

  Log Message:
  -----------
  stream-tcp, stream-ssl: Remove unneeded getsockname() calls.

Commit a8d819675f3 (Remove stream, vconn, and rconn functions to get
local/remote IPs/ports.) removed the code that used the local socket
address but neglected to remove the code to fetch that address.  This
commit removes the latter code also.

Reported-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>


  Commit: 75752ef5e7e3ce70706074cae3ccf06c6871ed7e
      https://github.com/openvswitch/ovs/commit/75752ef5e7e3ce70706074cae3ccf06c6871ed7e
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: pid-instance hash table data structure.

This patch introduces data structure for holding instances hashed by pid.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
cked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 10023cb51bdfce031b33c1cec3953fefb0befb40
      https://github.com/openvswitch/ovs/commit/10023cb51bdfce031b33c1cec3953fefb0befb40
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Calling OvsAddPidInstance and OvsDelPidInstance

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0e55eddc30506f269412becae7254647630c4140
      https://github.com/openvswitch/ovs/commit/0e55eddc30506f269412becae7254647630c4140
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: Fixes during integration testing.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b7cefbf7e52eb0262adb8447409d6ee52eb68a59
      https://github.com/openvswitch/ovs/commit/b7cefbf7e52eb0262adb8447409d6ee52eb68a59
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M lib/socket-util.c
    M lib/socket-util.h
    M lib/stream-fd.c
    M lib/stream-fd.h
    M lib/stream-ssl.c
    M lib/stream-tcp.c
    M lib/stream-unix.c

  Log Message:
  -----------
  stream-tcp: Call setsockopt TCP_NODELAY after TCP is connected.

On Windows platform, TCP_NODELAY can only be set when TCP is established.
(This is an observed behavior and not written in any MSDN documentation.)
The current code does not create any problems while running unit tests
(because connections get established immediately) but is reportedly
observed while connecting to a different machine.

commit 8b76839(Move setsockopt TCP_NODELAY to when TCP is connected.)
made changes to call setsockopt with TCP_NODELAY after TCP is connected
only in lib/stream-ssl.c. We need the same change for stream-tcp too and
this commit does that.

Currently, a failure of setting TCP_NODELAY results in reporting
the error and then closing the socket. This commit changes that
behavior such that an error is reported if setting TCP_NODELAY
fails, but the connection itself is not torn down.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 36791e21782536ab2ecc4aee9956d5333a8450c0
      https://github.com/openvswitch/ovs/commit/36791e21782536ab2ecc4aee9956d5333a8450c0
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c
    M lib/netlink-socket.h

  Log Message:
  -----------
  netlink-socket: Add packet subscribe functionality on Windows.

In this patch, we add support in userspace for packet subscribe API
similar to the join/leave MC group API that is used for port events.
The kernel code has already been commited.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 09cac43f740b0aef1ef1cb656d952f56bedd7fec
      https://github.com/openvswitch/ovs/commit/09cac43f740b0aef1ef1cb656d952f56bedd7fec
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M lib/dpif-netlink.c

  Log Message:
  -----------
  dpif-netlink: Add support for packet receive on Windows.

In this patch, we add support in dpif-netlink.c to receive packets on
Windows. Windows does not natively support epoll(). Even though there
are mechanisms/interfaces that provide functionality similar to epoll(),
we take a simple approach of using a pool of sockets.

Here are some details of the implementaion to aid review:
1. There's pool of sockets per upcall handler.
2. The pool of sockets is initialized while setting up the handler in
dpif_netlink_refresh_channels() primarily.
3. When sockets are to be allocated for a vport, we walk through the
pool of sockets for all handlers and pick one of the sockets in each of
the pool. Within a handler's pool, sockets are picked in a round-robin
fashion.
4. We currently support only 1 handler, since there are some kernel
changes needed for support more than 1 handler per vport.
5. The pool size is also set to 1 currently.

The restructions imposed by #4 and #5 can be removed in the future
without much code churn.

Validation:
1. With a hacked up kernel which figures out the netlink socket that is
designated to receive packets, we are cable to perform pings between 2
VMs on the same Hyper-V host.
2. Compiled the code in Linux as well.
3. Tested with pool size == 2 as well, though in this patch we set the
pool size = 1.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b153b9903272f858ee1bbaaba0768f5f2d6506e7
      https://github.com/openvswitch/ovs/commit/b153b9903272f858ee1bbaaba0768f5f2d6506e7
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M lib/ofp-actions.c
    M tests/ofp-actions.at

  Log Message:
  -----------
  ofp-actions: Properly check for action that exceeds buffer length.

Commit c2d936a44fa (ofp-actions: Centralize all OpenFlow action code for
maintainability.) rewrote OpenFlow action parsing but failed to check that
actions don't overflow their buffers.  This commit fixes the problem and
adds negative tests so that this bug doesn't recur.

Reported-by: Tomer Pearl <Tomer.Pearl at Contextream.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: 4efe455d79b0253d45a3a52d745529798ea1cf3e
      https://github.com/openvswitch/ovs/commit/4efe455d79b0253d45a3a52d745529798ea1cf3e
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M ofproto/ofproto.c
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Report support for group stats.

This feature bit was overlooked when we added support for group stats.

Reported-by: Anup Khadka <khadka.py at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 46051cf8ad1437d7c0d4da33ead1e915611dde67
      https://github.com/openvswitch/ovs/commit/46051cf8ad1437d7c0d4da33ead1e915611dde67
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M datapath/datapath.c
    M datapath/flow_table.c
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Replace __force type cast with rcu_dereference_raw().

rcu_dereference_raw() api is cleaner way of accessing RCU pointer
when no locking is required.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: af465b67a9b93f7db935924f1b51a90dea81fe12
      https://github.com/openvswitch/ovs/commit/af465b67a9b93f7db935924f1b51a90dea81fe12
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/compat.h
    M datapath/datapath.c
    M datapath/flow.c
    M datapath/flow_netlink.c
    M datapath/flow_table.c
    M datapath/vport-internal_dev.c
    M datapath/vport-netdev.c
    M datapath/vport.c
    M datapath/vport.h

  Log Message:
  -----------
  datapath: Fix comment style.

Use netdev comment style.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 8abaa53cac82dad5e7f8dba9ef30d785b0a46140
      https://github.com/openvswitch/ovs/commit/8abaa53cac82dad5e7f8dba9ef30d785b0a46140
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-10-23 (Thu, 23 Oct 2014)

  Changed paths:
    M acinclude.m4
    M datapath/actions.c
    M datapath/linux/compat/exthdrs_core.c
    M datapath/linux/compat/include/net/ipv6.h

  Log Message:
  -----------
  datapath: Use upstream ipv6_find_hdr().

ipv6_find_hdr() already fixed in newer upstram kernel by Ansis, we
can start using this API safely.
This patch also backports fix (ipv6: ipv6_find_hdr restore prev
functionality) to compat ipv6_find_hdr().

CC: Ansis Atteka <aatteka at nicira.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 65ae4384236a5aa47ea46a508c80fe7834201ebd
      https://github.com/openvswitch/ovs/commit/65ae4384236a5aa47ea46a508c80fe7834201ebd
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: pid-instance hash table APIs.

In this patch we have added APIs for insert, delete and search APIs.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: d0ce116055ad4bc2f59803f55ac4de34f47d45f8
      https://github.com/openvswitch/ovs/commit/d0ce116055ad4bc2f59803f55ac4de34f47d45f8
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Add code for OvsGetQueue.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 4a3c9b7048fe7f7af444954b36f7bb104d6d6389
      https://github.com/openvswitch/ovs/commit/4a3c9b7048fe7f7af444954b36f7bb104d6d6389
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/PacketIO.c
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/Tunnel.c
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/User.h

  Log Message:
  -----------
  datapath-windows: Refactor CreateQueue function to handle vport pid.

Refactored CreateQueue function so that packets are enqueued to correct corresponding queue.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 68501cfc2538a2f7082e1a56a3320a67e472f538
      https://github.com/openvswitch/ovs/commit/68501cfc2538a2f7082e1a56a3320a67e472f538
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: check for 'gOvsSwitchContext' in ValidateNetlinkCmd()

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e1799eb718abe57e666ab8d875689e3b2f2927dc
      https://github.com/openvswitch/ovs/commit/e1799eb718abe57e666ab8d875689e3b2f2927dc
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M lib/ofp-util.c
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Only allow indirect groups with one bucket

OpenFlow 1.1 - 1.4 specify that indirect groups should
opperate on the "one defined bucket in the group". OpenFlow
1.2 - 1.4 also state "This group only supports a single bucket."

This patch enforces the single bucket limitation for indirect groups
when decoding group mod messages. A test is also added to exercise
this change.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3a17f00f784b4b47917f336ca19bdc7078faade5
      https://github.com/openvswitch/ovs/commit/3a17f00f784b4b47917f336ca19bdc7078faade5
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Event.c

  Log Message:
  -----------
  datapath-windows: Avoid BSOD when no event queue found.

kd> ??instance
struct _OVS_OPEN_INSTANCE * 0xffffe000`037f2880
   +0x000 cookie           : 1
   +0x008 fileObject       : 0xffffe000`02c59f20 _FILE_OBJECT
   +0x010 eventQueue       : (null)
   +0x018 packetQueue      : 0xffffe000`02d50100 _OVS_USER_PACKET_QUEUE
   +0x020 pid              : 2
   +0x024 inUse            : 0n1
   +0x028 dumpState        : <unnamed-tag>
   +0x038 pidLink          : _LIST_ENTRY [ 0xffffe000`03ad83f0 - 0xffffe000`03ad83f0 ]
kd> k
Child-SP          RetAddr           Call Site
ffffd000`2876eb18 fffff801`f364b7c6 nt!DbgBreakPointWithStatus
ffffd000`2876eb20 fffff801`f364b0d7 nt!KiBugCheckDebugBreak+0x12
ffffd000`2876eb80 fffff801`f35c21a4 nt!KeBugCheck2+0x8ab
ffffd000`2876f290 fffff801`f35cdbe9 nt!KeBugCheckEx+0x104
ffffd000`2876f2d0 fffff801`f35cc43a nt!KiBugCheckDispatch+0x69
ffffd000`2876f410 fffff800`02626666 nt!KiPageFault+0x23a
ffffd000`2876f5a0 fffff800`026318d7 OVSExt!OvsWaitEventIoctl+0x116 [c:\work\ovs\datapath-windows\ovsext\event.c @ 472]
ffffd000`2876f610 fffff800`026339b4 OVSExt!OvsPendEventCmdHandler+0x57 [c:\work\ovs\datapath-windows\ovsext\datapath.c @ 1056]
ffffd000`2876f660 fffff800`0264d9c5 OVSExt!InvokeNetlinkCmdHandler+0xf4 [c:\work\ovs\datapath-windows\ovsext\datapath.c @ 938]
ffffd000`2876f6b0 fffff800`006f1c18 OVSExt!OvsDeviceControl+0x855 [c:\work\ovs\datapath-windows\ovsext\datapath.c @ 853]
ffffd000`2876f840 fffff801`f383c395 NDIS!ndisDummyIrpHandler+0x88
ffffd000`2876f870 fffff801`f383cd2a nt!IopXxxControlFile+0x845
ffffd000`2876fa20 fffff801`f35cd8b3 nt!NtDeviceIoControlFile+0x56
ffffd000`2876fa90 00000000`775c2772 nt!KiSystemServiceCopyEnd+0x13
00000000`010feef8 00000000`775c2371 wow64cpu!CpupSyscallStub+0x2
00000000`010fef00 00000000`7765323a wow64cpu!DeviceIoctlFileFault+0x31
00000000`010fefb0 00000000`7765317e wow64!RunCpuSimulation+0xa
00000000`010ff000 00007ff8`f1076bd0 wow64!Wow64LdrpInitialize+0x172
00000000`010ff540 00007ff8`f1076aa6 ntdll!_LdrpInitialize+0xd8
00000000`010ff5b0 00000000`00000000 ntdll!LdrInitializeThunk+0xe
kd> ??poll
struct _OVS_EVENT_POLL * 0xffffd000`2876f640
   +0x000 cookie           : 0x3a9ae28
   +0x004 dpNo             : 0
SYMBOL_STACK_INDEX:  6

SYMBOL_NAME:  OVSExt!OvsWaitEventIoctl+116

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: OVSExt

IMAGE_NAME:  OVSExt.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  54498bc5

BUCKET_ID_FUNC_OFFSET:  116

FAILURE_BUCKET_ID:  AV_OVSExt!OvsWaitEventIoctl

BUCKET_ID:  AV_OVSExt!OvsWaitEventIoctl

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:av_ovsext!ovswaiteventioctl

FAILURE_ID_HASH:  {07550bfb-c3b5-0412-b95d-f89a5c4671a9}

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e618b42fce7b8ad63b1fc78313ff89b6e7282c20
      https://github.com/openvswitch/ovs/commit/e618b42fce7b8ad63b1fc78313ff89b6e7282c20
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M lib/coverage.h
    M lib/stream.h

  Log Message:
  -----------
  lib: Clean up vlog use.

Vlog functions assume a vlog module has been defined for the current
translation unit.  Including lib/vlog.h from a header file makes the
vlog API visible even when no vlog module may not have been defined.
This patch removes the two cases in the tree where vlog.h was included
from a header file.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 38c449e0c5cfea356a57054ccfcfb6d59da2c966
      https://github.com/openvswitch/ovs/commit/38c449e0c5cfea356a57054ccfcfb6d59da2c966
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M lib/automake.mk
    A lib/classifier-private.h
    M lib/classifier.c
    M tests/test-classifier.c

  Log Message:
  -----------
  lib/classifier: Add lib/classifier-private.h.

tests/test-classifier.c used to include lib/classifier.c to gain
access to the internal data structures and some utility functions.
This was confusing, so this patch splits the relevant groups of
classifier internal definations to a new file
(lib/classifier-private.h), which is included by both lib/classifier.c
and tests/test-classifier.c.  Other use of the new file is
discouraged.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 8341662d1b57edc90e7bbc020319b282ca7f3ab2
      https://github.com/openvswitch/ovs/commit/8341662d1b57edc90e7bbc020319b282ca7f3ab2
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-24 (Fri, 24 Oct 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Fix a couple of compilation warnings.

Reported-by: Gurucharan Shetty <gshetty at nicira.com>
Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
[blp at nicira.com replaced conventional cast by CONST_CAST]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ff8241db48fbc0d942a7119c2fb274e80bd256ed
      https://github.com/openvswitch/ovs/commit/ff8241db48fbc0d942a7119c2fb274e80bd256ed
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-27 (Mon, 27 Oct 2014)

  Changed paths:
    M lib/classifier.c

  Log Message:
  -----------
  classifier: Correct comment in classifier_lookup().

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: ea71c54fb6dea7d64deabe7fbad537e4cf395c18
      https://github.com/openvswitch/ovs/commit/ea71c54fb6dea7d64deabe7fbad537e4cf395c18
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-27 (Mon, 27 Oct 2014)

  Changed paths:
    M ofproto/ofproto.c

  Log Message:
  -----------
  lib/ofproto: Remove obsolete FIXME comment.

We already implement OFPFUTIL_FF_RESET_COUNTS.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3948503a7a321add52f9cf94449d4db866ade802
      https://github.com/openvswitch/ovs/commit/3948503a7a321add52f9cf94449d4db866ade802
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-27 (Mon, 27 Oct 2014)

  Changed paths:
    M ofproto/ofproto.c

  Log Message:
  -----------
  lib/ofproto: Add comments about races in ofproto_flush().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: b1b72f2de4141017ee230d889c23d0e3ffc297a2
      https://github.com/openvswitch/ovs/commit/b1b72f2de4141017ee230d889c23d0e3ffc297a2
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-27 (Mon, 27 Oct 2014)

  Changed paths:
    M lib/ovs-rcu.h
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  lib/ovs-rcu: Support static initialization.

Currently, OVSRCU_TYPE_INITIALIZER always initializes the RCU pointer
as NULL.  There is no reason why the RCU pointer could not be
initialized with a non-NULL value, however, as statically allocated
memory is even more stable than required for RCU.

This patch changes the initializer to OVSRCU_INITIALIZER(VALUE), which
can take any pointer value as a parameter.

This allows rculist, which is introduced in a following patch, to
provide an initializer similar to the one in the normal list.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 451b910881b3e16ff8744484f883c50971ca9ff5
      https://github.com/openvswitch/ovs/commit/451b910881b3e16ff8744484f883c50971ca9ff5
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M INSTALL.Windows

  Log Message:
  -----------
  INSTALL.Windows: minor updates to the SSL section

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 777d2bbd46f00594a88f546fe270232c8962d5e7
      https://github.com/openvswitch/ovs/commit/777d2bbd46f00594a88f546fe270232c8962d5e7
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows:Remove user mode instance from pid hash on process termination

The instance should be removed from pid-hash when vswitchd.exe terminates so
the driver won't access it during packet miss (causing BSOD)

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3a6de110099860e0cc5f518b5f91a5db19fcc05d
      https://github.com/openvswitch/ovs/commit/3a6de110099860e0cc5f518b5f91a5db19fcc05d
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Switch.c

  Log Message:
  -----------
  datapath-windows: Fix BSOD caused by DV due to memory leaks.

If the OVS extension is enabled, Driver Verifier will issue a BSOD
due to memory leaks. This issue reproduces each time and the problem
is in the filter attach routine when the switch context is initialized.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/50
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 66695bfde768934aabe89079b453d8975e73e29f
      https://github.com/openvswitch/ovs/commit/66695bfde768934aabe89079b453d8975e73e29f
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Re-init the list entry in OvsDeleteVportCmdHandler().

Without this patch, the kernel crashes when it tries to cleanup a port
at unload time when a port has been previously deleted from userspace.
Crash is in OvsRemoveAndDeleteVport() when we call into
RemoveEntryList().

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 25e39a6047f19b84612bfa8bb28b573c7a3f02bc
      https://github.com/openvswitch/ovs/commit/25e39a6047f19b84612bfa8bb28b573c7a3f02bc
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/PacketIO.c
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Clarify externalVport.

In this patch, we add some explanation about the usage of
'externalVport' in the switch context. Also, we rename 'externalVport'
to 'virtualExternalVport' in alignment with the explanation. Also, we
rename 'numVports' to 'numHvVports' since ports are added from 2 ends
now.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7434992b73bbcbc9d1f9cbe6a74f270ad434a7fb
      https://github.com/openvswitch/ovs/commit/7434992b73bbcbc9d1f9cbe6a74f270ad434a7fb
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/PacketIO.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Introduce bridge-internal ports.

In this patch, we provide explanation and the reasoning for
bridge-internal ports. The code to add such a port in come in later
patch in the series.

We also fix some formatting issues in PacketIO.c.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b3b8a9c307c0154c0f65901986f57f14522b50cb
      https://github.com/openvswitch/ovs/commit/b3b8a9c307c0154c0f65901986f57f14522b50cb
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: OvsInitTunnelVport() and OvsInitBridgeInternalVport().

In this patch, we add the init functions for a Tunnel vport and a
Bridge-internal vport.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f16130074152b301515f52867cf9eaa012e4dc54
      https://github.com/openvswitch/ovs/commit/f16130074152b301515f52867cf9eaa012e4dc54
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h
    M datapath-windows/ovsext/Vxlan.c

  Log Message:
  -----------
  datapath-windows: Refactor core in Vport.c.

We do a bunch of changes that did not make sense to split up into
smaller patches:

1. Add descriptive comments to the important functions to clarify
   purpose.
2. s/OvsInitVportCommon/InitHvVportCommon - this function is common code
   for every port that shows up on the Hyper-V switch.
3. Introduce a InitOvsVportCommon() that is common code for evrey port
   that gets added from userspace. This is especially useful for ports
   that are not present on the Hyper-V switch. ie. tunnel ports and
   bridge-internal ports.
4. Fix OvsClearAllSwitchVports() to remove ports from both the lists:
   the ones added from Hyper-V as well as the ones added from OVS
   userspace.
5. Update OvsInitVxlanTunnel() to not call into InitHvVportCommon
   (formerly OvsInitVportCommon()) since it is not a port on the Hyper-v
   switch. In a later patch in the series, we'll call
   InitOvsVportCommon() for a VXLAN port.
6. 'numNonHvVports' increments and decrements ONLY for ports that are
   added from OVS userspace but not present on the Hyper-V switch.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 35f20164e225240e443b9140313ce75539c841d3
      https://github.com/openvswitch/ovs/commit/35f20164e225240e443b9140313ce75539c841d3
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Update vport add code.

In this patch, we make the following updates to the vport add code:

1. Clarify the roles of the different hash tables, so it is easier to
   read/write code in the future.
2. Update OvsNewVportCmdHandler() to support adding bridge-internal
   ports.
3. Fixes in OvsNewVportCmdHandler() to support adding external port.
   Earlier, we'd hit ASSERTs.
4. I could not figure out way to add a port of type
   OVS_PORT_TYPE_INTERNAL with name "internal" to the confdb using
   ovs-vsctl.exe. And, this is needed in order to add the Hyper-V
   internal port from userspace. To workaround this problem, we treat a
   port of type OVS_PORT_TYPE_NETDEV with name "internal" as a request
   to add the Hyper-V internal port. This is a workaround. The end
   result is that there's a discrepancy between the port type in the
   datpaath v/s confdb, but this has not created any trouble in testing
   so far. If this ends up becoming an issue, we can mark the Hyper-V
   internal port to be of type OVS_PORT_TYPE_NETDEV. No harm.
5. Because of changes indicated in #1, we also update the vport dump
   code to look at the correct hash table for ports added from
   userspace.
6. Add a OvsGetTunnelVport() for convenience.
7. Update ASSERTs() while cleaning up the switch.
8. Nuke OvsGetExternalVport() and OvsGetExternalMtu().

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3aa40c8301b3c2538c18569e2a1e05d500b53392
      https://github.com/openvswitch/ovs/commit/3aa40c8301b3c2538c18569e2a1e05d500b53392
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: OvsFindVportByPortIdAndNicIndex() and external port.

We use OvsFindVportByPortIdAndNicIndex() to lookup the vport for a
packte received from the Hyper-V switch. If a packet was indeed received
from the virtual external NIC, we should flag it.

Validation:
1. Install and Uninstall the OVS EXT Driver (without enabling the OVS
   extension on the Hyper-V switch).
2. Install and Uninstall the OVS EXT Driver (with enabling the OVS
   extension on the Hyper-V switch). Hyper-V switch had a few ports.
3. Install and Uninstall the OVS EXT Driver (with enabling the OVS
   extension on the Hyper-V switch). Added a few ports before
   uninstalling.
4. Install the OVS EXT driver, and test the following functionality:
   a) ping between 2 VMs on the same host
   b) ping between 2 VMs on 2 Hyper-Vs - one physical and another
      virtual backed by VLAN (patch port between br-pif and br-int).
   c) ping between 2 VMs on 2 Hyper-Vs - one physical and another
      virtual backed by VXLAN.
   d) Successful uninstallation after these tests.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 542cc9bb8b8817866afcd692a78fa591db5839dc
      https://github.com/openvswitch/ovs/commit/542cc9bb8b8817866afcd692a78fa591db5839dc
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    R CONTRIBUTING
    A CONTRIBUTING.md
    R CodingStyle
    A CodingStyle.md
    R DESIGN
    A DESIGN.md
    R FAQ
    A FAQ.md
    R INSTALL
    R INSTALL.DPDK
    A INSTALL.DPDK.md
    R INSTALL.Debian
    A INSTALL.Debian.md
    R INSTALL.Docker
    A INSTALL.Docker.md
    R INSTALL.Fedora
    A INSTALL.Fedora.md
    R INSTALL.KVM
    A INSTALL.KVM.md
    R INSTALL.Libvirt
    A INSTALL.Libvirt.md
    R INSTALL.NetBSD
    A INSTALL.NetBSD.md
    R INSTALL.RHEL
    A INSTALL.RHEL.md
    R INSTALL.SSL
    A INSTALL.SSL.md
    R INSTALL.Windows
    A INSTALL.Windows.md
    R INSTALL.XenServer
    A INSTALL.XenServer.md
    A INSTALL.md
    R INSTALL.userspace
    A INSTALL.userspace.md
    R IntegrationGuide
    A IntegrationGuide.md
    M Makefile.am
    M NEWS
    R OPENFLOW-1.1+
    A OPENFLOW-1.1+.md
    R PORTING
    A PORTING.md
    R README-lisp
    A README-lisp.md
    M README.md
    R REPORTING-BUGS
    A REPORTING-BUGS.md
    R TODO
    A TODO.md
    R WHY-OVS
    A WHY-OVS.md
    M datapath/Modules.mk
    R datapath/README
    A datapath/README.md
    M lib/dpif.h
    M rhel/openvswitch-fedora.spec.in
    M rhel/openvswitch.spec.in
    R third-party/README
    A third-party/README.md
    M third-party/automake.mk
    R tutorial/Tutorial
    A tutorial/Tutorial.md
    M tutorial/automake.mk
    M utilities/ovs-ctl.8
    R vtep/README.ovs-vtep
    A vtep/README.ovs-vtep.md
    M vtep/automake.mk

  Log Message:
  -----------
  doc: Convert docs to Markdown language

Converts the majority of docs over to use the Markdown language for
pretty printing on GitHub. It's a rough first convertion without
exploiting the full potential of Markdown at this point. Section
titles and indentation are fixed as needed. Minimal docs interlinking
is added.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 30bc81536d74f0dbc9fade5ec469412b22419a3d
      https://github.com/openvswitch/ovs/commit/30bc81536d74f0dbc9fade5ec469412b22419a3d
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c

  Log Message:
  -----------
  datapath-windows: Allow encapsulation if source is bridge-internal port.

It has been observed that when userspace generates and executes that
packet, the source port of such a packet is set to the bridge-internal
port. Currently, we allow encapsulation only if the source port is a VIF
port or no port. We relax the check in this patch.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ee4dac3bb6dcef43c51f7ddf3ad954eab4c9ed0f
      https://github.com/openvswitch/ovs/commit/ee4dac3bb6dcef43c51f7ddf3ad954eab4c9ed0f
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M lib/netdev-windows.c

  Log Message:
  -----------
  netdev-windows: Fix bugs in flag update and MAC address copy functions.

The .update_flags function in netdev-windows was dummy. But we need to
return the existing flags for link status to be shown as up in the
confdb.

There was a bug in copying the MAC address.

We fix these two issues in this patch.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Co-Authored-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 66fa2c884fe9aee48217a76189a148bf215e0f5d
      https://github.com/openvswitch/ovs/commit/66fa2c884fe9aee48217a76189a148bf215e0f5d
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M lib/command-line.c
    M lib/command-line.h
    M ovsdb/ovsdb-tool.c
    M utilities/ovs-appctl.c
    M utilities/ovs-dpctl.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  command-line: Add function to print all options.

This commit adds a function that prints (both long and short)
options of a ovs-* command.  To use this function, option
'--option' is added to ovs-appctl/dpctl/ofctl and ovsdb-tool
commands.  A future patch will use the option output to
conduct bash command-line completion.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 91a11f5b19a370958d9f7b1827f2861d9dae16d8
      https://github.com/openvswitch/ovs/commit/91a11f5b19a370958d9f7b1827f2861d9dae16d8
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M lib/unixctl.c
    M tests/unixctl-py.at
    M utilities/ovs-appctl.8.in
    M utilities/ovs-appctl.c

  Log Message:
  -----------
  ovs-appctl: Rename 'help' to 'list-commands'.

Having 'ovs-appctl help' and 'ovs-appctl --help' print different
output is confusing.  This commit renames the 'help' to 'list-commands'.
Also, future patches will add the 'list-commands' to other ovs-*
commands, and the output will be used by bash command-line completion
script.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 56cad66697eba8ee9b7c52ac3051407210dadc70
      https://github.com/openvswitch/ovs/commit/56cad66697eba8ee9b7c52ac3051407210dadc70
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M lib/dpctl.c
    M lib/dpctl.h
    M utilities/ovs-dpctl.c

  Log Message:
  -----------
  dpctl: Implement 'list-commands' function.

This commit implements the 'list-commands' command for ovs-dpctl
and ovs-appctl dpctl/* commands.  The function will print the
usage string for each subcommand.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 451de37e7fe6a89a482771fbec5e653be6117380
      https://github.com/openvswitch/ovs/commit/451de37e7fe6a89a482771fbec5e653be6117380
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-28 (Tue, 28 Oct 2014)

  Changed paths:
    M lib/command-line.c
    M lib/command-line.h
    M ovsdb/ovsdb-tool.c
    M tests/ovstest.c
    M tests/test-bitmap.c
    M tests/test-classifier.c
    M tests/test-cmap.c
    M tests/test-heap.c
    M tests/test-jsonrpc.c
    M tests/test-ovsdb.c
    M tests/test-reconnect.c
    M tests/test-util.c
    M tests/test-vconn.c
    M utilities/ovs-benchmark.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  command-line: Add function to print command usage.

This commit adds a new variable in 'struct command' for
recording the command usage.  Also, a new function is
added to print the usage given the array of defined
commands.

Later patch will use the output in bash command-line
completion script.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 9f22b0cfe0feb9cfeab3b776c7b372b0b452beb5
      https://github.com/openvswitch/ovs/commit/9f22b0cfe0feb9cfeab3b776c7b372b0b452beb5
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M lib/automake.mk
    A lib/rculist.c
    A lib/rculist.h

  Log Message:
  -----------
  lib/rculist: New RCU-iterator, single-writer doubly-linked list.

rculist allows concurrent lockless list iteration, while a writer may
be modifying the list.  Multiple writers can be supported by using a
mutex in addition to rculist.

First user will be added in a following patch.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 42767cce7247bf609ab4a06bcbb3cdc480776cc2
      https://github.com/openvswitch/ovs/commit/42767cce7247bf609ab4a06bcbb3cdc480776cc2
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M tests/test-classifier.c

  Log Message:
  -----------
  tests/test-classifier: Properly use ovsrcu_postpone.

Following patches add stricter checks of RCU memory management of
rules removed from a classifier.  This patch properly postpones
freeing of 'struct cls_rule's that have been removed from a
classifier.

Also remove all the rules from classifier before destructing it in
test_rule_replacement().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 62dbc5bdab712673f0336cd74937a87304f36ce1
      https://github.com/openvswitch/ovs/commit/62dbc5bdab712673f0336cd74937a87304f36ce1
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M INSTALL.Docker.md
    M NEWS

  Log Message:
  -----------
  docker: Update documentation to reflect risks of retiring ovs-docker.

Requested-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Flavio Leitner <fbl at redhat.com>


  Commit: 337c9b992772763b499c5868ba60cbeb17c6ef28
      https://github.com/openvswitch/ovs/commit/337c9b992772763b499c5868ba60cbeb17c6ef28
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M AUTHORS
    M configure.ac
    M lib/netdev-linux.c

  Log Message:
  -----------
  netdev-linux: Add support for 64-bit network device stats.

Reported-by: Andrey Korolyov <andrey at xdel.ru>
Tested-by: Andrey Korolyov <andrey at xdel.ru>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 17fb85a544f8b77c65af813a962fb5fea3996050
      https://github.com/openvswitch/ovs/commit/17fb85a544f8b77c65af813a962fb5fea3996050
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M tests/ovs-vsctl.at
    M utilities/ovs-vsctl.c

  Log Message:
  -----------
  ovs-vsctl: Allow referring to rows whose names are UUIDs by those names.

Every row in the database has a UUID, generated by the database server.
Rows in most tables also have a user-assigned name (e.g. a bridge or port
or interface name).  The ovs-vsctl database commands (e.g. "set", "get",
"list", ...) accept both UUIDs and names, but until now if a command's
argument had the form of a UUID, then it had to be the database-assigned
UUID for a row; that is, ovs-vsctl did not check whether it was the name
of a row.  This commit changes that: a UUID argument to a database command
is now first checked against database UUIDs then, if it is not a database
UUID, it is checked as the name of a row.

This is prompted by Windows integration with OpenStack, which uses UUIDs
as port names.

CC: Nithin Raju <nithin at vmware.com>
Requested-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d77bbf2597ea3182f41762ab5a68485fb1741748
      https://github.com/openvswitch/ovs/commit/d77bbf2597ea3182f41762ab5a68485fb1741748
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  vswitch.xml: Fix spelling errors in documentation.

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


  Commit: 99ec8f05e55ea5513f1792ba31e69594eba71e74
      https://github.com/openvswitch/ovs/commit/99ec8f05e55ea5513f1792ba31e69594eba71e74
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  vswitch.xml: Improve IPFIX documentation.

A coworker came by yesterday with a question about IPFIX in Open vSwitch.
I did not know the answer, so I read the documentation.  The documentation
was harder to understand than necessary.  This change should make it easier
to understand by providing an overview of the two forms of configuration
and grouping together the columns that apply only to one form of
configuration.

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


  Commit: 123004ffeb71421f40de72194df53f56754b8682
      https://github.com/openvswitch/ovs/commit/123004ffeb71421f40de72194df53f56754b8682
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-10-29 (Wed, 29 Oct 2014)

  Changed paths:
    M debian/openvswitch-common.docs

  Log Message:
  -----------
  debian: Fix broken build during package creation.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 9feb1017c5f16ace32479264aae6d92ed81f0633
      https://github.com/openvswitch/ovs/commit/9feb1017c5f16ace32479264aae6d92ed81f0633
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M CONTRIBUTING.md
    M FAQ.md
    M INSTALL.DPDK.md
    M INSTALL.Debian.md
    M INSTALL.Docker.md
    M INSTALL.Fedora.md
    M INSTALL.KVM.md
    M INSTALL.Libvirt.md
    M INSTALL.NetBSD.md
    M INSTALL.RHEL.md
    M INSTALL.SSL.md
    M INSTALL.XenServer.md
    M INSTALL.md
    M INSTALL.userspace.md
    M OPENFLOW-1.1+.md
    M PORTING.md
    M README.md
    M TODO.md
    M tutorial/ovs-sandbox

  Log Message:
  -----------
  doc: Add more cross references between docs

Suggested-by: Lori Jakab <lojakab at cisco.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Reviewed-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5445f508df83f260b2953cc6cd3021c1e22d9aec
      https://github.com/openvswitch/ovs/commit/5445f508df83f260b2953cc6cd3021c1e22d9aec
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M lib/automake.mk
    R lib/list.c
    M lib/list.h

  Log Message:
  -----------
  list: Inline all functions.

All of the list functions are really small, so inlining them should be
beneficial.

Requested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3f636c7e22945652e0e2553894598fa24a5d5f6f
      https://github.com/openvswitch/ovs/commit/3f636c7e22945652e0e2553894598fa24a5d5f6f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M lib/util.h
    M tests/ovstest.c
    M tests/test-aes128.c
    M tests/test-atomic.c
    M tests/test-bitmap.c
    M tests/test-bundle.c
    M tests/test-byte-order.c
    M tests/test-classifier.c
    M tests/test-cmap.c
    M tests/test-csum.c
    M tests/test-flows.c
    M tests/test-hash.c
    M tests/test-heap.c
    M tests/test-hindex.c
    M tests/test-hmap.c
    M tests/test-json.c
    M tests/test-jsonrpc.c
    M tests/test-list.c
    M tests/test-lockfile.c
    M tests/test-multipath.c
    M tests/test-netflow.c
    M tests/test-odp.c
    M tests/test-packets.c
    M tests/test-random.c
    M tests/test-reconnect.c
    M tests/test-rstp.c
    M tests/test-sflow.c
    M tests/test-sha1.c
    M tests/test-stp.c
    M tests/test-unix-socket.c
    M tests/test-util.c
    M tests/test-uuid.c
    M tests/test-vconn.c

  Log Message:
  -----------
  ovs_assert, tests: Support NDEBUG.

./configure accepts --enable-ndebug option.  Make ovs_assert() honor
it, and make sure all test programs disable it.

The order of include files in test programs is also made uniform:

1. #include <config.h>
2. #undef NDEBUG
3. Include file of the test subject (to make sure it itself has
   sufficient include directives).
4. System includes in alphapetical order.
5. OVS includes in aplhapetical order.

Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 03ec3f12967349d5f744f18c71f2a81487da6117
      https://github.com/openvswitch/ovs/commit/03ec3f12967349d5f744f18c71f2a81487da6117
  Author: Wang Sheng-Hui <shhuiw at gmail.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M tests/run-oftest
    M tests/run-ryu

  Log Message:
  -----------
  tests: Check the existance of WHY-OVS.md instead of WHY-OVS.

WHY-OVS has been renamed to WHY-OVS.md. Update the filenames in run-oftest
and run-ryu scripts

Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 423ede182b650bbdc3845ebaa5921cb064fdf083
      https://github.com/openvswitch/ovs/commit/423ede182b650bbdc3845ebaa5921cb064fdf083
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M NEWS
    M utilities/automake.mk
    A utilities/ovs-command-compgen-test.bash
    A utilities/ovs-command-compgen.INSTALL.md
    A utilities/ovs-command-compgen.bash

  Log Message:
  -----------
  utilities: Add bash command-line completion script.

This patch adds bash command-line completion script for ovs-appctl,
ovs-dpctl, ovs-ofctl and ovsdb-tool command.  Right now, the script
can do the following:

- display available completion or complete on unfinished user input
  (long option, subcommand, and argument).

- once the subcommand (e.g. ofproto/trace) has been given, the
  script will print the subcommand format.

- the script can convert between keywords like 'bridge/port/interface/dp'
  and the available record in ovsdb.

The limitations are:

- only support small set of important keywords
  (dp, datapath, bridge, switch, port, interface, iface).

- does not support parsing of nested options
  (e.g. ovsdb-tool create [db [schema]]).

- does not support expansion on repeatitive argument
  (e.g. ovs-dpctl show [dp...]).

- only support matching on long options, and only in the format
  (--option [arg], i.e. should not use --option=[arg]).

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

Also, a unit testsuite is provided as ovs-command-compgen-test.bash.
It is suggested that this test script be run only inside
tutorial/sandbox directory.

For more info please refer to utilities/ovs-command-compgen.INSTALL.md.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: fa373af463a1421a1b55539911abf33a847bc9b1
      https://github.com/openvswitch/ovs/commit/fa373af463a1421a1b55539911abf33a847bc9b1
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M configure.ac
    M lib/netdev-linux.c

  Log Message:
  -----------
  netdev-linux: Avoid depending on kernel definition of rtnl_link_stats64.

We have to define our own with some kernel headers, so we might as well do
it everywhere, especially since there seems to be a problem with detecting
the presence of the definition with at least some kernels.

Reported-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: eb391b76aff9639547312ab93bdac9cc2e76c119
      https://github.com/openvswitch/ovs/commit/eb391b76aff9639547312ab93bdac9cc2e76c119
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-30 (Thu, 30 Oct 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/classifier.h
    M lib/match.c
    M lib/match.h
    M lib/ofp-util.h
    M lib/pvector.c
    M lib/pvector.h
    M ofproto/in-band.c
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M tests/test-classifier.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  classifier: Change type used for priorities from 'unsigned int' to 'int'.

OpenFlow has priorities in the 16-bit unsigned range, from 0 to 65535.
In the classifier, it is sometimes useful to be able to have values below
and above this range.  With the 'unsigned int' type used for priorities
until now, there were no values below the range, so some code worked
around it by converting priorities to 64-bit signed integers.  This didn't
seem so great to me given that a plain 'int' also had the needed range.
This commit therefore changes the type used for priorities to int.

The interesting parts of this change are in pvector.h and classifier.c,
where one can see the elimination of the use of int64_t.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 3bfe44a47d510980f8da4c81a8b6cf17d9dfeaf3
      https://github.com/openvswitch/ovs/commit/3bfe44a47d510980f8da4c81a8b6cf17d9dfeaf3
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/PacketIO.c

  Log Message:
  -----------
  datapath-windows: Don't leak NBLs with multiple NBs.

Currently, if we receive an NBL with multiple NBs from NDIS, we just
ASSERT() and not do anything. The right thing to do obviously is to
process the NBL. This is a work in progress.

In the meantime, we should complete the NBL and not just leak it.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 541328f171e21acd393af981394ba93176438ae8
      https://github.com/openvswitch/ovs/commit/541328f171e21acd393af981394ba93176438ae8
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Nuke USE_NEW_VPORT_ADD_WORKFLOW.

We were using USE_NEW_VPORT_ADD_WORKFLOW while transitioning from old
workflow for adding ports. We don't need it anymore.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 30ffab6392a4f5b7436ed94e8eee7513ee1b217c
      https://github.com/openvswitch/ovs/commit/30ffab6392a4f5b7436ed94e8eee7513ee1b217c
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Fix locking code in OvsGetNetdevCmdHandler().

We were acquiring locks twice, and forgotten to release a lock in an
error case.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a2ab813b439c00a90d6382840253493563d7ac7a
      https://github.com/openvswitch/ovs/commit/a2ab813b439c00a90d6382840253493563d7ac7a
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M build-aux/extract-odp-netlink-windows-dp-h
    M datapath-windows/include/OvsDpInterfaceExt.h
    M datapath-windows/include/OvsPub.h
    M datapath-windows/misc/OVS.psm1

  Log Message:
  -----------
  datapath-windows: Increase the maximum size of port name.

In userspace, port name sizes are restricted to IFNAMSIZ which is
defined to IF_NAME_SIZE in:
C:\Program Files (x86)\Windows Kits\8.1\Include\shared\netioapi.h

In the kernel, since IFNAMSIZ was not available, we previously defined a
value of 16 for the kernel. This is restrictive for Openstack
integration where we use UUID as the name.

In this patch, we make the kernel code also use the same value as the
userspace.

Also updated is the OVS.psm1 powershell script which now allows friendly
names to be upto 48 bytes.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 042d944e72e4c20fa98b7f0d62178115873041c8
      https://github.com/openvswitch/ovs/commit/042d944e72e4c20fa98b7f0d62178115873041c8
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Scott Lowe <scott.lowe at scottlowe.org>.

Contributors to the webpage deserve authorship credit too.

CC: Scott Lowe <scott.lowe at scottlowe.org>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0da32511ec504159c83df5b8e03f25dc6a32e69a
      https://github.com/openvswitch/ovs/commit/0da32511ec504159c83df5b8e03f25dc6a32e69a
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  ovs-ofctl: Free group buckets.

To some extent this is cosmetic because ovs-ovfctl will immediately
exit. However, it does seem to be in keeping with freeing 'gms' in
ofctl_group_mod_file().

Found by inspection using make check-valgrind.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fa03bb9e323a24cb61f9012c01c75a644917eefa
      https://github.com/openvswitch/ovs/commit/fa03bb9e323a24cb61f9012c01c75a644917eefa
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M lib/ofp-print.c

  Log Message:
  -----------
  ofp-print-ofctl: Free group buckets.

Found by inspection using make check-valgrind.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: dc8a858f50cf7e52d259c7b96c2729d592d68169
      https://github.com/openvswitch/ovs/commit/dc8a858f50cf7e52d259c7b96c2729d592d68169
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M lib/ofp-parse.c

  Log Message:
  -----------
  ovs-ofctl: Improve error message for meter=0.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7e6621e9d481a467d012277db9b94c0bccaf6d36
      https://github.com/openvswitch/ovs/commit/7e6621e9d481a467d012277db9b94c0bccaf6d36
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  odp-util: Fix segfault in MPLS attribute parsing.

Just because the ethertype is MPLS, this doesn't mean that the datapath
understands and provides OVS_KEY_ATTR_MPLS attributes for the flow.
Previously we would check the size of the OVS_KEY_ATTR_MPLS attribute
before checking whether the attribute is present. This would cause a
segfault in nl_attr_get_size(), usually triggered from a handler thread.

This patch brings the MPLS parsing code more in line with the rest of
the parse_l2_5_onward() function, by only processing MPLS if the
attribute is present.

Reported-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: c501b42702bc271ecf46e37bfa3a6ac7cfffa0a6
      https://github.com/openvswitch/ovs/commit/c501b42702bc271ecf46e37bfa3a6ac7cfffa0a6
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M tests/test-classifier.c

  Log Message:
  -----------
  classifier: Use rculist.

The list of identical, but lower priority rules is not currently used
in classifier lookup.  A later patch introducing conjunctive matches
needs to access the list during lookups, so we must make the list RCU.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 712b4d2470ed2e8cfe6bb16080d7e9d54003061a
      https://github.com/openvswitch/ovs/commit/712b4d2470ed2e8cfe6bb16080d7e9d54003061a
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-10-31 (Fri, 31 Oct 2014)

  Changed paths:
    M tests/test-classifier.c

  Log Message:
  -----------
  test-classifier: Ensure priority is not INT_MIN.

Classifier reserves the priority value INT_MIN for its own use.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: bd8bf90f721bef30a819d0eddd7daa0f1dd64007
      https://github.com/openvswitch/ovs/commit/bd8bf90f721bef30a819d0eddd7daa0f1dd64007
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M lib/packets.h

  Log Message:
  -----------
  packets: Use WORDS_BIGENDIAN for struct geneve_opt.

The macro LITTLE_ENDIAN is a constant, not a test for endianness,
so it doesn't actually tell us anything about the machine.
WORDS_BIGENDIAN is both correct and defined by configure so it is
more portable.

Reported-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4f0b577e0c31eb2efc15fe7b88451f310003b9ba
      https://github.com/openvswitch/ovs/commit/4f0b577e0c31eb2efc15fe7b88451f310003b9ba
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M xenserver/openvswitch-xen.spec.in

  Log Message:
  -----------
  xenserver: Turn on SSE and SSE2 for the build, for atomic 64-bit ops.

The ovs-atomic-i586 implementation of atomic operations can implement
64-bit atomics more efficiently when SSE is supported.  XenServer runs only
on 64-bit capable processors, in 32-bit mode, so we know on XenServer that
SSE and SSE2 are supported because they are architectural for amd64.  Thus,
this commit enables SSE and SSE2 when building for XenServer to get the
improved atomics support.

I tested that this successfully adds -msse -msse2 to the compiler flags
inside a XenServer DDK, but I didn't actually run it on a real XenServer
install.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 58718f4029a1ab0ec3eae427f00fd91cf118a2ca
      https://github.com/openvswitch/ovs/commit/58718f4029a1ab0ec3eae427f00fd91cf118a2ca
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M lib/route-table.c

  Log Message:
  -----------
  route-table: get rid of name-table

name table maintains device ifindex to name mapping.  On any name
table changes it invalidate name table and routing table. So
rather than building two tables this patch moves dev name to routing
entry and build routing table on any name table changes.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: d9b4ebc5d15202bedad06969353435a4c1951c71
      https://github.com/openvswitch/ovs/commit/d9b4ebc5d15202bedad06969353435a4c1951c71
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M lib/automake.mk
    M lib/netdev-vport.c
    A lib/ovs-router.c
    A lib/ovs-router.h
    M lib/route-table-bsd.c
    M lib/route-table-stub.c
    M lib/route-table.c
    M lib/route-table.h
    M ofproto/ofproto-dpif-sflow.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  route-table: Use classifier to store routing table.

Rather than using hmap for storing routing entries we can directly use
classifier which has support for priority and wildcard entries.
This makes route lookup lockless. This help when we use route lookup
for native tunneling.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: e0cc58f9b7421d1b63bc64c90f25f742fbae5777
      https://github.com/openvswitch/ovs/commit/e0cc58f9b7421d1b63bc64c90f25f742fbae5777
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M lib/route-table.c

  Log Message:
  -----------
  route-table: extract gw information.

Routing table will be used by ovs userspace tunneling, it need to
know gw address, following commit extract gw information from
netlink message so that ovs can populate it in ovs route table.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 12e4681cfb4a7f0c85a41b347a8a89922a3e0ac2
      https://github.com/openvswitch/ovs/commit/12e4681cfb4a7f0c85a41b347a8a89922a3e0ac2
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests/ofproto-dpif - fragment handling: Add detail.

Add transport port modifications to the existing frags handling test
case.

This demonstrates incorrect behavior by not moving the destination
port number to source port in normal mode for first fragment, as the
transport port numbers have been zeroed and the move has no effect,
and by allowing moves to/from transport ports on later fragments
(which do not have a transport header).

Next patches fix these problems.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5e9a47719dd02a099939f5aaada5ca3ae3b47dc3
      https://github.com/openvswitch/ovs/commit/5e9a47719dd02a099939f5aaada5ca3ae3b47dc3
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto-dpif-xlate: Do not clear ports with frags in xlate_actions().

Transport ports are already cleared for lookup if need be, and they
should be available for action processing, so do not clear them in
xlate_actions().

A drop flow takes care of dropping the packet, so no special case is
needed in xlate_actions().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 02df89d2c6552078475fa8ac008615804f255a42
      https://github.com/openvswitch/ovs/commit/02df89d2c6552078475fa8ac008615804f255a42
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M datapath/linux/compat/exthdrs_core.c
    M datapath/linux/compat/include/net/ipv6.h

  Log Message:
  -----------
  datapath: Fix compat checks for ipv6_skip_exthdr()

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: e6556fe32f3c7f22353324233e61c77545bbdb4d
      https://github.com/openvswitch/ovs/commit/e6556fe32f3c7f22353324233e61c77545bbdb4d
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M build-aux/extract-ofp-fields
    M lib/meta-flow.h
    M lib/nx-match.c

  Log Message:
  -----------
  nx-match: Add support for multiple OXM field assignments for one field.

actset_output, to be added in an upcoming commit, has one OXM assignment
in OpenFlow 1.3 and another one in OpenFlow 1.5.  This commit allows both
of them to be supported in appropriate OpenFlow versions.

This feature is difficult to test on its own, so the same commit that adds
actset_output support also tests this feature.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: c61f3870c208c74d6d95bebc0df9acc68341a605
      https://github.com/openvswitch/ovs/commit/c61f3870c208c74d6d95bebc0df9acc68341a605
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-03 (Mon, 03 Nov 2014)

  Changed paths:
    M NEWS
    M build-aux/extract-ofp-fields
    M include/openflow/openflow-1.0.h
    M lib/flow.c
    M lib/flow.h
    M lib/match.c
    M lib/match.h
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/nx-match.c
    M lib/odp-util.h
    M lib/ofp-util.c
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofproto-dpif.at
    M tests/ofproto.at
    M tests/ovs-ofctl.at
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  flow: Support OF1.5+ (draft) actset_output field.

This field allows a flow table to match on the output port currently in the
action set.

ONF-JIRA: EXT-233
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 41f562be0e45684414f299c283d18ad22f491c6b
      https://github.com/openvswitch/ovs/commit/41f562be0e45684414f299c283d18ad22f491c6b
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M lib/match.c

  Log Message:
  -----------
  match: Use ds_chomp() in match_format()

Slightly simplify match_format() by using ds_chomp()
rather than open-coding its logic.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: dbf9e6d9d7e142b7b66ac6dc3f010eb1faac2bf3
      https://github.com/openvswitch/ovs/commit/dbf9e6d9d7e142b7b66ac6dc3f010eb1faac2bf3
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M lib/ofp-print.c

  Log Message:
  -----------
  ofp-print: Use ds_chomp() in ofp10_match_to_string()

Slightly simplify ofp10_match_to_string() by using ds_chomp()
rather than open-coding its logic.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7251515ea9532a0d406fc24cf96cea59ef01538d
      https://github.com/openvswitch/ovs/commit/7251515ea9532a0d406fc24cf96cea59ef01538d
  Author: David Verbeiren <david.verbeiren at intel.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Fix DPDK rings broken by multi queue

DPDK rings don't need one queue per PMD thread and don't support multiple
queues (set_multiq function is undefined). To fix operation with DPDK rings,
this patch ignores EOPNOTSUPP error on netdev_set_multiq() and provides, for
DPDK rings, a netdev send() function that ignores the provided queue id
(= PMD thread core id).

Suggested-by: Maryam Tahhan <maryam.tahhan at intel.com>
Signed-off-by: David Verbeiren <david.verbeiren at intel.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 495a6c342b3fc38c375b20cd2dcd9b9ac9017b64
      https://github.com/openvswitch/ovs/commit/495a6c342b3fc38c375b20cd2dcd9b9ac9017b64
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M lib/ovs-router.c

  Log Message:
  -----------
  ovs-router: Fix sparse warning

Fixes following warning:
../lib/ovs-router.c:162:11: warning: incorrect type in assignment
(different base types)
../lib/ovs-router.c:162:11:    expected restricted ovs_be32
[usertype] <noident>
../lib/ovs-router.c:162:11:    got restricted ovs_be16

Reported-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 2c90878611d3f9d8722f068861d4d716f77b146e
      https://github.com/openvswitch/ovs/commit/2c90878611d3f9d8722f068861d4d716f77b146e
  Author: Motonori Shindo <motonori at shin.do>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M ofproto/netflow.c

  Log Message:
  -----------
  netflow: Fix interpretation of flow_seq.

'flow_seq" field in NetFlow v5 header should represent a number of NetFlow
flow records exported while it is representing the number of NetFlow
packets exported in the current code. This patch fixes this problem.

Signed-off-by: Motonori Shindo <motonori at shin.do>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5859b0aa8e35b174aa5a50b31fa2f059c62647de
      https://github.com/openvswitch/ovs/commit/5859b0aa8e35b174aa5a50b31fa2f059c62647de
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Add drop_frags_rule to struct xbridge.

It will be used in an upcoming commit.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: a8c3134833dcfbd3a72ffa5aa5d79e752cea871b
      https://github.com/openvswitch/ovs/commit/a8c3134833dcfbd3a72ffa5aa5d79e752cea871b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Make ofproto/trace a bit more like real packet translation.

Until now, ofproto/trace has looked up the flow itself.  xlate_actions()
can do the flow lookup internally and, since that is what happens when a
packet arrives, having it do its own packet lookup makes a lot of sense.

I noticed this in connection with the actset_output field, which
xlate_actions() should set to OFPP_UNSET at the beginning of translation
before looking up the flow.  ofproto/trace didn't do that, so it looked
up a rule with actset_output=0 instead.  By having xlate_actions() do the
lookup, the behavior can be consistent and correct.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 3ca3ce0c1fab6331ba9edced207f9fdfe0816602
      https://github.com/openvswitch/ovs/commit/3ca3ce0c1fab6331ba9edced207f9fdfe0816602
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Make sure test for actset_output tests initial condition.

ONF-JIRA: EXT-233
Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>


  Commit: d637497c0d82a612ef6abf5d1c464d5dfd0a0d1c
      https://github.com/openvswitch/ovs/commit/d637497c0d82a612ef6abf5d1c464d5dfd0a0d1c
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Convert dp rcu read operation to locked operations

dp read operations depends on ovs_dp_cmd_fill_info(). This API
needs to looup vport to find dp name, but vport lookup can
fail. Therefore to keep vport reference alive we need to
take ovs lock.

Found by code inspection.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 52c7a4e3146ba193b6cd78931bf7cf00b6136b44
      https://github.com/openvswitch/ovs/commit/52c7a4e3146ba193b6cd78931bf7cf00b6136b44
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M lib/learning-switch.c

  Log Message:
  -----------
  ovs-testcontroller: Fix priority of non table-miss flow entries.

Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>


  Commit: 73056818e9f8b6a24b708d383c8453bd25eadb9a
      https://github.com/openvswitch/ovs/commit/73056818e9f8b6a24b708d383c8453bd25eadb9a
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M include/openflow/automake.mk
    A include/openflow/openflow-1.5.h
    M include/openflow/openflow.h

  Log Message:
  -----------
  openflow.h: Add header for OpenFlow v1.5.

Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5167d6b010082d0a164fd743800fe653bbb310d2
      https://github.com/openvswitch/ovs/commit/5167d6b010082d0a164fd743800fe653bbb310d2
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M lib/route-table-stub.c

  Log Message:
  -----------
  router-table-stub: Fix compilation error.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f8f417d3df1cc4e922b4ad10fbbdcdb849520244
      https://github.com/openvswitch/ovs/commit/f8f417d3df1cc4e922b4ad10fbbdcdb849520244
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M datapath-windows/misc/OVS.psm1

  Log Message:
  -----------
  datapath-windows: Add WMI to set Hyper-V port "friendly name" from NOVA.

Added a function Set-VMNetworkAdapterOVSPortDirect() to be called from
NOVA driver to set a name on the port of the first VNIC for the specified VM.

Usage example:
Set-VMNetworkAdapterOVSPortDirect -OVSPortName ovs-port-5 -VMName NoOS

To confirm that the name was set:
Get-VMNetworkAdapterByOVSPort  -OVSPortName ovs-port-5

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b5cbbcf6561732d2f99ed0619defcc7aff1e75db
      https://github.com/openvswitch/ovs/commit/b5cbbcf6561732d2f99ed0619defcc7aff1e75db
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif-provider.h
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-provider.h
    M tests/ovs-vsctl.at
    M vswitchd/bridge.c
    M vswitchd/vswitch.ovsschema
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  bridge: Store datapath version into ovsdb

OVS userspace are backward compatible with older Linux kernel modules.
However, not having the most up-to-date datapath kernel modules can
some times lead to user confusion. Storing the datapath version in
OVSDB allows management software to check and optionally provide
notifications to users.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 69185eb25acbaa4b4744f6d9387920ba1c3625eb
      https://github.com/openvswitch/ovs/commit/69185eb25acbaa4b4744f6d9387920ba1c3625eb
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  ovs-ofctl: Only allow usable protocols for group commands

parse_ofp_group_mod_str() may limit the usable protocols according
to the group and in particular its actions. However, without this
change ovs-ofctl ignores this calculation.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: fb3939930c74095737e1fb2eb7d9f08c2a5cef8d
      https://github.com/openvswitch/ovs/commit/fb3939930c74095737e1fb2eb7d9f08c2a5cef8d
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-05 (Wed, 05 Nov 2014)

  Changed paths:
    M lib/route-table-bsd.c
    M lib/route-table-stub.c

  Log Message:
  -----------
  ovs-router: Define stub for ovs_router_unixctl_register()

ovs_router_unixctl_register() is called from ofproto layer.
But is not defined for all platform. Following patch define
stub to fix compilation error.

Reported-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>-


  Commit: f98e6e5bc16bb785f89227dd6927930885d8d290
      https://github.com/openvswitch/ovs/commit/f98e6e5bc16bb785f89227dd6927930885d8d290
  Author: Madhu Challa <challa at noironetworks.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M lib/learn.c
    M lib/meta-flow.h

  Log Message:
  -----------
  meta-flow: Make it simpler to expand mf_values in the future

Remove hard coded array index and make it dependent on the array size.

Signed-off-by: Madhu Challa <challa at noironetworks.com>
Co-authored-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fe540ca95b7aa2f48a4afe73aec31639a4f35d74
      https://github.com/openvswitch/ovs/commit/fe540ca95b7aa2f48a4afe73aec31639a4f35d74
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M FAQ.md

  Log Message:
  -----------
  FAQ: Describe how to add new fields and new actions.

We get these questions from time to time and it would be nice to just be
able to cut and paste the answer.  (And possibly some people might actually
read the answer straight from the FAQ.)

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 362d45b7ba707f1887460b56968c7ca72f27a64f
      https://github.com/openvswitch/ovs/commit/362d45b7ba707f1887460b56968c7ca72f27a64f
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora.spec: added license details

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 202e9217c835f287362c533b6e7bbe4bdf974639
      https://github.com/openvswitch/ovs/commit/202e9217c835f287362c533b6e7bbe4bdf974639
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use default buildroot

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 89c2665fc7ff1c0ff084da314d638894b442f7cf
      https://github.com/openvswitch/ovs/commit/89c2665fc7ff1c0ff084da314d638894b442f7cf
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: remove stale comment

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d09dbe6221cfba7ccbbf9cb2cc40d4d46416f0d3
      https://github.com/openvswitch/ovs/commit/d09dbe6221cfba7ccbbf9cb2cc40d4d46416f0d3
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: source line points to upstream tarball

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 21ea8738cc80e4e65ce6942ae7a43a7e7e9bfd2d
      https://github.com/openvswitch/ovs/commit/21ea8738cc80e4e65ce6942ae7a43a7e7e9bfd2d
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: Added buildrequires

This is needed to ensure all the packages are
installed on the system to be able to build
Open vSwitch.

This also permits to use yum-builddep(1) to
automatically install the dependencies on the
system.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b33c6dcaa967052833be83de18fbf52b51e9646e
      https://github.com/openvswitch/ovs/commit/b33c6dcaa967052833be83de18fbf52b51e9646e
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: removed extra space

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ab725f426fff327975f094c22a3754bdafbf2e21
      https://github.com/openvswitch/ovs/commit/ab725f426fff327975f094c22a3754bdafbf2e21
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: added more requires

The minimum recommended kernel for fedora is
3.15.0-0 due to be the first one including the
upstream kernel commit below:

  commit 4f647e0a3c37b8d5086214128614a136064110c3
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   Thu Mar 27 11:05:34 2014 -0300

  openvswitch: fix a possible deadlock and lockdep warning

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6fcc7a7a5c4e25f3403f359dcf5b49c394a3f14b
      https://github.com/openvswitch/ovs/commit/6fcc7a7a5c4e25f3403f359dcf5b49c394a3f14b
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: more simple description

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8c00d88bb647b2a3587daaf67756b67f0f3c4444
      https://github.com/openvswitch/ovs/commit/8c00d88bb647b2a3587daaf67756b67f0f3c4444
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use %configure macro

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9136f9bd175f92bf32e9b2696460bc035c7786ea
      https://github.com/openvswitch/ovs/commit/9136f9bd175f92bf32e9b2696460bc035c7786ea
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: add python-openvswitch subpackage

This creates a subpackage called python-openvswitch
providing python bidings for the Open vSwitch database.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f305420af8e81f2b8ff6f83238cce5bcc579e8c5
      https://github.com/openvswitch/ovs/commit/f305420af8e81f2b8ff6f83238cce5bcc579e8c5
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: add openvswitch-test package

Put the utilities that are useful to diagnose performance
and connectivity issues in Open vSwitch setup into another
package since they are not needed in most cases.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3519fa08011d4afeac3bf5152b8a1dbfd1704662
      https://github.com/openvswitch/ovs/commit/3519fa08011d4afeac3bf5152b8a1dbfd1704662
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: add openvswitch-devel subpackage

This provides static library, libopenswitch.a and the openvswitch
header files needed to build an external application in a separate
RPM package.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: da11d08888ed86223511577836245c5d5f370ee1
      https://github.com/openvswitch/ovs/commit/da11d08888ed86223511577836245c5d5f370ee1
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: Enable PIE

Package guidelines request to enable PIE.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f1b476c31511402cd313ff99901fecd7012586a6
      https://github.com/openvswitch/ovs/commit/f1b476c31511402cd313ff99901fecd7012586a6
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: obsolete controller subpackage

Once upon a time there was a controller subpackage
that was obsoleted

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6238c95d03ff4fc1543820784b7bb8f13d8791ba
      https://github.com/openvswitch/ovs/commit/6238c95d03ff4fc1543820784b7bb8f13d8791ba
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: _smp_mflags macro must be conditional

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c1aadf4aace5e58855de3bf19fa4d0a161bf759a
      https://github.com/openvswitch/ovs/commit/c1aadf4aace5e58855de3bf19fa4d0a161bf759a
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use default tarball dirs name

The default tarball directory follows the standard.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1c9564ebe38c175e3d4d19eb34e285c7585e8280
      https://github.com/openvswitch/ovs/commit/1c9564ebe38c175e3d4d19eb34e285c7585e8280
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: the db and id must be owned

Both conf.db and system-id.conf needs to be owned, so
spec now list them in the %files section.  However,
they are not shipped with the rpm (%ghost)

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a2f24d79b06b6781e58f841b5a470999bd274376
      https://github.com/openvswitch/ovs/commit/a2f24d79b06b6781e58f841b5a470999bd274376
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: sort man-pages and use macros

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b3d0fa1d41f26f7b5564326b985fa3d7b13b2f0d
      https://github.com/openvswitch/ovs/commit/b3d0fa1d41f26f7b5564326b985fa3d7b13b2f0d
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: break %doc long line

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f616ba3e93573a6c2f697a1f1e7b87973c963ff7
      https://github.com/openvswitch/ovs/commit/f616ba3e93573a6c2f697a1f1e7b87973c963ff7
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use macro for /usr/sbin

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5b88626ad27ebee2e6f1f9e9114dee464ed90959
      https://github.com/openvswitch/ovs/commit/5b88626ad27ebee2e6f1f9e9114dee464ed90959
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use macro for /usr/bin

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: aa6ccca5a9e139c17a279fa385370ea912775b79
      https://github.com/openvswitch/ovs/commit/aa6ccca5a9e139c17a279fa385370ea912775b79
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use macro for /usr/share

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e7b0f92d59411e5c2800dc268bd7853cf4849cbf
      https://github.com/openvswitch/ovs/commit/e7b0f92d59411e5c2800dc268bd7853cf4849cbf
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: convert missing man-pages to use macro

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a7321a1feee807cf8e5118245d447bffd3c82eff
      https://github.com/openvswitch/ovs/commit/a7321a1feee807cf8e5118245d447bffd3c82eff
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: do not replace logrotate cfg if modified

Don't overwrite if the logrotate configuration
file is modified.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 4f98e02e6c742540b90899ceccc6d888d8b18eea
      https://github.com/openvswitch/ovs/commit/4f98e02e6c742540b90899ceccc6d888d8b18eea
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use RPM macros in %install section

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 150ffd74b9af7ffc7880ffb51a4dee029c2e522f
      https://github.com/openvswitch/ovs/commit/150ffd74b9af7ffc7880ffb51a4dee029c2e522f
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: fix indentation in %install section

Use spaces instead of tabs as the other lines

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fa0be8a475e95e8e79277c60e5fe2e73948d09eb
      https://github.com/openvswitch/ovs/commit/fa0be8a475e95e8e79277c60e5fe2e73948d09eb
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: set permission mode with 4 digits

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 95ca408c4c5fdcb97dd8c05a556f6af626f91551
      https://github.com/openvswitch/ovs/commit/95ca408c4c5fdcb97dd8c05a556f6af626f91551
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: use empty lines to split blocks in %install

Use empty lines to split blocks to improve readability.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3d1d098cae0d38306a2094545ee47b7f0cf0bd8f
      https://github.com/openvswitch/ovs/commit/3d1d098cae0d38306a2094545ee47b7f0cf0bd8f
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: remove uneeded lines

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3224d9487fef797559b75817c725c253e5d7fb5f
      https://github.com/openvswitch/ovs/commit/3224d9487fef797559b75817c725c253e5d7fb5f
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: break long lines in %install

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c846a5b2b0fc55530da3f68f52585a811e63bb8c
      https://github.com/openvswitch/ovs/commit/c846a5b2b0fc55530da3f68f52585a811e63bb8c
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: move sysconfig template

Move the sysconfig template close to other systemd lines.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0447019df7c6cec4cf94e1d4d56ed9ddbcd0402d
      https://github.com/openvswitch/ovs/commit/0447019df7c6cec4cf94e1d4d56ed9ddbcd0402d
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: added systemd post/postun/pre/preun sections

The systemd requires some actions when the package is
installed, upgraded or removed. This patch adds the
needed RPM sections with the missing systemd actions.

There is a change in behavior - the service is not enabled
or started by default.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3cf905f91e6b6226a8a9008e00dbce0732204351
      https://github.com/openvswitch/ovs/commit/3cf905f91e6b6226a8a9008e00dbce0732204351
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in

  Log Message:
  -----------
  fedora-spec: remove unneeded db initialization

The DB initialization is done by ovs-ctl script as well,
so remove the duplicated code from the spec.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 059def1e2fa50223bee7dd04d4075d72bc5845a2
      https://github.com/openvswitch/ovs/commit/059def1e2fa50223bee7dd04d4075d72bc5845a2
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M rhel/etc_sysconfig_network-scripts_ifdown-ovs
    M rhel/etc_sysconfig_network-scripts_ifup-ovs

  Log Message:
  -----------
  rhel: Fix tunnel port ifup/ifdown failure.

The tunnel port is invisible to the OS, so there is
no reason to call OTHERSCRIPT in the ifup/ifdown scripts.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: dfea28b3b497cbf9efe4f12a0f742d486cdcc69f
      https://github.com/openvswitch/ovs/commit/dfea28b3b497cbf9efe4f12a0f742d486cdcc69f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h
    M lib/ovs-router.c
    M tests/test-classifier.c

  Log Message:
  -----------
  classifier: Constify RCU pointers.

Returning const struct cls_rule pointers from the classifier API helps
callers to remember that they should not modify the rules returned.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 98abae4aa63b3f518f34455dd42a15241bce6f09
      https://github.com/openvswitch/ovs/commit/98abae4aa63b3f518f34455dd42a15241bce6f09
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M lib/classifier.c

  Log Message:
  -----------
  classifier: Make classifier_find_rule_exactly() lockless.

struct cls_match 'list' member was recently changed to an rculist.
This allows classifier_find_rule_exactly() to be made lockless.

Since subtable's 'max_priority' member would still require a lock, we
no longer check it before calling find_equal().  This adds a hash
table lookup in cases where the subtable may already be known to not
contain any rule of the target priority.
classifier_find_rule_exactly() is never called on the fastpath, so
this should not be significant.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f80028fe28bf2d73e3e4e470e2d5f9ccb5ece9a7
      https://github.com/openvswitch/ovs/commit/f80028fe28bf2d73e3e4e470e2d5f9ccb5ece9a7
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c

  Log Message:
  -----------
  classifier: Constify fields.

Some struct cls_match and cls_subtable fields were already documented
of being const.  Make them const and use CONST_CAST where appropriate
to initialize them.

This will help catch future errors modifying those fields after
initialization.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 01c0f83a4ff46aebb57d175ba23b1a3fe6bd0dda
      https://github.com/openvswitch/ovs/commit/01c0f83a4ff46aebb57d175ba23b1a3fe6bd0dda
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M lib/classifier.c

  Log Message:
  -----------
  classifier: Clean up destroy_subtable.

Add asserts to make sure the containers within are already empty.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: e9bbe84b6b51eb9671451504b79c7b79b7250c3b
      https://github.com/openvswitch/ovs/commit/e9bbe84b6b51eb9671451504b79c7b79b7250c3b
  Author: Ankur Sharma <ankursharma at vmware.com>
  Date:   2014-11-06 (Thu, 06 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Remove a not needed debug message from Flow.c.

Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 684b5f5dd127f304155c4619cf0874111da9dcdb
      https://github.com/openvswitch/ovs/commit/684b5f5dd127f304155c4619cf0874111da9dcdb
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/linux/compat/include/net/netlink.h

  Log Message:
  -----------
  datapath: Rename last_action() as nla_is_last() and move to netlink.h

The original motivation for this change was to allow the helper to be used
in files other than actions.c as part of work on an odp select group
action.

It was as pointed out by Thomas Graf that this helper would be best off
living in netlink.h. Furthermore, I think that the generic nature of this
helper means it is best off in netlink.h regardless of if it is used more
than one .c file or not. Thus, I would like it considered independent of
the work on an odp select group action.

Cc: Thomas Graf <tgraf at suug.ch>
Cc: Pravin Shelar <pshelar at nicira.com>
Cc: Andy Zhou <azhou at nicira.com>
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2baf0e0c6cd2a96afd43cd7df2b94afe94dd1d4c
      https://github.com/openvswitch/ovs/commit/2baf0e0c6cd2a96afd43cd7df2b94afe94dd1d4c
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M datapath/Modules.mk
    M datapath/actions.c
    M datapath/compat.h
    M datapath/flow.c
    M datapath/flow_netlink.c
    M datapath/linux/Modules.mk
    M datapath/linux/compat/gso.c
    M datapath/linux/compat/gso.h
    A datapath/linux/compat/include/linux/mpls.h
    A datapath/linux/compat/include/net/mpls.h
    M datapath/linux/compat/netdevice.c
    R datapath/mpls.h

  Log Message:
  -----------
  datapath: Fix few mpls issues.

Found during MPLS upstreaming.  Also sync-up MPLS header files
with upstream code.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 7d16c8478e0bd17f63d4e6459e5d8f8dc6fcece2
      https://github.com/openvswitch/ovs/commit/7d16c8478e0bd17f63d4e6459e5d8f8dc6fcece2
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-09 (Sun, 09 Nov 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/flow.c
    M datapath/flow.h
    M datapath/flow_netlink.c
    M datapath/flow_table.h
    M datapath/linux/compat/include/linux/openvswitch.h
    M datapath/vport.h

  Log Message:
  -----------
  datapath: fix coding style.

Kernel datapath code has diverged from upstream code.  This
makes porting patches between these two code bases harder
than it needs to be. Following patch fixes this by fixing
coding style issues on this branch.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: c3bd4bfc7120a16d3e3604985e9c607705ef594d
      https://github.com/openvswitch/ovs/commit/c3bd4bfc7120a16d3e3604985e9c607705ef594d
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/automake.mk
    A lib/id-pool.c
    A lib/id-pool.h
    M ofproto/ofproto-dpif-rid.c

  Log Message:
  -----------
  id-pool: Re-factor recirculation id allocator into standalone id pool.

Refactor the lock-free portion of the recirculation id allocator
into stand-alone id pool. This is in preparation for re-using
that portion to allocate bucket ids which are part of (draft)
OpenFlow 1.5 groups.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 27c247496fc15012b3186059639bf6dba1d1f706
      https://github.com/openvswitch/ovs/commit/27c247496fc15012b3186059639bf6dba1d1f706
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/id-pool.c
    M lib/id-pool.h
    M ofproto/ofproto-dpif-rid.c

  Log Message:
  -----------
  id-pool: Refactor id_pool_alloc_id to allow any 32 bit value to be an id

id_pool_alloc_id() was created by breaking out the recirculation
allocation code. As it is now a library call it makes sense to remove
the restriction that id 0 is reserved.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 849d5648f6715e63a764e4cabbd7d241e8c6946a
      https://github.com/openvswitch/ovs/commit/849d5648f6715e63a764e4cabbd7d241e8c6946a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/id-pool.c

  Log Message:
  -----------
  id-pool: Fix memory leak.

This dates back to the previous location of the code in ofproto-dpif-rid.
I will backport.

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


  Commit: ca26eb4437120e3b95b3727ccc6037dfa4e4065d
      https://github.com/openvswitch/ovs/commit/ca26eb4437120e3b95b3727ccc6037dfa4e4065d
  Author: Rishi Bamba <rishi.bamba at tcs.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M AUTHORS
    M DESIGN.md
    M NEWS
    M include/openflow/openflow-1.1.h
    M lib/learn.c
    M lib/learning-switch.c
    M lib/ofp-parse.c
    M lib/ofp-print.c
    M lib/ofp-util.c
    M lib/ofp-util.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M tests/ovs-ofctl.at
    M utilities/ovs-ofctl.8.in
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  Add support for OpenFlow 1.4+ "importance" values.

This patch enables a user to set importance for a new rule via add-flow
OF1.4+ in the OVS and display the same via dump-flows command OF1.4+.
The changes are made in accordance with OpenFlow 1.4 specs to implement
eviction on the basis of "importance".  This patch also enhances the
diff-flows & replace-flows CLI for addition of importance parameter in
a rule.

This doesn't actually implement eviction on the basis of importance, which
will happen in a later patch.

Signed-off-by: Rishi Bamba <rishi.bamba at tcs.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5097fee55801d2f656201971f691bfe9e9158d81
      https://github.com/openvswitch/ovs/commit/5097fee55801d2f656201971f691bfe9e9158d81
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Provide helper to encode OpenFlow 1.1 group buckets.

The group bucket encoding code appears in two places
in almost identical form.  Consolidate this into
a helper function.

The helper name includes ofp11 as later patches
will add an ofp15 version to support (draft) OpenFlow 1.5 buckets.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 4498bea55e2447706700e6bf5c6b6a94d0cce94c
      https://github.com/openvswitch/ovs/commit/4498bea55e2447706700e6bf5c6b6a94d0cce94c
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Break out encoding of OpenFlow 1.1 group mod messages.

This refactoring is in preparation for supporting encoding
of (draft) OpenFlow 1.5 group mod messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 655ed3ae5e77ddc9da74790585bb52759db9b165
      https://github.com/openvswitch/ovs/commit/655ed3ae5e77ddc9da74790585bb52759db9b165
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Rename OpenFlow 1.1 buckets decoder.

Rename ofputil_pull_buckets() as ofputil_pull_buckets11()
to denote that it decodes OpenFlow 1.1 buckets (also used in
OpenFlow 1.2 to 1.4).

This refactoring is in preparation for supporting decoding
of (draft) OpenFlow 1.5 group mod messages and their
buckets.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: aead63f2eccb028490e9fcb7b1b53ada76a3c22d
      https://github.com/openvswitch/ovs/commit/aead63f2eccb028490e9fcb7b1b53ada76a3c22d
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Refactor decoding of OpenFlow 1.1 group mod messages.

This refactoring is in preparation for supporting encoding
of (draft) OpenFlow 1.5 group mod messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5be5025202db59a00f71863bd78d85c26e53c409
      https://github.com/openvswitch/ovs/commit/5be5025202db59a00f71863bd78d85c26e53c409
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Refactor encoding of OpenFlow 1.1 group desc reply messages.

This refactoring is in preparation for supporting encoding
of (draft) OpenFlow 1.5 group mod messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 975910f22481d58bf531ba7b4ace93fa9431eca3
      https://github.com/openvswitch/ovs/commit/975910f22481d58bf531ba7b4ace93fa9431eca3
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Refactor decoding of OpenFlow 1.1 group desc reply messages.

This refactoring is in preparation for supporting encoding
of (draft) OpenFlow 1.5 group mod messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d8227ebab974e6ce0831e78ed93a959cc4a4fef2
      https://github.com/openvswitch/ovs/commit/d8227ebab974e6ce0831e78ed93a959cc4a4fef2
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h

  Log Message:
  -----------
  rule_dpif_lookup_from_table: Check frags only once.

Move the frags handling check up in the call chain, so that it is done
once for each rule_dpif_lookup_from_table() call.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2f47cdf48336debf20488790dfa2b176122fbe1e
      https://github.com/openvswitch/ovs/commit/2f47cdf48336debf20488790dfa2b176122fbe1e
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Remove xbridge->frag.

It it no longer used, so better remove it.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 34dd0d78d9b30b745c5011020701bf228a63810d
      https://github.com/openvswitch/ovs/commit/34dd0d78d9b30b745c5011020701bf228a63810d
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h

  Log Message:
  -----------
  ofproto-dpif: Clean up table lookup code.

Keep knowledge about ofproto-dpif internal rules within ofproto-dpif.
This removes duplication of code (accross multiple files), and allows
making the ofproto-dpif-xlate interface a bit smaller.

'may_packet_in' was previously not honored for the
'LOOKUP_VERDICT_DEFAULT' case.  Now it is, but this change did not
break any unit tests.

Also, previously in the 'LOOKUP_VERDICT_CONTROLLER' case packet-in
messages would have been generated when the in_port could not be found
('config' was set to zero in this case, causing 'OFPUTIL_PC_NO_PACKET_IN'
flag to be zero as well).  This patch changes this behavior and never
issues packet-in messages when the in_port cannot be found.  This did
not break any unit tests either.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: fa8d9001a624d87413ca5e2baa08c22bd553cf10
      https://github.com/openvswitch/ovs/commit/fa8d9001a624d87413ca5e2baa08c22bd553cf10
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/flow.c
    M lib/ofpbuf.c
    M lib/ofpbuf.h
    M tests/ofproto.at

  Log Message:
  -----------
  miniflow_extract: Properly handle small IP packets.

Ethernet frames may contain padding after the IP payload.  When
parsing IP packets, check the IP total size (IPv4) or IP payload size
(IPv6) to detect the size of l2 padding.  The l2 padding size is
stored in the ofpbuf to prevent ofpbuf_pull from entering the padding,
as well as to allow ofpbuf_l4_size() to return the size of the IP
payload without the l2 padding.

This helps avoiding parsing truncated transport headers, for example.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: b8778a0d0bf749536ddeedba00d979bb557f0dfd
      https://github.com/openvswitch/ovs/commit/b8778a0d0bf749536ddeedba00d979bb557f0dfd
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/meta-flow.c
    M lib/nx-match.c
    M lib/odp-execute.c
    M lib/ofp-actions.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  Fix setting transport ports with frags.

Packets with 'LATER' fragment do not have a transport header, so it is
not possible to either match on or set transport ports on such
packets.  Matching is prevented by augmenting mf_are_prereqs_ok() with
a nw_frag 'LATER' bit check.  Setting the transport headers on such
packets is prevented in three ways:

1. Flows with an explicit match on nw_frag, where the LATER bit is 1:
   existing calls to the modified mf_are_prereqs_ok() prohibit using
   transport header fields (port numbers) in OXM/NXM actions
   (set_field, move).  SET_TP_* actions need a new check on the LATER
   bit.

2. Flows that wildcard the nw_frag LATER bit: At flow translation
   time, add calls to mf_are_prereqs_ok() to make sure that we do not
   use transport ports in flows that do not have them.

3. At action execution time, do not set transport ports, if the packet
   does not have a full transport header.  This ensures that we never
   call the packet_set functions, that require a valid transport
   header, with packets that do not have them.  For example, if the
   flow was created with a IPv6 first fragment that had the full TCP
   header, but the next packet's first fragment is missing them.

3 alone would suffice for correct behavior, but 1 and 2 seem like a
right thing to do, anyway.

Currently, if we are setting port numbers, we will also match them,
due to us tracking the set fields with the same flow_wildcards as the
matched fields.  Hence, if the incoming port number was not zero, the
flow would not match any packets with missing or truncated transport
headers.  However, relying on no packets having zero port numbers
would not be very robust.  Also, we may separate the tracking of set
and matched fields in the future, which would allow some flows that
blindly set port numbers to not match on them at all.

For TCP in case 3 we use ofpbuf_get_tcp_payload() that requires the
whole (potentially variable size) TCP header to be present.  However,
when parsing a flow, we only require the fixed size portion of the TCP
header to be present, which would be enough to set the port numbers
and fix the TCP checksum.

Finally, we add tests testing the new behavior.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 0ae01c64351208b855a92f88ae7c03d5436bad63
      https://github.com/openvswitch/ovs/commit/0ae01c64351208b855a92f88ae7c03d5436bad63
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M ofproto/ofproto.c
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Fix supported group types.

Previously the types field is uninited and leds to no supported type
being reported in OFPMP_GROUP_FEATURES message.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 95ebf5d5c735607319dfc81c6a035b13450b4350
      https://github.com/openvswitch/ovs/commit/95ebf5d5c735607319dfc81c6a035b13450b4350
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Shu Shen.

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


  Commit: 2d2b28d518e0fc4b92d5559a25aad3d23abd1151
      https://github.com/openvswitch/ovs/commit/2d2b28d518e0fc4b92d5559a25aad3d23abd1151
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/automake.mk
    A lib/ovs-router-linux.h
    M lib/ovs-router.c
    M lib/ovs-router.h
    M lib/route-table-bsd.c
    M lib/route-table-stub.c
    M lib/route-table.c

  Log Message:
  -----------
  ovs-router: Fix build on NetBSD

Split the linux-specific part of ovs-router.h
into ovs-router-linux.h.

The breakage was introduced by
commit d9b4ebc5d15202bedad06969353435a4c1951c71
("route-table: Use classifier to store routing table.")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2cc5abd738bbd0124a27b124a5583ee1b4f61416
      https://github.com/openvswitch/ovs/commit/2cc5abd738bbd0124a27b124a5583ee1b4f61416
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M lib/ofp-errors.h

  Log Message:
  -----------
  ofp-errors: Add (draft) OpenFlow 1.5 group mod errors.

Add OFPERR_OFPGMFC_UNKNOWN_BUCKET and OFPERR_OFPGMFC_BUCKET_EXISTS
which are part of (draft) OpenFlow 1.5 groups.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c453c5af57d28b2ea2c877bb09963850eb51e26d
      https://github.com/openvswitch/ovs/commit/c453c5af57d28b2ea2c877bb09963850eb51e26d
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M tests/ovs-ofctl.at

  Log Message:
  -----------
  tests: Avoid nonportable use of bash-specific {a..b..c} construct.

Reported-by: Alex Wang <alexw at nicira.com>
Reported-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 67af7d70c02416b6e2bca5c98896bc7eb9ccc2a4
      https://github.com/openvswitch/ovs/commit/67af7d70c02416b6e2bca5c98896bc7eb9ccc2a4
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M .travis/build.sh
    M .travis/prepare.sh

  Log Message:
  -----------
  travis: Enable -Wsparse-error and fail on new sparse warnings

A new option -Wsparse-error has been introduced to sparse in the
commits:

	4d8811 sparse: Make -Werror turn warnigns into errors
	fe57af rename -Werror to -Wsparse-error

which makes sparse fail on warnings. Start using the sparse git tree
for verification and make use of the new flag.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a80164c1f805f7124fc5920c74b06298b53922f8
      https://github.com/openvswitch/ovs/commit/a80164c1f805f7124fc5920c74b06298b53922f8
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M include/openflow/openflow-1.5.h

  Log Message:
  -----------
  openflow: Add types for (draft) OpenFlow 1.5 group mod.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 18ac06d3546ec38645a9baf8c3830c906bef2059
      https://github.com/openvswitch/ovs/commit/18ac06d3546ec38645a9baf8c3830c906bef2059
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/id-pool.c
    M lib/ofp-msgs.h
    M lib/ofp-parse.c
    M lib/ofp-util.c
    M lib/ofp-util.h

  Log Message:
  -----------
  ofp-util: Encoding and decoding of (draft) OpenFlow 1.5 group messages.

This provides the bulk of the ofproto side of support for
OpenFlow 1.5 group messages. It provides for encoding and decoding
of updated group mod and group desc reply messages. This includes
a new bucket format and their properties.

Open Flow 1.5 Groups also have properties but as no non-experimenter
properties are defined this patch does not provide parsing or encoding
of group properties.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
[blp at nicira.com fixed minor bugs and style issues]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1c4c05afa1e4aeda24f815c1663f787c19b55b42
      https://github.com/openvswitch/ovs/commit/1c4c05afa1e4aeda24f815c1663f787c19b55b42
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/ofp-print.c
    M tests/ofproto.at

  Log Message:
  -----------
  ofp-print: Print bucket ids of OpenFlow 1.5 group messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
[blp at nicira.com changed ofp_print_bucket_id()]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 76c41209f4d2eedb9d9cb20c3c653bf170d2d7ef
      https://github.com/openvswitch/ovs/commit/76c41209f4d2eedb9d9cb20c3c653bf170d2d7ef
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/ofp-print.c
    M tests/ofp-print.at

  Log Message:
  -----------
  ofp-print: Support printing of (draft) OpenFlow 1.5 group messages with bucket actions

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2d5d050cd14f43b7c00fd5c8c612e9adca9dbcca
      https://github.com/openvswitch/ovs/commit/2d5d050cd14f43b7c00fd5c8c612e9adca9dbcca
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/ofp-parse.c
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ofp-parse: Parse (draft) OpenFlow 1.5 bucket ids.

This is part of support for (draft) OpenFlow 1.5 flow mod messages.

This adds support for specifying the bucket_id of buckets of groups in
ovs-ofctl and documents that accordingly.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
[blp at nicira.com tweaked the documentation]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5335a6f3feeba809d912e088fe41ef2ad2e0c443
      https://github.com/openvswitch/ovs/commit/5335a6f3feeba809d912e088fe41ef2ad2e0c443
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Add OpenFlow 1.3 group stats test.

This is to exercise OpenFlow 1.3 group stats replies
messages which include a duration.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: afc63bb4bc0692af8bfa16d2a573b8b3bce52895
      https://github.com/openvswitch/ovs/commit/afc63bb4bc0692af8bfa16d2a573b8b3bce52895
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Add OpenFlow 1.5 group tests.

This motivation for this change is to exercise
(draft) OpenFlow 1.5 group messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 50b9699fe49b66de64d0d0b1803bb13e95ca2c2e
      https://github.com/openvswitch/ovs/commit/50b9699fe49b66de64d0d0b1803bb13e95ca2c2e
  Author: Neil McKee <neil.mckee at inmon.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M NEWS
    M lib/lacp.c
    M lib/lacp.h
    M lib/sflow.h
    M lib/sflow_agent.c
    M lib/sflow_api.h
    M lib/sflow_receiver.c
    M ofproto/ofproto-dpif-sflow.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M ofproto/ofproto.h
    M tests/ofproto-dpif.at
    M tests/test-sflow.c

  Log Message:
  -----------
  sflow: Export LAG, PORTNAME, and OPENFLOWPORT information also.

Export standard sFlow LAG, PORTNAME and OPENFLOWPORT structures with each
counter-sample. Add unit-test for sFlow-LAG. Adjust other unit-tests to
accommodate these new annotations.

The sFlow-LAG structures are important for topology discovery, for
troubleshooting LAG instability,  and for correctly combining
sFlow feeds from multiple sources.

The OPENFLOWPORT and PORTNAME structures are important for systems that
aim to combine sFlow monitoring with OpenFlow controls,  as they
provide straightforward mapping (1) between sFlow agent IP and OpenFlow
datapath-id,  and (2) between interface name,ifIndex and OpenFlow
port number.

Signed-off-by: Neil McKee <neil.mckee at inmon.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 07ece367fb5fe071fa75a426a3ce28e3b4ce04ba
      https://github.com/openvswitch/ovs/commit/07ece367fb5fe071fa75a426a3ce28e3b4ce04ba
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/ovs-atomic.h

  Log Message:
  -----------
  ovs-atomic: Prefer Clang intrinsics over <stdatomic.h>.

On my Debian "jessie" system, <stdatomic.h> provided by GCC 4.9 is busted
when Clang 3.5 tries to use it.  Even a trivial program like this:

    #include <stdatomic.h>

    void
    foo(void)
    {
   _Atomic(int) x;
   atomic_fetch_add(&x, 1);
}

yields:

     atomic.c:7:5: error: address argument to atomic operation must be a
  pointer to integer or pointer ('_Atomic(int) *' invalid)

The Clang-specific version of ovs-atomic.h stills works, though, so this
commit works around the problem.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 86f35fb5c6117f2482e91776e7c5fe71668720fb
      https://github.com/openvswitch/ovs/commit/86f35fb5c6117f2482e91776e7c5fe71668720fb
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M lib/classifier.c
    M lib/meta-flow.c
    M lib/ovs-router.c
    M lib/util.h

  Log Message:
  -----------
  util: Add be32_prefix_mask().

Shifting a 32-bit entity by 32 bits is undefined behavior.  As we have 3
cases where we may hit this, it is a time to introduce a helper for
this.

VMware-BZ: #1355026
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 7f2f24e379d9ca65c20d072a6c0adb1c6c8a9cce
      https://github.com/openvswitch/ovs/commit/7f2f24e379d9ca65c20d072a6c0adb1c6c8a9cce
  Author: Scott Mann <smann at noironetworks.com>
  Date:   2014-11-11 (Tue, 11 Nov 2014)

  Changed paths:
    M .gitignore
    M .travis/build.sh
    M AUTHORS
    M configure.ac
    M lib/automake.mk
    A lib/libopenvswitch.sym.in
    A lib/libsflow.sym.in
    M lib/util.c
    M ofproto/automake.mk
    A ofproto/libofproto.sym.in
    M ovsdb/automake.mk
    A ovsdb/libovsdb.sym.in

  Log Message:
  -----------
  Build: Add support for shared libraries and versioning.

These changes allow for the building of shared libraries by providing
the --enable-shared option to configure. In particular, lib/libopenvwitch.so,
lib/libsflow.so, ofproto/libofproto.so, and ovsdb/libovsdb.so will be built.
Original behavior of building static remains the same.

Additionally, versioning is introduced to each of the libraries objects
paving the way for APIs to be built around them. A detailed comment
outlining the rules for changing a version number is provided in
configure.ac. Note that at this time, the version number is set to
1.0.0, no API is specified yet, and there are no requirements to
maintain any sort of compatibility in any of the libraries.

Signed-off-by: Scott Mann <smann at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f71a0f8308754b483708938901a48a0623ba242d
      https://github.com/openvswitch/ovs/commit/f71a0f8308754b483708938901a48a0623ba242d
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  travis: Add building of shared library to CI matrix.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a22a9529fb86aa906a6a4e1f014826380f4e81d0
      https://github.com/openvswitch/ovs/commit/a22a9529fb86aa906a6a4e1f014826380f4e81d0
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M datapath-windows/misc/OVS.psm1

  Log Message:
  -----------
  datapath-windows: Add functionality to return OVSPortName given a VM

This commit adds functionality to return the ElementName of all the VNIC of a
given virtual machine name.

The function returns all the allocated ports including the ones which the OVS
port name was not set.

The default OVS port name that is set is the following:
"ElementName             : Dynamic Ethernet Switch Port".

Example of usage:
Import-Module OVS.psm1
Get-VMNetworkAdapterWithOvsPort test_ubuntu_1
$a = Get-VMNetworkAdapterWithOvsPort test_2_1
$a | findstr ElementName

Requested-by: Nithin Raju <nithin at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/51
Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Nithin Raju <nithin at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b5af03d7e883b9607cd86b62f94982fe2cbba191
      https://github.com/openvswitch/ovs/commit/b5af03d7e883b9607cd86b62f94982fe2cbba191
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Oid.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Update port property.

Update Hyper-V port properties on NDIS property port set callback.
Driver update the port friendly name in its internal table.
Since the NIC Create callback won't be called after we need to maintain the
NIC and THE OVS states of the Vport.

Setting a new friendly name was tested in the following states:
[1] The port is disconnected
[2] The port is connected but not OVS user mode counter port
[3] The port is connected and an OCS port associated with it

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 05f589da7702f96d7ba148ded145eeb5f19057d8
      https://github.com/openvswitch/ovs/commit/05f589da7702f96d7ba148ded145eeb5f19057d8
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Test that group commands fail for OpenFlow 1.0

Groups are not supported by OpenFlow 1.0

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: abe6d620bd0c463cc5606a0f70de1e6d360b457a
      https://github.com/openvswitch/ovs/commit/abe6d620bd0c463cc5606a0f70de1e6d360b457a
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M INSTALL.Windows.md

  Log Message:
  -----------
  INSTALL.Windows: Add a TODO for QOS.

Also, remove the entry that talks about the need for atomic support
on Windows as that has already been added.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>
Acked-by: Nithin Raju <nithin at vmware.com>


  Commit: 80ee73d35ef187f32216ae67500e776dcaafbad1
      https://github.com/openvswitch/ovs/commit/80ee73d35ef187f32216ae67500e776dcaafbad1
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Skip a sflow test for Windows.

AT_XFAIL_IF cannot be used here because it lets the tests
run first and then say that the failure is expected. In this
particular test, the utilities simply hang blocking all
other tests. So use AT_SKIP_IF instead.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>
Acked-by: Nithin Raju <nithin at vmware.com>


  Commit: 65075b99a72b88e4c4d6f991496a9e824aa87479
      https://github.com/openvswitch/ovs/commit/65075b99a72b88e4c4d6f991496a9e824aa87479
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Do not allow buckets for OFPGC15_REMOVE_BUCKET.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d4b1d0cadd486845c5ae29799c8f1e018c5adca5
      https://github.com/openvswitch/ovs/commit/d4b1d0cadd486845c5ae29799c8f1e018c5adca5
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Enhance error logging during encoding group mod messages.

In preparation for supporting (draft) OpenFlow 1.5
group mod commands enhance the error logging of them.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 103b4866f1d99c86e2cc345be95741759b135f75
      https://github.com/openvswitch/ovs/commit/103b4866f1d99c86e2cc345be95741759b135f75
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/ofp-util.c
    M lib/ofp-util.h

  Log Message:
  -----------
  ofp-util: Provide bucket list helper functions

This is in preparation for supporting the bucket commands of
(draft) Open Flow 1.5 group mod messages.

Also document ofputil_bucket_check_duplicate_id() for good measure.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 45952551f624b63e0e2854fc3a2880a7183dce11
      https://github.com/openvswitch/ovs/commit/45952551f624b63e0e2854fc3a2880a7183dce11
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/ofp-parse.c

  Log Message:
  -----------
  ofp-parse: Parse bucket commands of group mod.

(Draft) OpenFlow 1.5 adds bucket commands to group mod.
This patch allows parsing of them as a step towards supporting them.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a4353e20e4c394c6010c2118f21d433804c7d1d2
      https://github.com/openvswitch/ovs/commit/a4353e20e4c394c6010c2118f21d433804c7d1d2
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/automake.mk
    M ofproto/automake.mk
    M ovsdb/automake.mk

  Log Message:
  -----------
  lib: Correctly pass collected AM_LDFLAGS to linker

AM_LDFLAGS is not automatically passed to individual library LDFLAGS
and must be passed in explicitly.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7748423ab4d8f871f7076014f7334ad73ced39f4
      https://github.com/openvswitch/ovs/commit/7748423ab4d8f871f7076014f7334ad73ced39f4
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M INSTALL.md

  Log Message:
  -----------
  lib: Document --enable-shared configure switch

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1825f2ec0d41ceac29f3ba3ff6931efe8c907034
      https://github.com/openvswitch/ovs/commit/1825f2ec0d41ceac29f3ba3ff6931efe8c907034
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M build-aux/check-structs
    M include/openflow/nicira-ext.h
    M include/openflow/openflow-1.0.h
    M include/openflow/openflow-1.1.h
    M include/openflow/openflow-1.2.h
    M include/openflow/openflow-1.3.h
    M include/openflow/openflow-1.4.h
    M include/openflow/openflow-1.5.h
    M include/openflow/openflow-common.h
    M include/openflow/openflow.h

  Log Message:
  -----------
  include: Use #include <.*> in public headers.

Required to make the headers installable.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 4052e3ff1af8fcca5cf71fc16064a759ef61242f
      https://github.com/openvswitch/ovs/commit/4052e3ff1af8fcca5cf71fc16064a759ef61242f
  Author: Amit Bose <bose at noironetworks.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M AUTHORS
    M lib/dynamic-string.h

  Log Message:
  -----------
  lib: Avoid using C++ keywords as variable names in header files.

Otherwise C++ programs can't #include the headers.

Signed-off-by: Amit Bose <bose at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 493823d8d5379ed853631b03190b3cf10e980f7b
      https://github.com/openvswitch/ovs/commit/493823d8d5379ed853631b03190b3cf10e980f7b
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c
    M ofproto/tunnel.c
    M ofproto/tunnel.h

  Log Message:
  -----------
  tunnel: Convert rwlock to fat-rwlock.

Tunnel lookup is done in slow path but DPDK tunneling
slow path is called in PMD context. Therefore it is
better to convert rwlock to fat rwlock.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f071cbbaadc271b6f6b1d3c38c943f1ee2c17b67
      https://github.com/openvswitch/ovs/commit/f071cbbaadc271b6f6b1d3c38c943f1ee2c17b67
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/util.c
    M lib/util.h

  Log Message:
  -----------
  util: Introduce ovs_scan_len()

This is similar to ovs_scan but takes int pointer as extra
parameter, this pointer point to starting index of the string.
On successful scan this API stores number of characters
scanned.  This API is useful for parsing complex odp actions
e.g. tun_push action.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 0746a84f3916193c0704e94a4c214f672c5c542e
      https://github.com/openvswitch/ovs/commit/0746a84f3916193c0704e94a4c214f672c5c542e
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M include/openflow/openflow-1.1.h
    M lib/ofp-util.c
    M lib/ofp-util.h
    M ofproto/bond.c
    M ofproto/ofproto-dpif.h
    M tests/ofproto.at

  Log Message:
  -----------
  Fix misspellings of "OpenFlow".

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Flavio Leitner <fbl at redhat.com>


  Commit: a36de779d739cdcd72c65c67a547a786798b595a
      https://github.com/openvswitch/ovs/commit/a36de779d739cdcd72c65c67a547a786798b595a
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M Makefile.am
    M NEWS
    A README-native-tunneling.md
    M datapath/linux/compat/include/linux/openvswitch.h
    M debian/openvswitch-common.docs
    M lib/automake.mk
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif-provider.h
    M lib/dpif.c
    M lib/dpif.h
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/netdev-provider.h
    M lib/netdev-vport.c
    M lib/netdev.c
    M lib/netdev.h
    M lib/odp-execute.c
    M lib/odp-util.c
    M lib/odp-util.h
    M lib/ofpbuf.h
    M lib/ovs-router.c
    M lib/packets.c
    M lib/packets.h
    A lib/tnl-arp-cache.c
    A lib/tnl-arp-cache.h
    A lib/tnl-ports.c
    A lib/tnl-ports.h
    M manpages.mk
    M ofproto/automake.mk
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h
    A ofproto/ofproto-tnl-unixctl.man
    M ofproto/tunnel.c
    M ofproto/tunnel.h
    M rhel/openvswitch.spec.in
    M tests/automake.mk
    M tests/odp.at
    M tests/ofproto-macros.at
    M tests/testsuite.at
    A tests/tunnel-push-pop.at
    M tests/tunnel.at
    M vswitchd/ovs-vswitchd.8.in

  Log Message:
  -----------
  openvswitch: Userspace tunneling.

Following patch adds support for userspace tunneling. Tunneling
needs three more component first is routing table which is configured by
caching kernel routes and second is ARP cache which build automatically
by snooping arp. And third is tunnel protocol table which list all
listening protocols which is populated by vswitchd as tunnel ports
are added. GRE and VXLAN protocol support is added in this patch.

Tunneling works as follows:
On packet receive vswitchd check if this packet is targeted to tunnel
port. If it is then vswitchd inserts tunnel pop action which pops
header and sends packet to tunnel port.
On packet xmit rather than generating Set tunnel action it generate
tunnel push action which has tunnel header data. datapath can use
tunnel-push action data to generate header for each packet and
forward this packet to output port. Since tunnel-push action
contains most of packet header vswitchd needs to lookup routing
table and arp table to build this action.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: a56dd7130e465efcedbad437a6d5a68fe15539ba
      https://github.com/openvswitch/ovs/commit/a56dd7130e465efcedbad437a6d5a68fe15539ba
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M tests/ovs-ofctl.at

  Log Message:
  -----------
  tests: Fix ovs-ofctl rule with importance test case.

Sort the flow dump results to always have them in consistent order.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 886af6eaea556e53bf1d32025849202c3334f41f
      https://github.com/openvswitch/ovs/commit/886af6eaea556e53bf1d32025849202c3334f41f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/classifier.c

  Log Message:
  -----------
  classifier: Integrate insert_rule() into classifier_replace().

insert_rule() only had one caller and this makes the code easier to
understand.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: f7d636527b72231822ed3e25fe74edbc1a5ec41f
      https://github.com/openvswitch/ovs/commit/f7d636527b72231822ed3e25fe74edbc1a5ec41f
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Move 'struct dp_netdev_port' initialization before use.

There is a portion of the 'struct dp_netdev_port' initialization
that is placed after the reload of pmd threads.  This means in
theory, there could be a race where pmd threads access half-
initialized struct.  Although such race has not been seen, it
makes sense to fully initialize the struct before use.

Found by code inspection.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 40a9c4c26be9b59c3494dd5900c21015ea7d27d4
      https://github.com/openvswitch/ovs/commit/40a9c4c26be9b59c3494dd5900c21015ea7d27d4
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Allow direct destroy of previous config.

Before this commit, the ofproto-dpif-xlate module uses ovs-rcu to
postpone the destroy of previous configuration.  However, the delayed
close of object like 'struct netdev' could cause failure in immediate
re-add or reconfigure of the same device.

To fix the above issue, this commit makes the ofproto-dpif-xlate
module call ovsrcu_synchronize(), which waits for all threads
to finish the use of reference to previous config.  Then, the
module can just directly destroy the previous config.

Reported-by: Cian Ferriter <cian.ferriter at intel.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: accf86266abbde21d5a8145bf14125db0f4e0e2d
      https://github.com/openvswitch/ovs/commit/accf86266abbde21d5a8145bf14125db0f4e0e2d
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-11-12 (Wed, 12 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Allow direct destroy of 'struct dp_netdev_port'.

Before this commit, when 'struct dp_netdev_port' is deleted from
'dpif-netdev' datapath, if there is pmd thread, the pmd thread
will release the last reference to the port and ovs-rcu postpone
the destroy.  However, the delayed close of object like 'struct
netdev' could cause failure in immediate re-add or reconfigure of
the same device.

To fix the above issue, this commit uses condition variable and
makes the main thread wait for pmd thread to release the reference
when deleting port.  Then, the main thread can directly destroy the
port.

Reported-by: Cian Ferriter <cian.ferriter at intel.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 534985fd412c587068d8a86a88fa0bb6e9f9dd71
      https://github.com/openvswitch/ovs/commit/534985fd412c587068d8a86a88fa0bb6e9f9dd71
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M include/openflow/automake.mk
    M include/openvswitch/automake.mk

  Log Message:
  -----------
  include: Install openflow/ and openvswitch/ headers.

Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 81696de06943603447855863f550da9342b2e1cd
      https://github.com/openvswitch/ovs/commit/81696de06943603447855863f550da9342b2e1cd
  Author: Rob Adams <readams at readams.net>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M AUTHORS
    M Makefile.am
    M configure.ac
    M lib/.gitignore
    M lib/automake.mk
    A lib/libopenvswitch.pc.in

  Log Message:
  -----------
  lib: Add support for pkgconfig for libopenvswitch.

Add rule to generate pkgconfig .pc file from configure.
Install pkg-config file to $(libdir)/pkgconfig

Signed-off-by: Rob Adams <readams at readams.net>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b82b15730c2648aa3ef6dbb69d5f49f3bcdc5e20
      https://github.com/openvswitch/ovs/commit/b82b15730c2648aa3ef6dbb69d5f49f3bcdc5e20
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M configure.ac
    M ofproto/.gitignore
    M ofproto/automake.mk
    A ofproto/libofproto.pc.in

  Log Message:
  -----------
  lib: Add support for pkgconfig for libofproto.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 32fe2cfbda42c2a410473eb3d6f7767b4a8b93c2
      https://github.com/openvswitch/ovs/commit/32fe2cfbda42c2a410473eb3d6f7767b4a8b93c2
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M configure.ac
    M ovsdb/.gitignore
    M ovsdb/automake.mk
    A ovsdb/libovsdb.pc.in

  Log Message:
  -----------
  lib: Add support for pkgconfig for libovsdb.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e72e07a97e9577141b1222cd382e20872777e7c1
      https://github.com/openvswitch/ovs/commit/e72e07a97e9577141b1222cd382e20872777e7c1
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M configure.ac
    M lib/.gitignore
    M lib/automake.mk
    A lib/libsflow.pc.in

  Log Message:
  -----------
  lib: Add support for pkgconfig for libsflow.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2fd84d5e5f5ca52607c69bbc2c69ec7e15f8d88b
      https://github.com/openvswitch/ovs/commit/2fd84d5e5f5ca52607c69bbc2c69ec7e15f8d88b
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M rhel/openvswitch-fedora.spec.in
    M rhel/openvswitch.spec.in

  Log Message:
  -----------
  rhel: Include pkgconfig and update header install in Fedora/RHEL spec.

As headers are installed by 'make install' now, the explicit install
instructions can be be removed from the spec file.

The spec file has been including <config.h> plus all headers in lib/ so
far which is dangerous:

 * config.h is a description of the capabilities of the build machine
   where the package was built. Although it may hint on what is
   included in the library, the defines do not necessarily hold true on
   another build machine.

 * Some headers in lib/ do not contain proper prefixes and pollute the
   global header name space. Do not include them anymore. Properly
   cleaned up headers will be exposed in openvswitch/ and openflow/

For the RHEL spec, both pkgconfig and headers are omitted as no -devel
package exists yet.

Cc: Flavio Leitner <fbl at redhat.com>
Suggested-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 424467c6dbd7d52212e4c97b8dca538e00f4ab77
      https://github.com/openvswitch/ovs/commit/424467c6dbd7d52212e4c97b8dca538e00f4ab77
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M include/openflow/openflow-common.h
    M lib/ofp-util.c

  Log Message:
  -----------
  openflow: Add OpenFlow 1.4 packet-in reasons.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fce4730ca64c844876717b48b34fbf9fa3d62a09
      https://github.com/openvswitch/ovs/commit/fce4730ca64c844876717b48b34fbf9fa3d62a09
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M ofproto/ofproto.c

  Log Message:
  -----------
  ofproto: Handle (draft) OpenFlow 1.5 insert and remove group commands.

Handle (draft) OpenFlow 1.5 insert and remove group commands
of group mod messages.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: bdbb84267ba1cfa520be24dfeb5eb7809116215c
      https://github.com/openvswitch/ovs/commit/bdbb84267ba1cfa520be24dfeb5eb7809116215c
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M tests/ofproto.at
    M utilities/ovs-ofctl.8.in
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  ovs-ofctl: Support bucket commands

(Draft) OpenFlow 1.5 flow mod commands include commands to manipulate the
buckets of existing groups. This patch add support to ovs-ofctl for these
commands. It also adds documentation and tests for them.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9c64e6b8561630090735831cf65dc4e695df0983
      https://github.com/openvswitch/ovs/commit/9c64e6b8561630090735831cf65dc4e695df0983
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-13 (Thu, 13 Nov 2014)

  Changed paths:
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto.h
    M vswitchd/bridge.c

  Log Message:
  -----------
  rstp: Show some useful rstp port fields.

designated_bridge_id, designated_port_id and designated_path_cost are
now displayed in rstp_status when using 'ovs-vsctl list port'.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: d98e14985fa69e25989c98677e9d60e886d52691
      https://github.com/openvswitch/ovs/commit/d98e14985fa69e25989c98677e9d60e886d52691
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M README-native-tunneling.md
    M tests/atlocal.in
    M tests/tunnel-push-pop.at

  Log Message:
  -----------
  tests: Skip tunnel-push-pop test on Windows and BSD.

Also updates ovs-router README documentation.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: b7b612709a712496269cfa2e48855c943502279f
      https://github.com/openvswitch/ovs/commit/b7b612709a712496269cfa2e48855c943502279f
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Log Message:
  -----------
  rstp: Show some useful rstp port fields.

designated_bridge_id, designated_port_id and designated_path_cost are
now displayed in rstp_status when using 'ovs-vsctl list port'.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 67e8c1ac3142a652bc02a6bb1c1d86658605c9f5
      https://github.com/openvswitch/ovs/commit/67e8c1ac3142a652bc02a6bb1c1d86658605c9f5
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto.h
    M utilities/ovs-vsctl.8.in
    M vswitchd/bridge.c

  Log Message:
  -----------
  rstp: Add 'rstp-admin-p2p-mac' and 'rstp-admin-port-state' setters.

'rstp-admin-port-state' is the Administrative Bridge Port state
variable defined in the 802.1D-2004 standard.  It can be set to
include or exclude a port from the active topology by management
(section 7.4).

operPointToPointMAC and 'rstp-admin-p2p-mac' are a pair of parameters
that permit inspection of, and control over, the administrative and
operational state of the point-to-point status of the MAC entity by
the MAC Relay Entity.  adminPointToPointMAC can be set by management
and its value is reflected on operPointToPointMAC.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 006f338613155af38499c952b9a87820b5293115
      https://github.com/openvswitch/ovs/commit/006f338613155af38499c952b9a87820b5293115
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: Fix reception of BPDUs conveying an unknown port role.

If the Unknown value of the Port Role parameter is received, the state
machines should treat the RST BPDU as if it were a Configuration BPDU.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 26c0e92484817e6ed1c38c33b72b826ecd2564a2
      https://github.com/openvswitch/ovs/commit/26c0e92484817e6ed1c38c33b72b826ecd2564a2
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: Fix compare_rstp_priority_vector().

The bridge_port_id is never conveyed in Configuration Messages, but is
used as a tie-breaker within a Bridge.  This patch extends the
comparison to this fifth field in a rstp_priority_vector.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 75735c8038564a10d11692684de9257f91e74e66
      https://github.com/openvswitch/ovs/commit/75735c8038564a10d11692684de9257f91e74e66
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: Fix Topology Change State Machine transition.

Accordingly to the 802.1D-2004 standard, the transition from the
TOPOLOGY_CHANGE_SM_NOTIFIED_TCN_EXEC state should go to the
TOPOLOGY_CHANGE_SM_NOTIFIED_TC_EXEC state and not to the
TOPOLOGY_CHANGE_SM_ACTIVE.

See section 17.31 of 802.1D-2004 standard.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 55f8993cd0b2c4c476a58ec72ab3f8b05d348803
      https://github.com/openvswitch/ovs/commit/55f8993cd0b2c4c476a58ec72ab3f8b05d348803
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: Fix updt_roles_tree().

If the DesignatedBridgeID Bridge Address component is equal to that
component of the Bridge's own bridge priority vector skip to the next
port.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 7ccf8d380e4b853483d23f1dd2b77315e1f7166e
      https://github.com/openvswitch/ovs/commit/7ccf8d380e4b853483d23f1dd2b77315e1f7166e
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: Rename ALTERNATE_AGREED state as ALTERNATE_AGREED_EXEC.

All other similar port_role_transition_sm states are named according
to this pattern.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 11d4d40871aaa027fd0a440e6fd1b745a98eb474
      https://github.com/openvswitch/ovs/commit/11d4d40871aaa027fd0a440e6fd1b745a98eb474
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: fix TCN reception.

Set rcdv_tcn and return OTHER_INFO when a
TOPOLOGY_CHANGE_NOTIFICATION_BPDU is received, as required by
802.1Q-2008.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 53a686410e081981baa2acbe7f4c82853918610c
      https://github.com/openvswitch/ovs/commit/53a686410e081981baa2acbe7f4c82853918610c
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp.c

  Log Message:
  -----------
  rstp: Invoke updt_roles_tree__() in max_age and forward_delay setters.

This patch was necessary in a test on the acceptable range values of
max_age and forward_delay.  Since rstp_set_bridge_max_age__() and
rstp_set_bridge_forward_delay__() set the rstp->bridge_max_age and
rstp->bridge_forward_delay variables, it was necessary to call
updt_roles_tree__() to immediately update p->designated_times, used in
tx_rstp() (in lib/rstp-state-machines.c).  After this change the
validation software received the expected maxAge and forwardDelay
values.  Otherwise, such test failed.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 4b5f19962adccfb3b4a431c9787c45e2c410ab55
      https://github.com/openvswitch/ovs/commit/4b5f19962adccfb3b4a431c9787c45e2c410ab55
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp.h
    M lib/stp.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  stp,rstp: disable learning and forwarding in STP/RSTP disabled state.

There is a difference between a port with STP/RSTP protocol enabled and a
disabled role and a port which has a disabled role because STP/RSTP is
not active.  This commit ensure to make such distinction.

Standard 802.1D claims that the Topology Change state machine (17.31)
treats a Port as no longer active when it becomes an Alternate, Backup,
or Disabled Port and stops learning from received frames.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 66ff280de884f85fae205a431af7a572a772cbfd
      https://github.com/openvswitch/ovs/commit/66ff280de884f85fae205a431af7a572a772cbfd
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  rstp: Refactor rstp_check_and_reset_fdb_flush().

With this commit, RSTP is able to flush from the MAC learning table
entries pertaining to a single port.  Before this commit the whole
table was flushed every time a port requested flushing actions.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 37a4efd1e5228947ed08d652a92c4735386d1bde
      https://github.com/openvswitch/ovs/commit/37a4efd1e5228947ed08d652a92c4735386d1bde
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp.c
    M tests/rstp.at

  Log Message:
  -----------
  rstp: Refactor rstp_port_set_administrative_bridge_port__().

Invoke move_rstp__() in rstp_port_set_administrative_bridge_port__()
if port is not initializing.  This is necessary in a test that checks
that a Port becoming alternate/backup/disabled stops learning and
forwarding.  The move_rstp__() call is necessary to immediatly disable
learning and forwarding on that port.  Without this, the test fails.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 12c148380a8b8e1bd2939ed1b7227f1d88313103
      https://github.com/openvswitch/ovs/commit/12c148380a8b8e1bd2939ed1b7227f1d88313103
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: fix rcv_info().

A Config BPDU always conveys a Designated Port Role.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: d07ac93e1e154b8a5c031ed2bad97ca8b95d7fc4
      https://github.com/openvswitch/ovs/commit/d07ac93e1e154b8a5c031ed2bad97ca8b95d7fc4
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Remove all duplicate checks for NULL.

Right now the gOvsSwitchContext pointer is checked against NULL
in a lot of places of the OVS extension code. This check should
be done only once to avoid wasteful checks. Thus I have added the
check in the dispatch routine, before doing any processing, and
removed all other checks from the rest of the code.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f47eef15b78a642659e019412125d6c2775acb84
      https://github.com/openvswitch/ovs/commit/f47eef15b78a642659e019412125d6c2775acb84
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/rculist.h
    M tests/test-classifier.c

  Log Message:
  -----------
  classifier: Do not insert duplicate rules in indices.

There is no point in adding duplicate information into prefix tries.

Also, since the lower-priority duplicate rules are not visible to
lookups, they do not need to be in staged lookup indices directly
either (the head rule is).

Finally, now that cmap operations return the number of elements in the
cmap, subtable's 'n_rules' member is not needed any more.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: de4ad4a21569fa63912be87c1b2e858d888dc1b0
      https://github.com/openvswitch/ovs/commit/de4ad4a21569fa63912be87c1b2e858d888dc1b0
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/classifier.h
    M lib/flow.c
    M lib/ovs-router.c
    M lib/pvector.h
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto.c
    M tests/test-classifier.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  classifier: Lockless and robust classifier iteration.

Previously, accurate iteration required writers to be excluded during
iteration.  This patch adds an rculist to struct cls_subtable, and a
corresponding list node to struct cls_rule, which makes iteration more
straightforward, and allows the iterators to remain ignorant of the
internals of the cls_match.  This new list allows iteration of rules
in the classifier by traversing the RCU-friendly subtables vector, and
the rculist of rules in each subtable.

Classifier modifications may be performed concurrently, but whether or
not the concurrent iterator sees those changes depends on the timing
of change.  More specifically, an concurrent iterator:

- May or may not see a rule that is being inserted or removed.
- Will see either the new or the old version of a rule that is replaced.
- Will see all the other rules (that are not being modified).

Finally, The subtable's rculist also allows to make
classifier_rule_overlaps() lockless, which this patch also does.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: fccd7c092e09ce9767d34436bf9c70302c87c5f5
      https://github.com/openvswitch/ovs/commit/fccd7c092e09ce9767d34436bf9c70302c87c5f5
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/classifier.h
    M lib/ovs-router.c
    M lib/tnl-ports.c
    M tests/test-classifier.c

  Log Message:
  -----------
  classifier: Remove internal mutex.

Almost all classifier users already exclude concurrent modifications,
or are single-threaded, hence the classifier internal mutex can be
removed.  Due to this change, ovs-router.c and tnl-ports.c need new
mutexes, which are added.

As noted by Ben in review, ovs_router_flush() should also free the
entries it removes from the classifier.  It now calls
ovsrcu_postpone() to that effect.

Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d0999f1b34ecaefc5b3ab7bef3e7804383cdc3f7
      https://github.com/openvswitch/ovs/commit/d0999f1b34ecaefc5b3ab7bef3e7804383cdc3f7
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h
    M ofproto/ofproto.c

  Log Message:
  -----------
  classifier: Make insert and replace take a const rule, too.

classifier_remove() was recently changed to take a const struct
cls_rule *.  Make the corresponding change to classifier_replace() and
classifier_insert().  This simplifies existing calling sites in
ofproto.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 802f84ffd71a6c94234cec43f4a5abaf02b56fa8
      https://github.com/openvswitch/ovs/commit/802f84ffd71a6c94234cec43f4a5abaf02b56fa8
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-14 (Fri, 14 Nov 2014)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h
    M lib/dpif-netdev.c
    M lib/ovs-router.c
    M lib/pvector.c
    M lib/pvector.h
    M ofproto/ofproto.c
    M tests/test-classifier.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  classifier: Defer pvector publication.

This patch adds a new functions classifier_defer() and
classifier_publish(), which control when the classifier modifications
are made available to lookups.  By default, all modifications are made
available to lookups immediately.  Modifications made after a
classifier_defer() call MAY be 'deferred' for later 'publication'.  A
call to classifier_publish() will both publish any deferred
modifications, and cause subsequent changes to to be published
immediately.

Currently any deferring is limited to the visibility of the subtable
vector changes.  pvector now processes modifications mostly in a
working copy, which needs to be explicitly published with
pvector_publish().  pvector_publish() sorts the working copy and
removes gaps before publishing it.

This change helps avoiding O(n**2) memory behavior in corner cases,
where large number of rules with different masks are inserted or
deleted.

VMware-BZ: #1322017
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2372c146f7afa2b12e7b60375c728796ff985038
      https://github.com/openvswitch/ovs/commit/2372c146f7afa2b12e7b60375c728796ff985038
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-19 (Wed, 19 Nov 2014)

  Changed paths:
    M lib/rstp-common.h
    M lib/rstp-state-machines.c
    M lib/rstp.c
    M lib/rstp.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  rstp: shift learned MAC addresses to new Root port.

All MAC addresses previously learned on a Root Port can be moved to an
Alternate Port that becomes the new Root Port; i.e., Dynamic Filtering
Entries for those addresses may be modified to show the new Root Port as
their source, reducing the need to flood frames when recovering from
some component failures.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 6448df944262ea6d07136dc6ce7b0ce8f4b02a60
      https://github.com/openvswitch/ovs/commit/6448df944262ea6d07136dc6ce7b0ce8f4b02a60
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-19 (Wed, 19 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp: Fix global transitions.

Global transitions are highest priority transitions.  When the
condition associated with a global transition is met, it supersedes
all other exit conditions including UCT.

Extracted from 802.1D-2004 standard (17.16):

A transition that is global in nature (i.e., a transition that occurs
from any of the possible states if the condition attached to the arrow
is met) is denoted by an open arrow, i.e., no specific state is
identified as the origin of the transition.  When the condition
associated with a global transition is met, it supersedes all other
exit conditions including UCT.  The special global condition BEGIN
supersedes all other global conditions, and once asserted remains
asserted until all state blocks have executed to the point that
variable assignments and other consequences of their execution remain
unchanged.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: b5ba2490e37c7fdcff6cffabaa330987b194d741
      https://github.com/openvswitch/ovs/commit/b5ba2490e37c7fdcff6cffabaa330987b194d741
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-19 (Wed, 19 Nov 2014)

  Changed paths:
    M lib/rstp-state-machines.c

  Log Message:
  -----------
  rstp-state-machines: fix proposal reception behaviour.

Other ports should stop forwarding and learning when a port receives a
superior BPDU carrying a Proposal flag.
Without this patch this does not happen and other ports keep executing
the learning and forwarding processes.
This patch contains some fixes reported in the 802.1q-2008 standard.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 036dc96539c146786d762db68ae07e18fa919cb6
      https://github.com/openvswitch/ovs/commit/036dc96539c146786d762db68ae07e18fa919cb6
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-19 (Wed, 19 Nov 2014)

  Changed paths:
    M lib/rstp.c

  Log Message:
  -----------
  rstp: refactor RSTP setters.

With this patch setters invoke procedures only if values have changed.
Also rstp_set_bridge_address__() keeps the existing priority in the
bridge_identifier.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: a2c3caf900bf06beeb339b23de85a825b15a1136
      https://github.com/openvswitch/ovs/commit/a2c3caf900bf06beeb339b23de85a825b15a1136
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-19 (Wed, 19 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: fix bundle_move() call in rstp_run().

bundle_move() expects two struct ofbundle pointers as arguments, but
void pointers hide the error.

Signed-off-by: Daniele Venturino <daniele.venturino at m3s.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 3d174bfd1a6dc0734f4333385fbcb0dd4dd12df4
      https://github.com/openvswitch/ovs/commit/3d174bfd1a6dc0734f4333385fbcb0dd4dd12df4
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-19 (Wed, 19 Nov 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/percpu.h
    M datapath/linux/compat/include/linux/skbuff.h

  Log Message:
  -----------
  datapath: compat: Fix build on RHEL 6.6

RHEL 6.6 kernel percpu APIs are broken, so following patch is using OVS
backported version.

Reported-by: Wang Sheng-Hui <shhuiw at gmail.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: f6861bef4f763480b4e6e02935990b971c2c39bc
      https://github.com/openvswitch/ovs/commit/f6861bef4f763480b4e6e02935990b971c2c39bc
  Author: Saurabh Shah <ssaurabh at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M include/windows/netinet/ip.h

  Log Message:
  -----------
  Fix build break in ofproto/tunnel.c for windows platform.

The breakage was introduced by commit: a36de779
("openvswitch: Userspace tunneling.").

Reported-by: Edwin Chiu <echiu at nicira.com>
Signed-off-by: Saurabh Shah <ssaurabh at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 2ba811323416042edac6792845bdd35256fc53c7
      https://github.com/openvswitch/ovs/commit/2ba811323416042edac6792845bdd35256fc53c7
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: fixes in OvsGetExtInfoIoctl()

A few fixes around locking.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 70e562509a4df0a46012999845cb0b96b676e602
      https://github.com/openvswitch/ovs/commit/70e562509a4df0a46012999845cb0b96b676e602
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: add WCHAR version of OvsFindVportByHvName()

In this patch, we rename the existing OvsFindVportByHvName() to
OvsFindVportByHvNameA() to indicate that the input string is an ASCII
string. We also define a OvsFindVportByHvNameW() that takes as input a
WCHAR string.

This will be used later in HvCreatPort() to check for ports with
duplicate names.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 0b931c1cb2e90f5f75093ece8d06e1a931fdc94c
      https://github.com/openvswitch/ovs/commit/0b931c1cb2e90f5f75093ece8d06e1a931fdc94c
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Switch.h

  Log Message:
  -----------
  datapath-windows: clarify 'portIdHashArray' in the swithc context

In this patch, we update the documentation for 'portIdHashArray' to
indicate that a vport would exist in this hash table if and only if it
also exists on the Hyper-V switch.

This functionality to implement this semantic will follow in subsequent
patches.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: c22f284b4b8d714bf54305d13a5a26eba12e4afe
      https://github.com/openvswitch/ovs/commit/c22f284b4b8d714bf54305d13a5a26eba12e4afe
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Changes to OvsRemoveAndDeleteVport()

In this patch, we add changes to OvsRemoveAndDeleteVport() to allow the
caller to specify if a vport is being deleted because it got deleted on
Hyper-V or if it got deleted from OVS userspace.

The reason we need to make the distinction is to be able to delete the
vport from the relevant hash tables.

If a port has been deleted from all the hash tables ie. has been deleted
from Hyper-V as well as OVS userspace, it gets deallocated.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 827e07be2e969354267f8383cc708b1edbe4dd49
      https://github.com/openvswitch/ovs/commit/827e07be2e969354267f8383cc708b1edbe4dd49
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Changes to InitOvsVportCommon()

If a Hyper-V port (for which there exists an OVS port), gets deleted and
re-added, we'll call into InitOvsVportCommon() for the port to insert
the port into the 'portIdHashArray' as well as do a few other
initialization in the switch ocntext.

We should not be incrementing 'numHvPorts' at this point since this
vport has been counted before when it was first allocated. To account
for this, we add a new parameter to InitOvsVportCommon(). The arguments
passed by some of the callers are not 100% correct, and will be fixed in
future commit in the series.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 8ea43bad3d4bf56d29c1390a9c7f5c8f9cb4e252
      https://github.com/openvswitch/ovs/commit/8ea43bad3d4bf56d29c1390a9c7f5c8f9cb4e252
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Netlink/NetlinkError.h
    M datapath-windows/ovsext/Vxlan.c
    M datapath-windows/ovsext/Vxlan.h

  Log Message:
  -----------
  datapath-windows: Change return type of OvsInitVxlanTunnel()

OvsInitVxlanTunnel() need not return a NL_ERROR. In this patch, we
change it to NTSTATUS, and also update the mapping function that maps a
NTSTATUS to NL_ERROR.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 25f44d58248cf4ef46303cf3c35fbd28a493b266
      https://github.com/openvswitch/ovs/commit/25f44d58248cf4ef46303cf3c35fbd28a493b266
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Fixes in HvCreatePort() to re-add a port

In this patch, we update HvCreatePort() to be able to re-add a Hyper-V
port. Specifically, we handle the case where the port had also been
added by OVS userspace, so that when the port was previously deleted
from Hyper-V, we did not deallocate the port.

The key to a vport is its name. We lookup the list of vports both in the
'portIdHashArray' as well as 'portNoHashArray' to make sure that we
don't have a port with the same name.

Validation:
- deleted an re-added a port with and without the corresponding OVS port
existing
- deleted, changed the name of a port, and re-added it back with and
without the corresponding OVS port existing.
- uninstall was succcessful. No asserts hit.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 3b60a203ed3a6ccc804c24468942db10d035a25a
      https://github.com/openvswitch/ovs/commit/3b60a203ed3a6ccc804c24468942db10d035a25a
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Tunnel.c
    M datapath-windows/ovsext/User.c

  Log Message:
  -----------
  datapath-windows: Avoid BSOD when switch context is NULL

I came around a BSOD that happened when trying to access pidHashLock
from the gOvsSwitchContext, which was NULL. The stop happened in
OvsAcquirePidHashLock function.

To reproduce this BSOD, make sure the extension is enabled and running,
disable it and, after that, execute 'ovs-dpctl.exe show'. The BSOD is
triggered afterwards.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/53
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 34b52cac2c23147c7c7369436326a6bfac16d271
      https://github.com/openvswitch/ovs/commit/34b52cac2c23147c7c7369436326a6bfac16d271
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/automake.mk
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Event.c
    R datapath-windows/ovsext/Ioctl.c
    R datapath-windows/ovsext/Ioctl.h
    M datapath-windows/ovsext/ovsext.vcxproj
    M datapath-windows/ovsext/precomp.h

  Log Message:
  -----------
  datapath-windows: nuke non-netlink based interface

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 9c3d71b0a21bdd16e4b219c01bdcc5186498b735
      https://github.com/openvswitch/ovs/commit/9c3d71b0a21bdd16e4b219c01bdcc5186498b735
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/automake.mk
    R datapath-windows/include/OvsPub.h
    A datapath-windows/ovsext/DpInternal.h
    M datapath-windows/ovsext/precomp.h

  Log Message:
  -----------
  datpath-windows: include/OvsPub.h => ovsext/DpInternal.h

OvsPub.h is not longer the interface file that published the interface
of the kernel datapath to userspace. Nevertheless it is still being used
internal to the kernel datapath.

We rename the file for this reason.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: b3123b203f9bed052cddf810ea874cde226e2595
      https://github.com/openvswitch/ovs/commit/b3123b203f9bed052cddf810ea874cde226e2595
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/DpInternal.h
    M datapath-windows/ovsext/IpHelper.c
    M datapath-windows/ovsext/IpHelper.h
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: cleanup DpInternal.h

Getting rid of unused definitions in DpInternal.h.

This is only the first round. There's scope for more cleanup.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 741224c9a2de24d23fdf1352e34681a8026e71f1
      https://github.com/openvswitch/ovs/commit/741224c9a2de24d23fdf1352e34681a8026e71f1
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datpaath-windows: consolidate check for output buffer

Earlier, output buffer was optional in a transaction command. Thus each
command handler, had to check if the output buffer had indeed been
specified by userspace or not.

Now that output buffer is mandatory in transaction command, let's
consolidate the check in one place, and also convert the previous check
to ASSERTs.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 66d9484fd7bbf086ee91cbcb55d29ac68fcdf561
      https://github.com/openvswitch/ovs/commit/66d9484fd7bbf086ee91cbcb55d29ac68fcdf561
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: rename 'hvDeleted' to 'isPresentOnHv'

'hvDeleted' was originally added to track vports that got deleted from
the Hyper-V switch, but which still exists in OVS. Since then, it has
taken a new meaning: eg. it is set to TRUE for VXLAN ports which don't
exist on the Hyper-V switch at all.

Hence renaming it to something more appropriate.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: bbda3a2fe0f6ea840a76923b603440f2defcb6c2
      https://github.com/openvswitch/ovs/commit/bbda3a2fe0f6ea840a76923b603440f2defcb6c2
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M NEWS

  Log Message:
  -----------
  NEWS: Information about Ixia ANVL testing.

Update the NEWS section with some information about testing.

Signed-off-by: Martino Fornasa <mf at fornasa.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 9abdfbeffe872b630cae6bfdc4d155927286671f
      https://github.com/openvswitch/ovs/commit/9abdfbeffe872b630cae6bfdc4d155927286671f
  Author: Daniele Venturino <daniele.venturino at m3s.it>
  Date:   2014-11-20 (Thu, 20 Nov 2014)

  Changed paths:
    M utilities/ovs-vsctl.8.in

  Log Message:
  -----------
  ovs-vsctl: Update RSTP documentation.

Mention that the AUTO detection of admin point to point MAC parameter
is not implemented.

Signed-off-by: Martino Fornasa <mf at fornasa.it>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 67ad54cbc8a8cbe367e5f8d857ff2174d8bca9f9
      https://github.com/openvswitch/ovs/commit/67ad54cbc8a8cbe367e5f8d857ff2174d8bca9f9
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Garbage collect the exact match cache periodically.

On current master, the exact match cache entry can keep reference to
'struct dp_netdev_flow' even after the flow is removed from the flow
table.  This means the free of allocated memory of the flow is delayed
until the exact match cache entry is cleared or replaced.

If the allocated memory is ahead of chunks of freed memory on heap,
the delay will prevent the reclaim of those freed chunks, causing
falsely high memory utilization.

To fix the issue, this commit makes the owning thread conduct periodic
garbage collection on the exact match cache and clear dead entries.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>

---
PATCH -> V2:
- Adopt Jarno's suggestion and conduct slow sweep to avoid introducing
  jitter.


  Commit: 8f9392dc70a5816074edf1656ca2ea9d77cee254
      https://github.com/openvswitch/ovs/commit/8f9392dc70a5816074edf1656ca2ea9d77cee254
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M lib/cmap.c

  Log Message:
  -----------
  cmap: Shrink cmap when load factor is below 20%.

This commit adds check in cmap_remove() and shrinks the cmap by half
if the load factor is below 20%.  This is to reduce the memory
utilization of cmap and to avoid the allocated cmap memory occupying
the top of heap memory, preventing the trim of heap.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: faebf930196069f7ea2dc97ee3968698dcea84f2
      https://github.com/openvswitch/ovs/commit/faebf930196069f7ea2dc97ee3968698dcea84f2
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M xenserver/openvswitch-xen.spec.in

  Log Message:
  -----------
  xen.spec: Fix xenserver build failure.

This commit conducts similar operations as commit 2fd84d5e5
(rhel: Include pkgconfig and update header install in
Fedora/RHEL spec.) to xenserver spec file to prevent the
following rpmbuild failure.

  RPM build errors:
       Installed (but unpackaged) file(s) found:
     /usr/include/openflow/nicira-ext.h
     /usr/include/openflow/openflow-1.0.h
     /usr/include/openflow/openflow-1.1.h
     /usr/include/openflow/openflow-1.2.h
     /usr/include/openflow/openflow-1.3.h
     /usr/include/openflow/openflow-1.4.h
     /usr/include/openflow/openflow-1.5.h
     /usr/include/openflow/openflow-common.h
     /usr/include/openflow/openflow.h
     /usr/include/openvswitch/types.h
     /usr/lib/pkgconfig/libofproto.pc
     /usr/lib/pkgconfig/libopenvswitch.pc
     /usr/lib/pkgconfig/libovsdb.pc
     /usr/lib/pkgconfig/libsflow.pc

VMware-BZ: #1362092

Reported-by: Edwin Chiu <echiu at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 8ddda6853b1f69e5005a84de501ad87d0181d0f9
      https://github.com/openvswitch/ovs/commit/8ddda6853b1f69e5005a84de501ad87d0181d0f9
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: do not complete an IRP when pending status returned

The driver completes a pending IRP, the IRP is being marked free by the
I/O manager which causes a system crash when the IRP is completed at
the second time.
The driver should not complete a pending IRP in the context of the
Device I/O control thread.

*** Fatal System Error: 0x00000044
                 (0xFFFFFA800CF897D0,0x0000000000000F7A,0x0000000000000000,0x0000000000000000)

Break instruction exception - code 80000003 (first chance)

BugCheck 44, {fffffa800cf897d0, f7a, 0, 0}

Probably caused by : OVSExt.sys ( OVSExt!OvsCompleteIrpRequest+3a )

Followup: MachineOwner
---------

nt!DbgBreakPointWithStatus:
fffff800`5a100930 cc              int     3
11: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

MULTIPLE_IRP_COMPLETE_REQUESTS (44)
A driver has requested that an IRP be completed (IoCompleteRequest()), but
the packet has already been completed.  This is a tough bug to find because
the easiest case, a driver actually attempted to complete its own packet
twice, is generally not what happened.  Rather, two separate drivers each
believe that they own the packet, and each attempts to complete it.  The
first actually works, and the second fails.  Tracking down which drivers
in the system actually did this is difficult, generally because the trails
of the first driver have been covered by the second.  However, the driver
stack for the current request can be found by examining the DeviceObject
fields in each of the stack locations.
Arguments:
Arg1: fffffa800cf897d0, Address of the IRP
Arg2: 0000000000000f7a
Arg3: 0000000000000000
Arg4: 0000000000000000

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 92a5068f61a48d1bcde7206ba3a298b233843867
      https://github.com/openvswitch/ovs/commit/92a5068f61a48d1bcde7206ba3a298b233843867
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M lib/netlink-socket.c

  Log Message:
  -----------
  netlink-socket: Set socket pid number in NL message on Windows.

The pid must be set in the NL header as the driver checks it against the pid in
the instance paired with the socket.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d32754b454d2cc8a5d54896d72c38c067b9349cc
      https://github.com/openvswitch/ovs/commit/d32754b454d2cc8a5d54896d72c38c067b9349cc
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M tests/tunnel-push-pop.at

  Log Message:
  -----------
  tunnel-push-pop.at: Make test more deterministic.

Using the '-march=native' broke this test in a i7 laptop, most likely
due to a different hash implementation, which resulted in different
datapath port number assignment accross different compilations.

Break up the ports setup so that the datapath port number assignment
is more deterministic.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 1bc50ef389d40be9ee215e66b49cf66fcbdb9eeb
      https://github.com/openvswitch/ovs/commit/1bc50ef389d40be9ee215e66b49cf66fcbdb9eeb
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M lib/dpif.c
    M lib/netdev-vport.c
    M lib/ovs-router.c
    M lib/ovs-router.h
    M lib/route-table.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  dpctl: Fix crash.

ovs-dpctl crashed due to uninitialized router classifier. To
fix this issue move ovs router initialization to route table
module.

Reported-by: Madhu Challa <challa at noironetworks.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 53e1d6f1ef360cb1b2daa70f4e65f9f5c02db2f9
      https://github.com/openvswitch/ovs/commit/53e1d6f1ef360cb1b2daa70f4e65f9f5c02db2f9
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Remove redundant hash action handling.

odp_execute_actions() already handles hash execution part.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 98bb4286970d36e0cdb5a181be2999dc0dfdf3d1
      https://github.com/openvswitch/ovs/commit/98bb4286970d36e0cdb5a181be2999dc0dfdf3d1
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Add command to purge revalidators of flows.

This patch adds a new 'ovs-appctl revalidator/purge' command which
flushes all flows from all datapaths, and updates the revalidator
udpif_key cache at the same time.

Update the ofproto-dpif fragment tests which may fail when ukeys are
created from handler threads.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: b6a3dd9cca762a5113f388f54c87b50a53a7f894
      https://github.com/openvswitch/ovs/commit/b6a3dd9cca762a5113f388f54c87b50a53a7f894
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-11-21 (Fri, 21 Nov 2014)

  Changed paths:
    M lib/ofp-msgs.h
    M lib/ofp-util.c
    M tests/ofp-print.at

  Log Message:
  -----------
  ofp-util.c: Enable packet-in messages for OpenFlow 1.4 and 1.5.

Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>
[blp at nicira.com added simple test]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 10cb98428ef4699b2c47a18767fde36dffac0f14
      https://github.com/openvswitch/ovs/commit/10cb98428ef4699b2c47a18767fde36dffac0f14
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M lib/meta-flow.h

  Log Message:
  -----------
  meta-flow: OXM_OF_PKT_REG<n> now available as (draft) OF1.3 extension.

ONF-JIRA: EXT-244
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: ff111801b5c9e50e357b0c51e398af6bee79c6c3
      https://github.com/openvswitch/ovs/commit/ff111801b5c9e50e357b0c51e398af6bee79c6c3
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M lib/ofp-errors.h

  Log Message:
  -----------
  ofp-errors: Use official extension code for OFPBAC_BAD_SET_MASK.

ONF-JIRA: EXT-425
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: ed1d5ef337917b81f08b75f18ba8c0571fddbb3b
      https://github.com/openvswitch/ovs/commit/ed1d5ef337917b81f08b75f18ba8c0571fddbb3b
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ovs-ofctl: Document that mod-group requires the type field

Document that mod-group rather than del-group requires the type field.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: aa09ab5d4be6d371107a86fe74b6a2a4184a9045
      https://github.com/openvswitch/ovs/commit/aa09ab5d4be6d371107a86fe74b6a2a4184a9045
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: BSOD for a transactional NL cmd without dump state.

The BSOD is triggered by the incorect extraction of the OVS message
from the received input buffer from userspace, in _FlowNlGetCmdHandler
function.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/54
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 21b83c6d6035828dce80774746d9a5b0e50d0981
      https://github.com/openvswitch/ovs/commit/21b83c6d6035828dce80774746d9a5b0e50d0981
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Removed duplicate checking of previous dump state

Removed the check for previous dump state before calling FreeUserDumpState
as the check is also performed in the latter function.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 41acd777b5b6f0cc616cfc0cdd5720735ec158d9
      https://github.com/openvswitch/ovs/commit/41acd777b5b6f0cc616cfc0cdd5720735ec158d9
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M OPENFLOW-1.1+.md

  Log Message:
  -----------
  OPENFLOW-1.1+.md: Update and correct OpenFlow 1.4 features.

Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d24f701b5e2d4e30c4bdd83f87f61b04b6e63d5b
      https://github.com/openvswitch/ovs/commit/d24f701b5e2d4e30c4bdd83f87f61b04b6e63d5b
  Author: Jean Tourrilhes <jean.tourrilhes at hp.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M OPENFLOW-1.1+.md

  Log Message:
  -----------
  OPENFLOW-1.1+.md: Add OpenFlow 1.5 features.

Signed-off-by: Jean Tourrilhes <jt at hpl.hp.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d6b7cf62b0cdcb5853cf2385205ddfe4624b88d3
      https://github.com/openvswitch/ovs/commit/d6b7cf62b0cdcb5853cf2385205ddfe4624b88d3
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/PacketIO.c

  Log Message:
  -----------
  datapath-windows: Support for hybrid forwarding

In a hybrid forwarding environment, there are two types of packets that
enter and leave the Hyper-V extensible switch: NVGRE packets and non-NVGRE
packets. Hybrid forwarding involves filtering the incoming traffic based
on packet type.

Thus, we must split the incoming traffic into NVGRE and non-NVGRE packets.
All non-NVGRE traffic is forwarded by the OVS extension and processed as
usual, and the NVGRE traffic is passed to NDIS to be handled by the HNV
module.

Necessary VS project changes regarding the compiler settings will be made
in a different patch.

More details about hybrid forwarding and the necessary NDIS 6.40 support
is provided in issue #52.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Nithin Raju <nithin at vmware.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/52
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 36f29fb1a763e167fa971ac695b727296ad9f811
      https://github.com/openvswitch/ovs/commit/36f29fb1a763e167fa971ac695b727296ad9f811
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M lib/dpif.c
    M lib/netdev.c

  Log Message:
  -----------
  dpif: Fix initialization order.

OVS router depends on tnl_conf_seq and all tunnel related
components should be initialized before registering dpif
implementations.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 012b5d13f6358b58f8048aacae658af9fdbceb0f
      https://github.com/openvswitch/ovs/commit/012b5d13f6358b58f8048aacae658af9fdbceb0f
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Move vport code from Datapath.c to Vport.c.

Plain code motion. No additional cleanup or refactoring peformed.

I'll be doing some code refactoring in subsequent patches.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 847ddeab372220170f431f1b9dd504237066729a
      https://github.com/openvswitch/ovs/commit/847ddeab372220170f431f1b9dd504237066729a
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-24 (Mon, 24 Nov 2014)

  Changed paths:
    M lib/meta-flow.h

  Log Message:
  -----------
  meta-flow: Add support for ONF OpenFlow 1.3 extension ONFOXM_ET_TCP_FLAGS.

Actually the draft extension says "TCP_FLAG", without an "S", but I think
that's just a typo.

ONF-JIRA: EXT-109
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: b3248fa7ca8fe322e60fb588ea546074d8376cd6
      https://github.com/openvswitch/ovs/commit/b3248fa7ca8fe322e60fb588ea546074d8376cd6
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M include/openflow/openflow-1.5.h

  Log Message:
  -----------
  openflow: Value 4 of enum ofp15_group_mod_command is reserved.

The spec has been clarified to note that element 4 of
enum ofp_group_mod_command is reserved. This patch reflects
that change.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 7987096335862b741d99d52f408be1023ba44eb7
      https://github.com/openvswitch/ovs/commit/7987096335862b741d99d52f408be1023ba44eb7
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M include/openflow/openflow-1.5.h
    M lib/ofp-util.c

  Log Message:
  -----------
  openflow: Use *_array_len names in struct ofp15_bucket and ofp15_group_mod

The spec has been clarified to use _list_len in palce of _list_len
terminology to make it clearer that the data is not an ordered list
(it is a set). The code present in Open vSwitch already avoided
the _list_len terminology. This change brings the code into
line with the updated spec.

ONF-JIRA: EXT-350
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 807c7989fb7c8d70936776b77f56e9a72e601460
      https://github.com/openvswitch/ovs/commit/807c7989fb7c8d70936776b77f56e9a72e601460
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto-dpif: Add test case for OF1.4 packet-in.

The test case current fails and shows a bug when OF1.4 is used between
the controller and the switch, the packet-in message still uses OF1.3
wire protocol version.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ff057509e648ec73d0a2faddb665ab106b23102b
      https://github.com/openvswitch/ovs/commit/ff057509e648ec73d0a2faddb665ab106b23102b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M tests/ovs-ofctl.at

  Log Message:
  -----------
  tests: Fix test broken by introduction of ONFOXM_ET_TCP_FLAGS.

Commit 847ddeab372220 (meta-flow: Add support for ONF OpenFlow 1.3
extension ONFOXM_ET_TCP_FLAGS.) failed to update a test to match the new
OXM extension.  This fixes the problem.

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


  Commit: aded80d588bbc959c63579c609755638129f8098
      https://github.com/openvswitch/ovs/commit/aded80d588bbc959c63579c609755638129f8098
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Fixed Release broken build.

The release configurations of the OVSEXT project were not compiling.
This was due to a warning that was treated as error. Fixed that.

I did not want to remove that variable, because it is used in an
ASSERT in that function.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: 58c9041008c930ba0b92f744a540e53ed7f5b922
      https://github.com/openvswitch/ovs/commit/58c9041008c930ba0b92f744a540e53ed7f5b922
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/ovsext.vcxproj

  Log Message:
  -----------
  datapath-windows: Update OVSEXT VS project to support 6.40

Added support for creating OVS extension driver NDIS 6.40 compliant.

Currently the OVSEXT Visual Studio project has four build configurations,
'Win8 Release', 'Win8 Debug', 'Win8.1 Release' and 'Win8.1 Debug'. All of
them are creating a binary that is NDIS 6.30 compliant. I have changed the
Win8.1 build configurations in order to create a binary that is NDIS 6.40
compliant.

In this way, the OVSEXT project is able to create a release/debug binary
that is NDIS 6.30 compliant, using the 'Win8 Release' and 'Win8 Debug'
build configurations, as well as a release/debug binary that is NDIS 6.40
compliant, using the 'Win8.1 Release' and 'Win8.1 Debug' build
configurations.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: f8cb1dbb2484d42a232060cdd7091455a8806adc
      https://github.com/openvswitch/ovs/commit/f8cb1dbb2484d42a232060cdd7091455a8806adc
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Fix broken build on MSVC.

Removing unused local variable.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 64746850d17146d34868e35991b6953a98056595
      https://github.com/openvswitch/ovs/commit/64746850d17146d34868e35991b6953a98056595
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M Makefile.am

  Log Message:
  -----------
  Makefile: Add static check for misuse of LITTLE_ENDIAN and BIG_ENDIAN.

I've pointed out two misuses of these macros in review in the last week,
by different authors.  It's time to make it difficult to screw this up.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 5dd9826c9d3914265e6d4daa8eb80bbf3b1495a7
      https://github.com/openvswitch/ovs/commit/5dd9826c9d3914265e6d4daa8eb80bbf3b1495a7
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M tests/ovs-vsctl.at
    M utilities/ovs-vsctl.8.in
    M utilities/ovs-vsctl.c

  Log Message:
  -----------
  ovs-vsctl: Prevent creating duplicate VLAN bridges.

ovs-vsctl has the concept of a VLAN (or "fake") bridge, which is a
sort of a sub-bridge that receives only packets on a particular VLAN.
There is no way to distinguish two VLAN bridges with the same parent on the
same VLAN, but until now ovs-vsctl did not prevent creating duplicates or
report them.  This commit fixes the problem.

Reported-by: rwxybh
Reported-at: https://github.com/openvswitch/ovs/issues/21
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 36013bb157e96efb24601321927aa55371def90c
      https://github.com/openvswitch/ovs/commit/36013bb157e96efb24601321927aa55371def90c
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M datapath-windows/DESIGN

  Log Message:
  -----------
  datapath-windows: Update DESIGN document.

In this patch, we update the design document to reflect the netlink
based kernel-userspace interface implementation and a few other changes.
I have covered at a high level.

Please feel free to extend the document with more details that you think
got missed out.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: e96981deb0060653a19b2c6d25af0304caef3787
      https://github.com/openvswitch/ovs/commit/e96981deb0060653a19b2c6d25af0304caef3787
  Author: Stephen Finucane <stephen.finucane at intel.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M tests/.gitignore
    M tests/automake.mk
    A tests/dpdk/ring_client.c
    R tests/ovs_client/ovs_client.c

  Log Message:
  -----------
  tests/ovs_client: Remove broken debug code

There is some debug "logging" code included in the 'ovs_client'
application. This code appears to be broken as it spams stdout with
duplicated "log" messages. Remove this code.
This patch also renames ovs_client to ring_client.

In addition, add the 'test-dpdkr' executable to the 'tests/.gitignore'
file.

Signed-off-by: Stephen Finucane <stephen.finucane at intel.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a70f8b11087a780fe4a13ecd50c7aef05ef519cc
      https://github.com/openvswitch/ovs/commit/a70f8b11087a780fe4a13ecd50c7aef05ef519cc
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M AUTHORS
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  vswitch.xml: Describe NetFlow passive timeout.

Reported-by: Martin Vizvary <vizvary at ics.muni.cz>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 6572103876d00ace874e87325b72e31f159f4cca
      https://github.com/openvswitch/ovs/commit/6572103876d00ace874e87325b72e31f159f4cca
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M datapath/flow_netlink.c

  Log Message:
  -----------
  datapath: Don't validate IPv6 label masks.

When userspace doesn't provide a mask, OVS datapath generates a fully
unwildcarded mask for the flow by copying the flow and setting all bits
in all fields. For IPv6 label, this creates a mask that matches on the
upper 12 bits, causing the following error:

openvswitch: netlink: Invalid IPv6 flow label value (value=ffffffff, max=fffff)

This patch ignores the label validation check for masks, avoiding this
error.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: 9fce0584a6434a31eea4333644d74b38c29a37e1
      https://github.com/openvswitch/ovs/commit/9fce0584a6434a31eea4333644d74b38c29a37e1
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  revalidator: Use 'cmap' for storing ukeys.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: a260693626dda83ded9f1a2c42c407a69a9c1bf6
      https://github.com/openvswitch/ovs/commit/a260693626dda83ded9f1a2c42c407a69a9c1bf6
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  revalidator: Protect ukeys with a mutex.

Currently, udpif_keys are protected during revalidator_sweep__() as only
one thread accesses the ukey at a time. This is ensured using barriers:
all revalidators will be in the GC phase, so they will only access their
own ukey collection.

A future patch will change the access patterns to allow these ukey
collections to be read or modified while a revalidator is garbage
collecting it. To protect the ukeys, this patch adds locking on the ukey
collection.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: b8d3daeb2411ed4bc9eee1361be651874c997f43
      https://github.com/openvswitch/ovs/commit/b8d3daeb2411ed4bc9eee1361be651874c997f43
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  udpif: Separate udpif_key maps from revalidators.

An upcoming patch will change the access patterns for ukey maps to
increase the number of writers, and shift write-access from revalidator
threads to upcall handler threads. As such, it no longer makes sense to
tie these maps to revalidators in a 1:1 relationship.

This patch separates the ukey maps from the revalidators, and increases
the number of maps used to store ukeys, to reduce contention.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 6dad4d44a4fc3a026afcad3abe7d385b741d898e
      https://github.com/openvswitch/ovs/commit/6dad4d44a4fc3a026afcad3abe7d385b741d898e
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  upcall: Rename dump_op -> ukey_op.

Future patches will make use of the 'struct dump_op' in a broader sense,
so this patch renames it to make things a bit clearer.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 23597df052262dec961fd86eb7c54d10984a1ec0
      https://github.com/openvswitch/ovs/commit/23597df052262dec961fd86eb7c54d10984a1ec0
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  upcall: Create ukeys in handler threads.

Currently, when a revalidator thread first dumps a flow, it creates a
'udpif_key' object and caches a copy of a kernel flow key. This allows
us to perform lookups in the classifier to attribute stats and validate
the correctness of the datapath flow.

This patch sets up this cache from the handler threads, during flow
setup. While this patch alone causes a decrease in revalidation
performance, it allows future patches increase performance by reducing
the cost of flow dumping.

Revalidators will continue to create ukeys if a flow is dumped that has
no corresponding ukey. This may happen in corner cases such as when
ovs-vswitchd is restarted (and flows remain in the datapath) or a user
installs a flow using ovs-dpctl.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: bc2df54d2a41a1584fe2ae7a9bcfcc2ee7ccac57
      https://github.com/openvswitch/ovs/commit/bc2df54d2a41a1584fe2ae7a9bcfcc2ee7ccac57
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  upcall: Revalidate using cache of mask, actions.

This allows us to ignore most fields of a flow_dump, requiring only the
flow key for looking up the ukey. Fetching flows can also be avoided in
the corner case where a flow is missed from a dump but revalidation is
required.

A future patch will modify the datapath interface to allow datapaths to
skip dumping these fields, so this cache will be used instead.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 468cdd91c3bc21acde1d98250def7d9330204b8e
      https://github.com/openvswitch/ovs/commit/468cdd91c3bc21acde1d98250def7d9330204b8e
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M include/openvswitch/types.h
    M lib/hash.c
    M lib/hash.h
    M tests/test-hash.c

  Log Message:
  -----------
  hash: Add 128-bit murmurhash.

Add the 128-bit murmurhash by Austin Appleby, r150 from:
http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7af12bd7c83e5cf8cb831f3aa9621bac57a6a861
      https://github.com/openvswitch/ovs/commit/7af12bd7c83e5cf8cb831f3aa9621bac57a6a861
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  dpif: Generate flow_hash for revalidators in dpif.

This patch shifts the responsibility for determining the hash for a flow
from the revalidation logic down to the dpif layer. This assists in
handling backward-compatibility for revalidation with the upcoming
unique flow identifier "UFID" patches.

A 128-bit UFID was selected to minimize the likelihood of hash conflicts.
Handler threads will not install a flow that has an identical UFID as
another flow, to prevent misattribution of stats and to ensure that the
correct flow key cache is used for revalidation.

For datapaths that do not support UFID, which is currently all
datapaths, the dpif will generate the UFID and pass it up during upcall
and flow_dump. This is generated based on the datapath flow key.

Later patches will add support for datapaths to store and interpret this
UFID, in which case the dpif has a responsibility to pass it through
transparently.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 3f47a0c5499cef41c448173300954200e0f4e009
      https://github.com/openvswitch/ovs/commit/3f47a0c5499cef41c448173300954200e0f4e009
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M configure.ac
    A include/openvswitch/.gitignore
    M include/openvswitch/automake.mk
    A include/openvswitch/version.h.in

  Log Message:
  -----------
  lib: Add new header <openvswitch/version.h> to versioning info

Exposes the package version as string and the library versioning
as numeric macro.

OVS_LIB_VERSION may be used to check for a particular version of
the interface.

OVS_LIB_REVISION and OVS_LIB_AGE exist to map a set of installed
headers to a particular shared library instance.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b0248b2ac8261a282ac5504c728c04cb51086fb4
      https://github.com/openvswitch/ovs/commit/b0248b2ac8261a282ac5504c728c04cb51086fb4
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/util.h
    M lib/unixctl.c
    M lib/util.c
    M lib/util.h

  Log Message:
  -----------
  lib: Add API to set program name and version

Required to have reasonable logging messages.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ba96552a0a8ced94b32e3308c39ba41c8425a709
      https://github.com/openvswitch/ovs/commit/ba96552a0a8ced94b32e3308c39ba41c8425a709
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M ofproto/connmgr.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto: Fix checking of packet_in_mask in async config.

The check shall use wire protool reasons, which could be different from
the internal packet-in reason.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a5ef74e15f476b59a390aeacf3f8747db4210873
      https://github.com/openvswitch/ovs/commit/a5ef74e15f476b59a390aeacf3f8747db4210873
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M include/openflow/openflow-common.h

  Log Message:
  -----------
  Add Netronome vendor Id: NMX_VENDOR_ID = 0x00001540.

This is based on the Netronome IEEE OUI, 00154D.
And it has been registered with the ONF:

https://rs.opennetworking.org/wiki/display/PUBLIC/ONF+Registry

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 27edb4aa496a45297386311535c723b1c96eeaeb
      https://github.com/openvswitch/ovs/commit/27edb4aa496a45297386311535c723b1c96eeaeb
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-11-25 (Tue, 25 Nov 2014)

  Changed paths:
    M lib/dpif-netlink.c

  Log Message:
  -----------
  dpif-netlink: Fix windows build.

Commit 7af12bd "dpif: Generate flow_hash for revalidators in dpif."
broke compilation on windows. Fix it.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ac0facbaf78067af170f1c4fea9c0db5b5dc18dc
      https://github.com/openvswitch/ovs/commit/ac0facbaf78067af170f1c4fea9c0db5b5dc18dc
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-11-26 (Wed, 26 Nov 2014)

  Changed paths:
    M lib/route-table-bsd.c
    M lib/route-table-stub.c

  Log Message:
  -----------
  lib/route-table-*: Fix non-Linux builds

Fix build failures introduced by
commit 1bc50ef389d40be9ee215e66b49cf66fcbdb9eeb
("dpctl: Fix crash.")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: c51518744fbc91d72e8ad581a1d1072258f5114a
      https://github.com/openvswitch/ovs/commit/c51518744fbc91d72e8ad581a1d1072258f5114a
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-26 (Wed, 26 Nov 2014)

  Changed paths:
    M lib/flow.h

  Log Message:
  -----------
  flow.h: Simplify MAP_FOR_EACH_INDEX()

Avoid comparing against specific values.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 03690ebb2b6a034232fc965946188afded2ab473
      https://github.com/openvswitch/ovs/commit/03690ebb2b6a034232fc965946188afded2ab473
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-26 (Wed, 26 Nov 2014)

  Changed paths:
    M lib/flow.c
    M lib/flow.h

  Log Message:
  -----------
  flow: Define miniflow_get__() to simplify code.

miniflow_get__() can be used when it is known that the miniflow stores
a value at the given index.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f4d335e98540906049f40bf48d60f9839e3fad0a
      https://github.com/openvswitch/ovs/commit/f4d335e98540906049f40bf48d60f9839e3fad0a
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-26 (Wed, 26 Nov 2014)

  Changed paths:
    M lib/flow.c
    M lib/flow.h

  Log Message:
  -----------
  flow.c: Improve minimask_equal() and minimask_has_extra().

minimask_equal() and minimask_has_extra() can take benefit from the
fact that minimasks have no zero data.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 1cea007c92e6b33f194fd7acbba9795e03b10a19
      https://github.com/openvswitch/ovs/commit/1cea007c92e6b33f194fd7acbba9795e03b10a19
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-11-26 (Wed, 26 Nov 2014)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/flow.c
    M lib/flow.h
    M lib/match.c

  Log Message:
  -----------
  lib: Use MAP_FOR_EACH_INDEX to improve readability.

Use MAP_FOR_EACH_INDEX to improve readability when there is no
apparent cost for it.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d14c1c5152f41f1984c614dc1e7824ae8cea94b1
      https://github.com/openvswitch/ovs/commit/d14c1c5152f41f1984c614dc1e7824ae8cea94b1
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-01 (Mon, 01 Dec 2014)

  Changed paths:
    M vtep/README.ovs-vtep.md

  Log Message:
  -----------
  vtep: Use unicast MAC as an example for a unicast destination in README.

Until now, the example for a unicast MAC has been a multicast MAC.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Justin Pettit <jpettit at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 433330a8bfaf38b41bbe3c482c57562202ba1e61
      https://github.com/openvswitch/ovs/commit/433330a8bfaf38b41bbe3c482c57562202ba1e61
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-01 (Mon, 01 Dec 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Fix a race.

On current master, the 'struct dp_netdev_port' is destroyed
immediately when the ref count reaches 0.  However, non-pmd
threads calling the dpif_netdev_execute() for sending packets
could hold pointer to 'port' that is not ref-counted.  Thusly
those threads could possibly access freed memory when the port
is deleted.

To fix this bug, this commit makes non-pmd threads acquiring
the 'port_mutex' before doing the actual execution in
dpif_netdev_execute().

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 36fd4f214f9ba74aaf0e5fb3e4ba271b946a1550
      https://github.com/openvswitch/ovs/commit/36fd4f214f9ba74aaf0e5fb3e4ba271b946a1550
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-01 (Mon, 01 Dec 2014)

  Changed paths:
    M datapath/linux/Kbuild.in

  Log Message:
  -----------
  datapath: Use ccflags-y instead of deprecated EXTRA_CFLAGS

This allows users to pass in additional compiler flags through the
environment variable EXTRA_CFLAGS, e.g.

   make EXTRA_CFLAGS=-Wno-error=foo V=1

Reported-by: Alexandru Ardelean <ardeleanalex at gmail.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b772066ffd066d59d9ebce092f6665150723d2ad
      https://github.com/openvswitch/ovs/commit/b772066ffd066d59d9ebce092f6665150723d2ad
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-01 (Mon, 01 Dec 2014)

  Changed paths:
    M lib/dpif.c
    M lib/netdev-vport.c
    M lib/route-table-bsd.c
    M lib/route-table-stub.c
    M lib/route-table.c
    M lib/route-table.h
    M ofproto/ofproto-dpif-sflow.c

  Log Message:
  -----------
  route-table: Remove Unregister.

Since dpif registering for routing table at initialization
there is no need to unregister it. Following patch removes
support for turning routing table notifications on and off.
Due to this change OVS always listens for these
notifications.

Reported-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 4944b55c425f1a85ff9f806c3e81a0c4229f7732
      https://github.com/openvswitch/ovs/commit/4944b55c425f1a85ff9f806c3e81a0c4229f7732
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M utilities/ovs-testcontroller.8.in

  Log Message:
  -----------
  ovs-testcontroller: Fix manpage .so command.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: e3639cbd4f9b14833505c5c3942dd5f755eef705
      https://github.com/openvswitch/ovs/commit/e3639cbd4f9b14833505c5c3942dd5f755eef705
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M README-native-tunneling.md
    M README.md
    M third-party/README.md

  Log Message:
  -----------
  docs: Add titles to documentation files that lacked them.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 4441a01cbd42c9c02ce09eeb79020bf28c20a891
      https://github.com/openvswitch/ovs/commit/4441a01cbd42c9c02ce09eeb79020bf28c20a891
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M Makefile.am
    A build-aux/dist-docs
    M manpages.mk
    M third-party/automake.mk
    M tutorial/automake.mk
    M utilities/automake.mk
    M vtep/automake.mk

  Log Message:
  -----------
  dist-docs: New utility to generate a documentation bundle for the website.

This utility isn't going to be as portable as most of the Open vSwitch
utilities, unfortunately.  I'm happy to take improvements to make it
able to work with, e.g., the "man" program from BSD.  (I haven't tested
with that program, but I suspect that it is somewhat different from the
GNU version.)

The output of this program can already be viewed at:
	http://openvswitch.org/support/dist-docs/

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 962f9fa4ce21fbe5b73b75d7bc5c2d45a8b08c69
      https://github.com/openvswitch/ovs/commit/962f9fa4ce21fbe5b73b75d7bc5c2d45a8b08c69
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M NEWS

  Log Message:
  -----------
  NEWS: Multicast snooping was introduced after, not before, version 2.3.

Reported-by: Helmut Schaa <helmut.schaa at googlemail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Flavio Leitner <fbl at redhat.com>


  Commit: 5b5b11ea7b9bfe8983f2449c3bb14f257a84f4a3
      https://github.com/openvswitch/ovs/commit/5b5b11ea7b9bfe8983f2449c3bb14f257a84f4a3
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M AUTHORS
    M lib/dpif.c
    M ofproto/ofproto-provider.h

  Log Message:
  -----------
  dpif: Don't clear argument in dp_enumerate_types().

All but one of the callers of dp_enumerate_types() hands it an sset that is
known to be empty.  The one exception is the implementation of the
ofproto-provider 'enumerate_types' function in ofproto-dpif.  That function
isn't supposed to clear the existing contents of the sset passed in.
Therefore, this commit changes dp_enumerate_types() to not clear the sset
before it adds new members.

The ofproto-provider comment wasn't clear about the desired behavior so
this commit also clarifies that.

Reported-by: Zoltán Balogh <zoltan.balogh at ericsson.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a1235ee5fd63785fc5ee115ee63d37b5b44bd1bf
      https://github.com/openvswitch/ovs/commit/a1235ee5fd63785fc5ee115ee63d37b5b44bd1bf
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M lib/classifier-private.h

  Log Message:
  -----------
  classifier: Silence sparse warning (sparse bug)

This silences the following sparse warning which appears to be a bug
in sparse:

	lib/classifier-private.h:210:45: warning: call with no type!
	lib/classifier-private.h:179:45: warning: call with no type!

Can be reverted when sparse has been fixed.

Cc: Jarno Rajahalme <jrajahalme at nicira.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Reviewed-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: d9aa7218a27b6c2aa8fde2663ded63ae17a0e112
      https://github.com/openvswitch/ovs/commit/d9aa7218a27b6c2aa8fde2663ded63ae17a0e112
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M datapath/README.md
    M datapath/linux/compat/include/linux/openvswitch.h

  Log Message:
  -----------
  datapath: Add UFID interface to openvswitch.h.

An upcoming set of patches will implement support for indexing flows by
Unique Flow IDentifiers (UFID) rather than the traditional unmasked key.
This patch implements the interface changes required. The implementation
will follow.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 70e5ed6f39f02e1b378908f045d4ba2ab2000513
      https://github.com/openvswitch/ovs/commit/70e5ed6f39f02e1b378908f045d4ba2ab2000513
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M lib/dpctl.c
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif.c
    M lib/dpif.h
    M lib/odp-util.c
    M lib/odp-util.h
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif.c
    M tests/dpif-netdev.at
    M tests/ofproto-dpif.at
    M tests/ofproto-macros.at

  Log Message:
  -----------
  dpif: Index flows using unique identifiers.

This patch modifies the dpif interface to allow flows to be manipulated
using a 128-bit identifier. This allows revalidator threads to perform
datapath operations faster, as they do not need to serialise the entire
flow key for operations like flow_get and flow_delete. In conjunction
with a future patch to simplify the dump interface, this provides a
significant performance benefit for revalidation.

When handlers assemble flow_put operations, they specify a unique
identifier (UFID) for each flow as it is passed down to the datapath to
be stored with the flow. The UFID is currently provided to handlers
by the dpif during upcall processing.

When revalidators assemble flow_get or flow_del operations, they may
specify the UFID for the flow along with the key. The dpif will decide
whether to send only the UFID to the datapath, or both the UFID and flow
key. The former is preferred for newer datapaths that support UFID,
while the latter is used for backwards compatibility.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 64bb477f05688e61cf1ca062e2e47c69c5c49735
      https://github.com/openvswitch/ovs/commit/64bb477f05688e61cf1ca062e2e47c69c5c49735
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M lib/dpctl.c
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif-provider.h
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif.c
    M tests/dpif-netdev.at
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  dpif: Minimize memory copy for revalidation.

One of the limiting factors on the number of flows that can be supported
in the datapath is the overhead of assembling flow dump messages in the
datapath. This patch modifies the dpif to allow revalidators to skip
dumping the key, mask and actions from the datapath, by making use of
the unique flow identifiers introduced in earlier patches.

For each flow dump, the dpif user specifies whether to skip these
attributes, allowing the common case to only dump a pair of 128-bit ID
and flow stats. With datapath support, this increases the number of
flows that a revalidator can handle per second by 50% or more. Support
in dpif-netdev and dpif-netlink is added in this patch; kernel support
is left for future patches.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: cea4a6d714d4079819162cccf9d0cc220399a910
      https://github.com/openvswitch/ovs/commit/cea4a6d714d4079819162cccf9d0cc220399a910
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-03 (Wed, 03 Dec 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Make ofproto-dpif tests more resilient.

We have previously used a combination of time/warp and revalidator/wait
to try to synchronize the datapath flow statistics and status up to the
ofproto layer, so that tests may confirm their expected behaviours using
OpenFlow or other protocols operating at that layer of vswitchd (eg LACP).

This patch switches these tests over to using revalidator/purge, which
tells the ofproto-dpif to flush the datapath, causing these statistics
to be updated. In local testing this appears to improve the success rate
of these tests considerably.

Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: 5b7278a122c9c6aac0da3c34a41d3642f87f3ff0
      https://github.com/openvswitch/ovs/commit/5b7278a122c9c6aac0da3c34a41d3642f87f3ff0
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-04 (Thu, 04 Dec 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Fix race in async config test.

Occasionally, the testsuite would send the OFPT_SET_ASYNC before
ovs-vswitchd got a chance to send its OFPT_ROLE_REPLY message, causing a
reordering of the testsuite output and a false positive. Give the test
script something extra to do so this is less likely to happen.

Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: 819e3cdec67332b3cfad771f6856924a1f2e7130
      https://github.com/openvswitch/ovs/commit/819e3cdec67332b3cfad771f6856924a1f2e7130
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-04 (Thu, 04 Dec 2014)

  Changed paths:
    M build-aux/cccl

  Log Message:
  -----------
  cccl: Respect silent flags.

Automake sets $V to tell the compiler whether to print verbose messages
as it compiles or not. Add support for this variable in cccl, allowing
more quiet build output on windows if the build is configured with
--silent or the developer runs make V=0.

Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: b2fc6a744775e0214b9a304a348b3131dfcd1e67
      https://github.com/openvswitch/ovs/commit/b2fc6a744775e0214b9a304a348b3131dfcd1e67
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-04 (Thu, 04 Dec 2014)

  Changed paths:
    M lib/util.h

  Log Message:
  -----------
  util: Fix include for htonl().

Commit 526a7c85d11dc "util: Add be32_prefix_mask()." added an include for
byte-order.h into util.h, which could cause link failures if users of
libopenvswitch defined their own version of htonll(). Change the
include, as only htonl() is needed and arpa/inet.h provides this.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: fa07848939869e32ca386e46f1e4e093bc2c7459
      https://github.com/openvswitch/ovs/commit/fa07848939869e32ca386e46f1e4e093bc2c7459
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M lib/ofp-actions.c
    M tests/ofp-actions.at

  Log Message:
  -----------
  ofp-actions: Only set defined bits when encoding "load" actions.

Commit 7eb4b1f1d70345f ("ofp-actions: Support OF1.5 (draft) masked
Set-Field, merge with reg_load.") introduced a bug in that a set_field
action that set an entire field would be translated incorrectly to
reg_load, if the field being set only occupied a portion of the bytes that
it contains.  For example, an MPLS label is 20 bits but has a 4-byte field,
which meant that a set_field would get translated into a reg_load that
wrote all 32 bits; in turn, the receiver of that reg_load would reject it
because it was attempting to set invalid bits (the top 12 bits).

This commit fixes the problem by omitting invalid bits when encoding a
reg_load action.

Reported-by: Pravin Shelar <pshelar at nicira.com>
Tested-by: Pravin Shelar <pshelar at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>


  Commit: 3100516ad790b20e449b67a848e071dc5bd3f8d3
      https://github.com/openvswitch/ovs/commit/3100516ad790b20e449b67a848e071dc5bd3f8d3
  Author: Eitan Eliahu <eliahue at vmware.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c

  Log Message:
  -----------
  datapath-windows: Add PID Number attribute for port notification / Fix logic

[1] User mode OVS expects to have the PID number in the port state
    notification command
[2] Fix logic error-for-Windows-user-mode

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: fa8266a805b46891854d1fd48827514c7a1f0b55
      https://github.com/openvswitch/ovs/commit/fa8266a805b46891854d1fd48827514c7a1f0b55
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Move Build*Msg() to Netlink.c

Moving the functions that build netlink messages to Netlink.c from
Vport.c

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 65d04c593f1be0e3cad8d6e87dbe256611df86d3
      https://github.com/openvswitch/ovs/commit/65d04c593f1be0e3cad8d6e87dbe256611df86d3
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: nuke unused code in Flow.c

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a0ddac4bf35a9d53cb9255a3ed20177fe7c8ded5
      https://github.com/openvswitch/ovs/commit/a0ddac4bf35a9d53cb9255a3ed20177fe7c8ded5
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M tutorial/Tutorial.md

  Log Message:
  -----------
  doc: Fix up markdown syntax in tutorial/Tutorial.md

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b770275d1099e534cacbcd2bca93cb9103877aa5
      https://github.com/openvswitch/ovs/commit/b770275d1099e534cacbcd2bca93cb9103877aa5
  Author: Robert Åkerblom-Andersson <Robert.nr1 at gmail.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M AUTHORS
    M FAQ.md

  Log Message:
  -----------
  FAQ: Fix formatting for command block.

Signed-off-by: Robert Åkerblom-Andersson <Robert.nr1 at gmail.com>


  Commit: b6fe204d2da016e7e0c7fc591e9ed95e23067d19
      https://github.com/openvswitch/ovs/commit/b6fe204d2da016e7e0c7fc591e9ed95e23067d19
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M FAQ.md

  Log Message:
  -----------
  FAQ.md: Correct claims about MPLS.

An examination of the source code and the tests shows that the FAQ claimed
more for version 2.3 than was really in there.

Reported-by: null pointer <null.pointer.boom at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 517f93116b143d5f16bafe62cf0fe13734db7dd5
      https://github.com/openvswitch/ovs/commit/517f93116b143d5f16bafe62cf0fe13734db7dd5
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M .travis.yml
    M .travis/build.sh

  Log Message:
  -----------
  travis: Extended kernel build matrix

When doing test builds, build against the following kernels:
  - KERNEL=3.17.4
  - KERNEL=3.16.7
  - KERNEL=3.14.25
  - KERNEL=3.12.33
  - KERNEL=3.10.61
  - KERNEL=3.4.104
  - KERNEL=2.6.32.64

When doing pure kernel test builds, skip compilation of user space bits.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 33a58fc69ec5e8a3895992497a726b33092125dd
      https://github.com/openvswitch/ovs/commit/33a58fc69ec5e8a3895992497a726b33092125dd
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M .travis/build.sh

  Log Message:
  -----------
  travis: Only run testsuite for gcc builds

This reduces the total travis build time significantly.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ec26264171cf866f453d7f2ab55569b36678c488
      https://github.com/openvswitch/ovs/commit/ec26264171cf866f453d7f2ab55569b36678c488
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M utilities/bugtool/ovs-bugtool-ovs-appctl-dpif
    M utilities/bugtool/ovs-bugtool.in

  Log Message:
  -----------
  ovs-bugtool: Log more detail for dumped flows.

The standard mode for printing flows doesn't always provide the full
range of information that is available, particularly with the UFID
changes. Turn on more detail.

Suggested-by: Justin Pettit <jpettit at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 7631e9bc5209e5b06d1d2fb3c06ee7fb343028c6
      https://github.com/openvswitch/ovs/commit/7631e9bc5209e5b06d1d2fb3c06ee7fb343028c6
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M ofproto/tunnel.c

  Log Message:
  -----------
  tunnel: Recreate tunnel port only when the netdev status change.

On current master, the 'struct tnl_port' in tunnel module will be
recreated whenever the global connectivity sequence number changes
(e.g. when adding unrelated flow).  This is unnecessary and could
cause drop of tunnel packet if a lookup happens between the removal
and recreate.

This commit fixes the above issue by only checking the netdev's own
sequence number.

Found by code inspection.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: 650763d8a8881b991eab3d59d7678c6bae5b3e20
      https://github.com/openvswitch/ovs/commit/650763d8a8881b991eab3d59d7678c6bae5b3e20
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M lib/ofp-actions.c
    M tests/ofp-actions.at

  Log Message:
  -----------
  ofp-actions: Update "copy_field" to latest OF1.5 draft.

Since my original prototype, the oxm_id_len field was removed and
replaced by 2 bytes of padding.

ONF-JIRA: EXT-320
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 232c1e1277babad8cf54b404d2a0f83434442533
      https://github.com/openvswitch/ovs/commit/232c1e1277babad8cf54b404d2a0f83434442533
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M lib/ofp-actions.c

  Log Message:
  -----------
  ofp-actions: Add support for ONF extension actions.

Preparation for supporting ONFACT_ET_COPY_FIELD.

ONF-JIRA: EXT-320
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 914624f81740a2502438c6b3c89478597ea78426
      https://github.com/openvswitch/ovs/commit/914624f81740a2502438c6b3c89478597ea78426
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-05 (Fri, 05 Dec 2014)

  Changed paths:
    M build-aux/extract-ofp-actions
    M lib/ofp-actions.c
    M tests/ofp-actions.at
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ofp-actions: Support "copy_field" ONF extension to OpenFlow 1.3.

ONF-JIRA: EXT-320
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 66e1d95523a98789a5bd9ce40cd1f7b7625f6de6
      https://github.com/openvswitch/ovs/commit/66e1d95523a98789a5bd9ce40cd1f7b7625f6de6
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-08 (Mon, 08 Dec 2014)

  Changed paths:
    M lib/classifier.c
    M tests/classifier.at

  Log Message:
  -----------
  tests/classifier: Make test work in big-endian systems.

Change a test so that the result will be the same in both
little-endian and big-endian systems by editing the test case so that
only one bit differs.

Reported-by: Mijo Safradin <mijo at linux.vnet.ibm.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4c438b67ee1b62afe5492c469769eb00f5b958e8
      https://github.com/openvswitch/ovs/commit/4c438b67ee1b62afe5492c469769eb00f5b958e8
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-08 (Mon, 08 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  revalidator: Fix access of uninitialized memory.

Commit 64bb477 "dpif: Minimize memory copy for revalidation." introduced
a bug where the corner case of ukey creation (in revalidator threads)
could result in access to uninitialized memory when deleting flows from
the datapath. This could result in OVS aborting or deadlock. Fix it.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: b43f1bfa1c39c8fdcd2b6b141ba6a39b349ffa55
      https://github.com/openvswitch/ovs/commit/b43f1bfa1c39c8fdcd2b6b141ba6a39b349ffa55
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2014-12-08 (Mon, 08 Dec 2014)

  Changed paths:
    M include/openvswitch/util.h

  Log Message:
  -----------
  include/openvswitch/util: Add extern "C" { ... }.

Requested-by: Alan Shieh <ashieh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 67ce407f561c64c662127505b1ef3b4c5f7cf7c0
      https://github.com/openvswitch/ovs/commit/67ce407f561c64c662127505b1ef3b4c5f7cf7c0
  Author: Eohyung Lee <liquidnuker at gmail.com>
  Date:   2014-12-09 (Tue, 09 Dec 2014)

  Changed paths:
    M AUTHORS
    M utilities/ovs-tcpundump.in

  Log Message:
  -----------
  ovs-tcpundump: Fix typo in version message.

Signed-off-by: Eohyung Lee <liquidnuker at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 0fcc086dc7da3fa832af11fa4a8ca24afb78cbe0
      https://github.com/openvswitch/ovs/commit/0fcc086dc7da3fa832af11fa4a8ca24afb78cbe0
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-09 (Tue, 09 Dec 2014)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/net/netlink.h

  Log Message:
  -----------
  datapath: Check if nla_is_last() is available in <net/netlink.h>

nla_is_last() is not available in 3.18, it's only in net-next.
Convert to grep based to check to account for distribution backports.

Fixes: 684b5f ("datapath: Rename last_action() as nla_is_last() and move to netlink.h")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 4510f85327f17c40f92d057243cce3b45ad39aa8
      https://github.com/openvswitch/ovs/commit/4510f85327f17c40f92d057243cce3b45ad39aa8
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-09 (Tue, 09 Dec 2014)

  Changed paths:
    M NEWS
    M acinclude.m4

  Log Message:
  -----------
  datapath: Mark compatible with kernels up to 3.18.x

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 56a3eb24e76338097b7929be601f85242f84afbd
      https://github.com/openvswitch/ovs/commit/56a3eb24e76338097b7929be601f85242f84afbd
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-09 (Tue, 09 Dec 2014)

  Changed paths:
    M datapath/linux/compat/include/linux/netdev_features.h

  Log Message:
  -----------
  datapath: Account for already defined NETIF_F_GSO_ENCAP_ALL

Relates-to: f6eec614 ("openvswitch: Enable tunnel GSO for OVS bridge.")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 6595fb00f0aa3e97e6e6c44012837b746f081f90
      https://github.com/openvswitch/ovs/commit/6595fb00f0aa3e97e6e6c44012837b746f081f90
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-10 (Wed, 10 Dec 2014)

  Changed paths:
    M lib/route-table-bsd.c

  Log Message:
  -----------
  route-table-bsd: Stop caching pid

The cache here doesn't work anymore as the recent
commit b772066ffd066d59d9ebce092f6665150723d2ad
("route-table: Remove Unregister.")
made this function called before daemonizing,
thus with a different pid.

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 88ffdc93c8d287effd6eeeb8db149ff1da9ff4bd
      https://github.com/openvswitch/ovs/commit/88ffdc93c8d287effd6eeeb8db149ff1da9ff4bd
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-10 (Wed, 10 Dec 2014)

  Changed paths:
    M README-native-tunneling.md
    M lib/automake.mk
    R lib/ovs-router-linux.h
    M lib/ovs-router.c
    M lib/ovs-router.h
    M lib/route-table-bsd.c
    M lib/route-table-stub.c
    M lib/route-table.c
    M lib/route-table.h
    M tests/tunnel-push-pop.at

  Log Message:
  -----------
  ovs-router: non-Linux support

Refactor ovs-router so that it can work with non-Linux platforms
at least in some extent, using the existing route-table code as
a fallback.  Known restriction: for such platforms, "ovs/router/show"
command does not show "Cached" kernel routes.

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a7701e29b215106c0fb73adddd079dbc0f23ce2d
      https://github.com/openvswitch/ovs/commit/a7701e29b215106c0fb73adddd079dbc0f23ce2d
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-10 (Wed, 10 Dec 2014)

  Changed paths:
    M lib/route-table-bsd.c

  Log Message:
  -----------
  route-table-bsd: Provide gateway info

For userspace tunneling.

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 36673528f8a02a0becc1781bb529c60367cb08d5
      https://github.com/openvswitch/ovs/commit/36673528f8a02a0becc1781bb529c60367cb08d5
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-10 (Wed, 10 Dec 2014)

  Changed paths:
    M lib/route-table-bsd.c

  Log Message:
  -----------
  route-table-bsd: Add some DBG logs

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: bff6067904172b6f5034437e97f89598dbf41529
      https://github.com/openvswitch/ovs/commit/bff6067904172b6f5034437e97f89598dbf41529
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-12 (Fri, 12 Dec 2014)

  Changed paths:
    M lib/dpif.c

  Log Message:
  -----------
  dpif: Don't initialize output UFID in dpif_flow_get().

The UFID parameter to dpif_flow_get() is optional, but the current
implementation dereferences it to initialize part of the output flow.
This field is filled in by the dpif implementation, so don't initialize
it here.

This does not fix any existing bug because every caller currently passes
in a UFID. The next patch will introduce the first call to
dpif_flow_get() that doesn't provide a UFID, which would break without
this change.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2c85851f8ec2ac1c0ce60ab30981990f250d77da
      https://github.com/openvswitch/ovs/commit/2c85851f8ec2ac1c0ce60ab30981990f250d77da
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-12 (Fri, 12 Dec 2014)

  Changed paths:
    M lib/dpif-netlink.c
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  dpif: Refactor datapath feature detection.

Various functions in ofproto-dpif and dpif-netlink detect support for
features in very similar ways. Refactor their common code to a single
function.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 9ab0fce1798750b7143540c49c3d03aa6c7549cc
      https://github.com/openvswitch/ovs/commit/9ab0fce1798750b7143540c49c3d03aa6c7549cc
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-12 (Fri, 12 Dec 2014)

  Changed paths:
    M lib/dpif.c

  Log Message:
  -----------
  dpif: Use DPIF_FP_MODIFY for feature probes.

If ovs-vswitchd is killed at the right time, then a probe flow may be
left in the datapath. This commit adds the DPIF_FP_MODIFY flag to
feature probes so that re-creating the same probe flow will not cause an
error.

These flow_put flags were previously changed in commit a7d1bbdcfe49e8
("ofproto-dpif: Use DPIF_FP_CREATE but not DPIF_FP_MODIFY."), despite
the commit message addressing a different case.

Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 5fc8ea2d6f0e604cad53e48164d64f0edcf43204
      https://github.com/openvswitch/ovs/commit/5fc8ea2d6f0e604cad53e48164d64f0edcf43204
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: refactor BuildReplyMsgFromMsgIn & BuildErrorMsg

In this patch, we consolidate code in Netlink.c.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 1ad44ad455e4f2f96eb98d8b3faf06f3e358c214
      https://github.com/openvswitch/ovs/commit/1ad44ad455e4f2f96eb98d8b3faf06f3e358c214
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M datapath-windows/ovsext/Flow.c
    M datapath-windows/ovsext/Netlink/Netlink.c
    M datapath-windows/ovsext/Netlink/Netlink.h
    M datapath-windows/ovsext/User.c
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: return bool from NlFillOvs[Msg/Hdr]

Per review comment, in this patch, we update the return values of
NlFillOvsMsg() and NlFillOvsHdr() from NTSTATUS to BOOLEAN to make them
consistent with the Nl* functions.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 4819e33042bfb8d6262a3c26501f9fbd9ba2c96d
      https://github.com/openvswitch/ovs/commit/4819e33042bfb8d6262a3c26501f9fbd9ba2c96d
  Author: Robert Åkerblom-Andersson <Scorpiion at users.noreply.github.com>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M vtep/README.ovs-vtep.md

  Log Message:
  -----------
  vtep: Add codeblocks for example commands in README.ovs-vtep.md.

Signed-off-by: Robert Åkerblom-Andersson <Robert.nr1 at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 3a11fd5b2b0fc2511e0fbef465c6ff50b121e519
      https://github.com/openvswitch/ovs/commit/3a11fd5b2b0fc2511e0fbef465c6ff50b121e519
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M DESIGN.md
    M OPENFLOW-1.1+.md
    M ofproto/connmgr.c
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto: add support of OFPR_GROUP as packet-in reason for OF1.4+

When the Packet-In message is triggered by a group action, OFPR_GROUP is
passed internally as the reason. The wire_reason() function converts the
reason to OFPR_ACTION if the wire protocol is earlier than OF1.4.

The wire_reason() function also converts other unsupported reasons
(i.e., OFPR_ACTION_SET and OFPR_PACKET_OUT) to OFPR_ACTION if it detects
a wire protocol earlier than OF1.4.

By default reason code OFPR_GROUP for Packet-In will be enabled for
async messages as in ofconn_flush(). Upon a connection being established
with a controller, the protocol version is checked and OFPR_GROUP will
be disabled in async config if the protocol is lower than OF1.4. Any
controller running OF1.4+ is still be able to enable OFPR_GROUP at its
will without being affected by this check.

The patch also includes tests cases for both OF1.3 and OF1.4 to ensure
proper reason code is given for packet-in message triggered by group
action.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2e601425c6075b05cde37a1b9c64cc29f4791f16
      https://github.com/openvswitch/ovs/commit/2e601425c6075b05cde37a1b9c64cc29f4791f16
  Author: Jan Vansteenkiste <jan at vstone.eu>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M AUTHORS
    M debian/openvswitch-switch.init

  Log Message:
  -----------
  debian: Use ifquery for finding the interfaces in init script.

When using interfaces.d/<foobar>, interfaces are not picked up.
Let ifquery figure out the format of the interfaces files for us.

Signed-off-by: Jan Vansteenkiste <jan at vstone.eu>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: bc786797628efb67fb5fda93203b60481f6907db
      https://github.com/openvswitch/ovs/commit/bc786797628efb67fb5fda93203b60481f6907db
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-12 (Fri, 12 Dec 2014)

  Changed paths:
    M README-native-tunneling.md
    M lib/ovs-router.c

  Log Message:
  -----------
  ovs-router: Add "ovs/route/lookup" command

This command is useful at least for testing.

Example output:
    % ovs-appctl ovs/route/lookup '10.0.0.1'
    gateway 172.17.0.254
    dev wm0
    %

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 0c7812e5ebc843fbbabfdfcdd1b21bda9759e0ed
      https://github.com/openvswitch/ovs/commit/0c7812e5ebc843fbbabfdfcdd1b21bda9759e0ed
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-12 (Fri, 12 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h

  Log Message:
  -----------
  recirculation: Do not drop packet when there is no match from
internal table.

In current recirculation implementation, the flow misses (with
'recirc_id' set) are always looked up on the receiving bridge's
internal flow table.  However, the bond port may actually reside
on another bridge which gets connected to the receiving bridge
via patch port.  Since the recirculation rules are pushed to the
other bridge's internal table, the flow lookup on the receiving
bridge will match nothing but the drop rule, causing unexpected
packet drops.

This commit fixes the above bug via keeping lookup the misses
(with 'recirc_id' set) in default table (table 0) and processing
it until reaching the bridge that owns the bond port.  Then,
the misses can hit the post recirculation flows as expected.

VMware-BZ: 1362178

Reported-by: Ansis Atteka <aatteka at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 9a8d2f8c49c28ddc77be7011748eef17d949fafe
      https://github.com/openvswitch/ovs/commit/9a8d2f8c49c28ddc77be7011748eef17d949fafe
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-13 (Sat, 13 Dec 2014)

  Changed paths:
    M utilities/ovs-command-compgen.bash

  Log Message:
  -----------
  ovs-command-completion: Fix unwanted whitespace.

This commit fixes unwanted whitespace in the ovs
bash completion script output.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: cab5044987845e66dbe030eb1384d58cc5a66fc9
      https://github.com/openvswitch/ovs/commit/cab5044987845e66dbe030eb1384d58cc5a66fc9
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/compiler.h
    M lib/bundle.c
    M lib/bundle.h
    M lib/command-line.h
    M lib/compiler.h
    M lib/dynamic-string.h
    M lib/json.c
    M lib/learn.c
    M lib/learn.h
    M lib/multipath.c
    M lib/multipath.h
    M lib/nx-match.c
    M lib/nx-match.h
    M lib/ofp-actions.c
    M lib/ofp-actions.h
    M lib/ofp-parse.c
    M lib/ofp-parse.h
    M lib/ofp-print.c
    M lib/ofp-util.c
    M lib/ovsdb-data.c
    M lib/ovsdb-data.h
    M lib/ovsdb-error.h
    M lib/ovsdb-idl.h
    M lib/ovsdb-parser.h
    M lib/ovsdb-types.h
    M lib/smap.h
    M lib/stream-nossl.c
    M lib/table.h
    M lib/unicode.h
    M lib/util.h
    M lib/vlog.c
    M lib/vlog.h
    M ofproto/ofproto-dpif.c
    M ovsdb/column.h
    M ovsdb/condition.c
    M ovsdb/condition.h
    M ovsdb/execution.c
    M ovsdb/file.h
    M ovsdb/jsonrpc-server.c
    M ovsdb/log.h
    M ovsdb/mutation.c
    M ovsdb/mutation.h
    M ovsdb/ovsdb-client.c
    M ovsdb/ovsdb-server.c
    M ovsdb/ovsdb-tool.c
    M ovsdb/ovsdb.c
    M ovsdb/ovsdb.h
    M ovsdb/row.h
    M ovsdb/table.h
    M ovsdb/transaction.c
    M ovsdb/transaction.h
    M tests/test-jsonrpc.c
    M tests/test-netflow.c
    M tests/test-ovsdb.c
    M tests/test-rstp.c
    M tests/test-sflow.c
    M tests/test-stp.c
    M utilities/ovs-dpctl.c
    M utilities/ovs-ofctl.c
    M utilities/ovs-testcontroller.c
    M utilities/ovs-vsctl.c
    M vswitchd/ovs-vswitchd.c
    M vswitchd/system-stats.c
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  lib: Move compiler.h to <openvswitch/compiler.h>

The following macros are renamed to avoid conflicts with other headers:
 * WARN_UNUSED_RESULT to OVS_WARN_UNUSED_RESULT
 * PRINTF_FORMAT to OVS_PRINTF_FORMAT
 * NO_RETURN to OVS_NO_RETURN

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 8f3676cfce4e6a9e8428d5f171d6246622486fbc
      https://github.com/openvswitch/ovs/commit/8f3676cfce4e6a9e8428d5f171d6246622486fbc
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/util.h
    M lib/backtrace.h
    M lib/hmap.h
    M lib/latch.h
    M lib/ovs-thread.h
    M lib/poll-loop.h
    M lib/seq.h
    M lib/timer.h
    M lib/util.h

  Log Message:
  -----------
  lib: Expose SOURCE_LOCATOR as OVS_SOURCE_LOACATOR

Required to expose headers which depend on SOURCE_LOCATOR

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 904e0804430e5526752fe75637df48a3e9467deb
      https://github.com/openvswitch/ovs/commit/904e0804430e5526752fe75637df48a3e9467deb
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/thread.h
    M lib/ovs-thread.h

  Log Message:
  -----------
  lib: Expose ovs_mutex and ovsthread_once in <openvswitch/thread.h>

This picks the ovs_mutex and ovsthread_once API from lib/ovs-thread.h
and exposes it in <openvswitch/thread.h>.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d668c4a94192269235510fa7d23e324ed1155a78
      https://github.com/openvswitch/ovs/commit/d668c4a94192269235510fa7d23e324ed1155a78
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/token-bucket.h
    M lib/automake.mk
    M lib/token-bucket.c
    R lib/token-bucket.h
    M lib/vlog.h
    M ofproto/pinsched.c

  Log Message:
  -----------
  lib: Move token-bucket.h to <openvswitch/token-bucket.h>

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 8c7be52d10a1e9a4745249a4a94540df13d847a3
      https://github.com/openvswitch/ovs/commit/8c7be52d10a1e9a4745249a4a94540df13d847a3
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/util.h
    M lib/sat-math.h
    M lib/vlog.h

  Log Message:
  -----------
  lib: Expose SAT_MUT as OVS_SAT_MUL in <openvswitch/util.h>

Insted of exposing the full sat-math.h API, only the macros
used in headers is exposed through <openvswitch/util.h>

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ca6ba70092b1528e12d3140d70232175a13c335d
      https://github.com/openvswitch/ovs/commit/ca6ba70092b1528e12d3140d70232175a13c335d
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M CodingStyle.md
    M lib/fat-rwlock.c
    M lib/fat-rwlock.h
    M lib/guarded-list.c
    M lib/guarded-list.h
    M lib/jsonrpc.c
    M lib/lacp.c
    M lib/list.h
    M lib/mac-learning.c
    M lib/mac-learning.h
    M lib/mcast-snooping.c
    M lib/mcast-snooping.h
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-provider.h
    M lib/netdev.c
    M lib/netlink-notifier.c
    M lib/nx-match.c
    M lib/ofp-msgs.c
    M lib/ofp-msgs.h
    M lib/ofp-print.c
    M lib/ofp-util.c
    M lib/ofp-util.h
    M lib/ofpbuf.c
    M lib/ofpbuf.h
    M lib/ovs-numa.c
    M lib/ovs-rcu.c
    M lib/ovs-thread.c
    M lib/ovsdb-idl-provider.h
    M lib/ovsdb-idl.c
    M lib/process.c
    M lib/rconn.c
    M lib/rculist.h
    M lib/rstp-common.h
    M lib/rstp.c
    M lib/rtbsd.c
    M lib/rtbsd.h
    M lib/seq.c
    M lib/seq.h
    M lib/stp.c
    M lib/unixctl.c
    M lib/vconn.c
    M lib/vconn.h
    M lib/vlog.c
    M lib/vlog.h
    M ofproto/bond.c
    M ofproto/bundles.c
    M ofproto/connmgr.c
    M ofproto/connmgr.h
    M ofproto/ofproto-dpif-ipfix.c
    M ofproto/ofproto-dpif-monitor.c
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M ofproto/pinsched.c
    M ofproto/pinsched.h
    M ovsdb/jsonrpc-server.c
    M ovsdb/ovsdb.h
    M ovsdb/row.h
    M ovsdb/server.h
    M ovsdb/transaction.c
    M ovsdb/trigger.h
    M tests/test-list.c
    M utilities/ovs-ofctl.c
    M utilities/ovs-vsctl.c
    M vswitchd/bridge.c
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  list: Rename struct list to struct ovs_list

struct list is a common name and can't be used in public headers.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 55951e15e5603318219ea5efca160723bbb28111
      https://github.com/openvswitch/ovs/commit/55951e15e5603318219ea5efca160723bbb28111
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/list.h
    M lib/guarded-list.h
    M lib/lacp.c
    M lib/list.h
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/ovs-thread.c
    M lib/process.c
    M lib/rculist.h
    M lib/rstp.c
    M lib/rtbsd.c
    M lib/stp.c
    M lib/vlog.c
    M lib/vlog.h
    M ofproto/ofproto-dpif-monitor.c
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto.c

  Log Message:
  -----------
  lib: Expose struct ovs_list definition in <openvswitch/list.h>

Expose the struct ovs_list definition in <openvswitch/list.h>. Keep the
list access API private for now.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: e6211adce42c28453e0004c7a3e342a3d52bb97d
      https://github.com/openvswitch/ovs/commit/e6211adce42c28453e0004c7a3e342a3d52bb97d
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/vlog.h
    M lib/automake.mk
    M lib/backtrace.c
    M lib/bfd.c
    M lib/bundle.c
    M lib/cfm.c
    M lib/classifier.c
    M lib/command-line.c
    M lib/coverage.c
    M lib/daemon-unix.c
    M lib/daemon-windows.c
    M lib/daemon.c
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif.c
    M lib/entropy.c
    M lib/fatal-signal.c
    M lib/getopt_long.c
    M lib/getrusage-windows.c
    M lib/hmap.c
    M lib/jsonrpc.c
    M lib/lacp.c
    M lib/learning-switch.c
    M lib/lockfile.c
    M lib/mcast-snooping.c
    M lib/memory.c
    M lib/meta-flow.c
    M lib/netdev-bsd.c
    M lib/netdev-dpdk.c
    M lib/netdev-dummy.c
    M lib/netdev-linux.c
    M lib/netdev-vport.c
    M lib/netdev-windows.c
    M lib/netdev.c
    M lib/netlink-notifier.c
    M lib/netlink-socket.c
    M lib/netlink.c
    M lib/nx-match.c
    M lib/odp-util.c
    M lib/ofp-actions.c
    M lib/ofp-errors.c
    M lib/ofp-msgs.c
    M lib/ofp-util.c
    M lib/ovs-numa.c
    M lib/ovs-rcu.c
    M lib/ovs-thread.c
    M lib/ovsdb-error.c
    M lib/ovsdb-idl.c
    M lib/pcap-file.c
    M lib/poll-loop.c
    M lib/process.c
    M lib/rconn.c
    M lib/reconnect.c
    M lib/route-table.c
    M lib/rstp-state-machines.c
    M lib/rstp.c
    M lib/rtbsd.c
    M lib/signals.c
    M lib/socket-util-unix.c
    M lib/socket-util.c
    M lib/stp.c
    M lib/stream-fd.c
    M lib/stream-nossl.c
    M lib/stream-ssl.c
    M lib/stream-tcp.c
    M lib/stream-unix.c
    M lib/stream.c
    M lib/svec.c
    M lib/timeval.c
    M lib/tnl-arp-cache.c
    M lib/unixctl.c
    M lib/util.c
    M lib/vconn-stream.c
    M lib/vconn.c
    M lib/vlandev.c
    M lib/vlog.c
    R lib/vlog.h
    M ofproto/bond.c
    M ofproto/bundles.c
    M ofproto/collectors.c
    M ofproto/connmgr.c
    M ofproto/fail-open.c
    M ofproto/in-band.c
    M ofproto/netflow.c
    M ofproto/ofproto-dpif-ipfix.c
    M ofproto/ofproto-dpif-mirror.c
    M ofproto/ofproto-dpif-monitor.c
    M ofproto/ofproto-dpif-sflow.c
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto.c
    M ofproto/pktbuf.c
    M ofproto/tunnel.c
    M ovsdb/file.c
    M ovsdb/jsonrpc-server.c
    M ovsdb/ovsdb-client.c
    M ovsdb/ovsdb-server.c
    M ovsdb/ovsdb-tool.c
    M tests/test-flows.c
    M tests/test-jsonrpc.c
    M tests/test-lockfile.c
    M tests/test-netflow.c
    M tests/test-odp.c
    M tests/test-ovsdb.c
    M tests/test-reconnect.c
    M tests/test-rstp.c
    M tests/test-sflow.c
    M tests/test-stp.c
    M tests/test-util.c
    M tests/test-vconn.c
    M utilities/nlmon.c
    M utilities/ovs-appctl.c
    M utilities/ovs-benchmark.c
    M utilities/ovs-dpctl.c
    M utilities/ovs-ofctl.c
    M utilities/ovs-testcontroller.c
    M utilities/ovs-vsctl.c
    M vswitchd/bridge.c
    M vswitchd/ovs-vswitchd.c
    M vswitchd/system-stats.c
    M vswitchd/xenserver.c
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  lib: Move vlog.h to <openvswitch/vlog.h>

A new function vlog_insert_module() is introduced to avoid using
list_insert() from the vlog.h header.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4a1f523f2d760e9e5751bc93519d1b70c5492b56
      https://github.com/openvswitch/ovs/commit/4a1f523f2d760e9e5751bc93519d1b70c5492b56
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M include/openvswitch/automake.mk
    A include/openvswitch/vconn.h
    M lib/automake.mk
    M lib/learning-switch.c
    M lib/ofp-parse.c
    M lib/rconn.c
    M lib/vconn-provider.h
    M lib/vconn-stream.c
    R lib/vconn.h
    M ofproto/bundles.c
    M ofproto/connmgr.c
    M ofproto/fail-open.c
    M ofproto/pinsched.c
    M ofproto/pktbuf.c
    M tests/test-vconn.c
    M utilities/ovs-ofctl.c
    M utilities/ovs-testcontroller.c
    M utilities/ovs-vsctl.c
    M vswitchd/ovs-vswitchd.c
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  lib: Move vconn.h to <openvswitch/vconn.h>

Also moves definitions for struct vconn and pvconn to the public
header. The provider interface is kept private.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: acf72f1322a041fdf30a1c115dbc0e7a6dffac00
      https://github.com/openvswitch/ovs/commit/acf72f1322a041fdf30a1c115dbc0e7a6dffac00
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M tests/.gitignore
    M tests/automake.mk
    A tests/lib.at
    M tests/library.at
    A tests/test-lib.c

  Log Message:
  -----------
  lib: Add test for library usage

This test covers inclusion of public header files and basic usage
of the API such as vlog.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7894385af1a9d9ea4a93720dd58492490aa40018
      https://github.com/openvswitch/ovs/commit/7894385af1a9d9ea4a93720dd58492490aa40018
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M INSTALL.Docker.md

  Log Message:
  -----------
  ovs-docker: Enhance documentation to handle pre-programmed interfaces.

Currently, Controllers and CMSes that integrate with Open vSwitch
after following the IntegrationGuide.md, expect to start VMs after
the underlying network infrastructure is ready. I have been asked
a few times on how to handle the same with containers. This commit
provides documentation on one way to achieve it.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: a14bf25a24349ce7af867d88bcfa7b4eafe626a4
      https://github.com/openvswitch/ovs/commit/a14bf25a24349ce7af867d88bcfa7b4eafe626a4
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M AUTHORS
    M utilities/ovs-docker

  Log Message:
  -----------
  ovs-docker: Ability to set the default gateway.

ovs-docker currently lets one add the ability to set the
IP address on an OVS interface. Ability to set the default
gateway too can be an useful addition. (orchestrators
who plan to use OVS interfaces can do this from a single
utility instead of multiple utilities)

Requested-by: Marvin Pascual <marvin at pascual.com.ph>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 348efd0434f04492ffda5a82e0106adf709d6d72
      https://github.com/openvswitch/ovs/commit/348efd0434f04492ffda5a82e0106adf709d6d72
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M utilities/ovs-docker

  Log Message:
  -----------
  ovs-docker: Add the ability to set VLANs.

For containers containing multiple ports and spawned by
orchestrators without openflow flows configured, it can be quite
useful to distinguish their traffic with vlans. This can be useful
when containers are spawned inside VMs instead of hypervisors.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 534a19b9ec28b0da92605d33b5ae3f02e7d1c5af
      https://github.com/openvswitch/ovs/commit/534a19b9ec28b0da92605d33b5ae3f02e7d1c5af
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-15 (Mon, 15 Dec 2014)

  Changed paths:
    M lib/dpctl.c
    M lib/odp-util.c
    M lib/odp-util.h

  Log Message:
  -----------
  dpctl: Add support for using UFID to add/del flows.

Parse "ufid:<foo>" at the beginning of a flow specification and use it
for flow manipulation if present.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 94a72fd6f09cd07b3a67f4cc390436550fad00e7
      https://github.com/openvswitch/ovs/commit/94a72fd6f09cd07b3a67f4cc390436550fad00e7
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2014-12-16 (Tue, 16 Dec 2014)

  Changed paths:
    M lib/daemon-windows.c

  Log Message:
  -----------
  daemon-windows: Add a missing header.

Without it, the build on Windows fails.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>


  Commit: c744eb045a6bc5e73376e5a6e2e86c17852f43a8
      https://github.com/openvswitch/ovs/commit/c744eb045a6bc5e73376e5a6e2e86c17852f43a8
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-17 (Wed, 17 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  revalidator: Don't delete non-existent flow.

If ukey_acquire() returns ENOENT, then it is unable to locate the ukey
corresponding to the flow and the flow has disappeared since it was
dumped. Don't bother deleting the flow in this case, as it will fail.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 8a856a63b3373a7f317d521383c1e7e5a06f352d
      https://github.com/openvswitch/ovs/commit/8a856a63b3373a7f317d521383c1e7e5a06f352d
  Author: Paul-Emmanuel Raoul <skyper at skyplabs.net>
  Date:   2014-12-17 (Wed, 17 Dec 2014)

  Changed paths:
    M AUTHORS
    M utilities/ovs-docker

  Log Message:
  -----------
  ovs-docker : Handle pre-existing fake bridges.

Signed-off-by: Paul-Emmanuel Raoul <skyper at skyplabs.net>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 43e2a6214ed44d88009c2b38765abe7a490c0e47
      https://github.com/openvswitch/ovs/commit/43e2a6214ed44d88009c2b38765abe7a490c0e47
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-18 (Thu, 18 Dec 2014)

  Changed paths:
    M lib/route-table-bsd.c

  Log Message:
  -----------
  route-table-bsd: Update vlog.h inclusion

This fixes a build failure introduced by the recent vlog change
commit e6211adce42c28453e0004c7a3e342a3d52bb97d.
("lib: Move vlog.h to <openvswitch/vlog.h>")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 5af43325c9f78cd4617ee3dc5c7aa746e9c2a2c0
      https://github.com/openvswitch/ovs/commit/5af43325c9f78cd4617ee3dc5c7aa746e9c2a2c0
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-18 (Thu, 18 Dec 2014)

  Changed paths:
    M lib/flow.c
    M ofproto/ofproto-dpif-xlate.c
    M tests/automake.mk
    A tests/mpls-xlate.at
    M tests/odp.at
    M tests/ofproto-dpif.at
    M tests/testsuite.at

  Log Message:
  -----------
  ofproto-dpif: Fix MPLS multiple Push pop action.

vSwitchd does not generate correct MPLS actions for multiple
MPLS push or pop action.
Datapath can handle multiple push action for in single action list.
But for after first MPLS pop it needs to recirculate packet to
refill packet key. Following patch fixes it accordingly.

Reported-by: Stefano Salsano <stefano.salsano at uniroma2.it>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Tested-by: Pier Luigi Ventre <pl.ventre at gmail.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 92a39735650c43a738af53418feb3214231ec97a
      https://github.com/openvswitch/ovs/commit/92a39735650c43a738af53418feb3214231ec97a
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M datapath/flow_netlink.c
    M datapath/linux/compat/include/net/gre.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath: Fix MPLS action validation.

Linux stack do not allow GSO for packet with multiple
encapsulations.  Therefore there was check in MPLS action
validation to detect such case, But it is better to add
such check at run time to detect such cases.
Removing this check also fixes bug in action copy to no skip
multiple set actions.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Reported-by: Srinivas Neginhal <sneginha at vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
Bug #1367702


  Commit: 202d8004bdbba86f88e99b584f923f5fb0a3b555
      https://github.com/openvswitch/ovs/commit/202d8004bdbba86f88e99b584f923f5fb0a3b555
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif: Fix build failure.

Remove xlate_actions_mpls_overflow coverage counter.

Reported-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 9fc7fcbc9678871d3245f4003a2d5f64dc159ae1
      https://github.com/openvswitch/ovs/commit/9fc7fcbc9678871d3245f4003a2d5f64dc159ae1
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  odp-util: Format UFID hi/lo in correct order.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 627298c5b3d141b843cde6adaa35c7b6636d595b
      https://github.com/openvswitch/ovs/commit/627298c5b3d141b843cde6adaa35c7b6636d595b
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  odp-util: Fix UFID string parsing.

Commit 534a19b (dpctl: Add support for using UFID to add/del flows.)
introduced string parsing functions for UFIDs, but provided a broken
implementation where the upper 64 bits would be ignored, then the lower
64 bits would be read into both the lower and upper UFID positions. Fix
the implementation to read the upper bits properly.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 8e1ffd757db4af47c7bffb4f59a803e9694dbd26
      https://github.com/openvswitch/ovs/commit/8e1ffd757db4af47c7bffb4f59a803e9694dbd26
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif-provider.h
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h

  Log Message:
  -----------
  dpif: Shift ufid support checking up to dpif_backer.

Previously, the dpif layer was responsible for determining datapath
support for UFIDs, which resulted in all ovs-dpctl utilities
inserting/deleting flows from the datapath each time they are run.
Shift this responsibility up to the dpif_backer.

There are two users of this functionality: Revalidators check for UFID
support to request a terser dump using UFIDs, and dpif-netlink uses this
to request flow_del operations to only return the UFID/stats. The latter
case was previously hidden from revalidators, but this change makes them
aware of it, and reuses the same "udpif->enable_ufid" flag for reducing
overhead of both flow dump and flow delete.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 818650e6b1b2fb3614558112cfe68aeafb93cfdc
      https://github.com/openvswitch/ovs/commit/818650e6b1b2fb3614558112cfe68aeafb93cfdc
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M lib/dpctl.c
    M lib/dpctl.man
    M tests/ofproto-dpif.at
    M utilities/ovs-dpctl.c

  Log Message:
  -----------
  dpctl: Add 'get-flow' command.

This allows users to fetch a flow by giving a particular UFID.

Usage: 'ovs-dpctl get-flow ufid:<ufid>'
Usage: 'ovs-appctl dpctl/get-flow ufid:<ufid>'

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 15281870f986ccc5037dc2089b664b6d7b0eb522
      https://github.com/openvswitch/ovs/commit/15281870f986ccc5037dc2089b664b6d7b0eb522
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-19 (Fri, 19 Dec 2014)

  Changed paths:
    M datapath/linux/compat/gre.c
    M datapath/linux/compat/include/net/gre.h
    M datapath/linux/compat/include/net/ip_tunnels.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/ip_tunnels_core.c
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath:compat: Fix build failure on old kernels.

Reported by Travis.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 475b8f065d694adad1581b562b2aa38580af28fc
      https://github.com/openvswitch/ovs/commit/475b8f065d694adad1581b562b2aa38580af28fc
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M ofproto/connmgr.c

  Log Message:
  -----------
  connmgr: Dealloc 'bundles' in ofconn_destroy().

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: b58990a668c66fae2240ce86362925a2a6dfff48
      https://github.com/openvswitch/ovs/commit/b58990a668c66fae2240ce86362925a2a6dfff48
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M lib/rconn.c

  Log Message:
  -----------
  rconn: Make OF 1.4 bundle messages 'admitted'.

Use of OF 1.4 bundle messages by a controller should indicate that the
controller has decided to use the switch, hence make is_admitted_msg()
return 'true' for them.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: be6f6393e522fecca4ff53bd2ad74db3ca1bb90e
      https://github.com/openvswitch/ovs/commit/be6f6393e522fecca4ff53bd2ad74db3ca1bb90e
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M lib/ofp-util.c
    M tests/ofp-print.at

  Log Message:
  -----------
  OF1.4 bundles: Verify xids.

A switch may optionally verify that the 'xid' of an added message is
the same as the 'xid' of the bundle add message itself.  Do it.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 7b334c5c92d56523181210a4f7d0342e0be4eeed
      https://github.com/openvswitch/ovs/commit/7b334c5c92d56523181210a4f7d0342e0be4eeed
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M ofproto/bundles.c

  Log Message:
  -----------
  bundles: Reject bundle add with bad flags.

OpenFlow 1.4 states that the switch must reject a bundle add message
whose flags are different from the ones in the bundle.  Do it.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: c25ce22d558a47d1ffc28d01f143a69c2dbcaf0d
      https://github.com/openvswitch/ovs/commit/c25ce22d558a47d1ffc28d01f143a69c2dbcaf0d
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M lib/ofp-util.c
    M tests/ofp-print.at

  Log Message:
  -----------
  bundles: Reject unbundlable messages.

Reject bundle add messages containing messages that should not be
bundled.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ba9d374a7af506414607d09d5dbe633b22ebb730
      https://github.com/openvswitch/ovs/commit/ba9d374a7af506414607d09d5dbe633b22ebb730
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M ofproto/ofproto.c

  Log Message:
  -----------
  ofproto: Reject slave controllers for bundle messages.

Slave controllers are rejected for flow and port mod messages, so they
should also be rejected for bundles (that require support at least for
flow and port mod messages).

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d56318cf92d3e88ede487bdb18fd44ec01dec9a7
      https://github.com/openvswitch/ovs/commit/d56318cf92d3e88ede487bdb18fd44ec01dec9a7
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M lib/ofp-parse.c
    M ofproto/bundles.c

  Log Message:
  -----------
  bundles: Clean up bundle commit.

This fixes ofp_bundle_commit() in two ways:

- Always remove the bundle regardless of the error condition.
- A commit of an empty bundle must be successful.

The actual commit is still not supported.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f9038ef61e0bf89bcd753b7cfd187adb112601ec
      https://github.com/openvswitch/ovs/commit/f9038ef61e0bf89bcd753b7cfd187adb112601ec
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-22 (Mon, 22 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-dpif.h
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  recirculation: Map recirc_id to ofproto_dpif.

After commit 0c7812e5e (recirculation: Do not drop packet when
there is no match from internal table.), if flow keys are modified
before the recirculation action (e.g. set vlan ID), the miss
handling of recirc'ed packets may not reach the intended
'ofproto_dpif' which has rules looking up the 'recirc_id's,
causing drops.

This commit adds an unittest that captures this bug.  Moreover,
to solve this bug, this commit checks mapping between 'recirc_id'
and the corresponding 'ofproto_dpif', and makes sure that the
miss handling of recirc'ed packets are done with the correct
'ofproto_dpif'.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Andy Zhou <azhou at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: dfba2dfcbed19a5c140f8abc1267c0874cf93d48
      https://github.com/openvswitch/ovs/commit/dfba2dfcbed19a5c140f8abc1267c0874cf93d48
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-23 (Tue, 23 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  recirculation: RCU postpone the free of dpif_backer_recirc_node.

This commit RCU postpones the free of 'struct dpif_backer_recirc_node',
after it is removed from the cmap.  This is in that other threads may
be accessing the struct at the same time.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>


  Commit: f12bfd0406950995c04f06e3730d2cf73a78bd98
      https://github.com/openvswitch/ovs/commit/f12bfd0406950995c04f06e3730d2cf73a78bd98
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-23 (Tue, 23 Dec 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  test: Fix intermittent failure.

This commit fixes the intermittent failure of test (ofproto-dpif,
balance-tcp bonding, different recirc flow), by waiting for all
bond interfaces to be enabled.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Joe Stringer <joestringer at nicira.com>


  Commit: b1b3fb138f4d5c942b69dd948963f978ee180a8f
      https://github.com/openvswitch/ovs/commit/b1b3fb138f4d5c942b69dd948963f978ee180a8f
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-23 (Tue, 23 Dec 2014)

  Changed paths:
    M datapath/linux/compat/gre.c
    M datapath/linux/compat/gso.c
    M datapath/linux/compat/gso.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath: compat: introduce ovs_iptunnel_handle_offloads()

handle offload code is replicated for different tunneling protocols
define compat function to simplify the code.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


  Commit: 93258bd717fe8d08711bca6bfc12a7825287f213
      https://github.com/openvswitch/ovs/commit/93258bd717fe8d08711bca6bfc12a7825287f213
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2014-12-23 (Tue, 23 Dec 2014)

  Changed paths:
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c
    M datapath/vport-gre.c
    M datapath/vport-lisp.c
    M datapath/vport-vxlan.c
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Simplify vport_send() error handling.

Today vport-send has complex error handling because it involves
freeing skb and updating stats depending on return value from
vport send implementation.
This can be simplified by delegating responsibility of freeing
skb to the vport implementation for all cases. So that
vport-send needs just update stats.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


  Commit: 0578c74f3c40154e3caa87d8ebf52961420ba281
      https://github.com/openvswitch/ovs/commit/0578c74f3c40154e3caa87d8ebf52961420ba281
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-23 (Tue, 23 Dec 2014)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  Warn the free of 'recirc_id' by wrong 'ofproto'.

Issues a ERR log when the 'recirc_id' is not freed by the
owning 'ofproto'.

Signed-off-by: Alex Wang <alexw at nicira.com>


  Commit: a1f42a528104f85bca4d7431b5103f7ae7d99d9b
      https://github.com/openvswitch/ovs/commit/a1f42a528104f85bca4d7431b5103f7ae7d99d9b
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2014-12-24 (Wed, 24 Dec 2014)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto-dpif.at: Avoid using GNU sed extensions

Introduced by commit f9038ef61e0bf89bcd753b7cfd187adb112601ec.
("recirculation: Map recirc_id to ofproto_dpif.")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: b19befaef27dddd7fb76cb3a547f9c972cafe9e7
      https://github.com/openvswitch/ovs/commit/b19befaef27dddd7fb76cb3a547f9c972cafe9e7
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-30 (Tue, 30 Dec 2014)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Add function to get pmd using core id.

This commit adds the function dp_netdev_get_pmd() which allows
users to get 'struct dp_netdev_pmd_thread' based on the core id.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 9da2564e2bfa4ffc5a05552630ce2aca00a521c9
      https://github.com/openvswitch/ovs/commit/9da2564e2bfa4ffc5a05552630ce2aca00a521c9
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-30 (Tue, 30 Dec 2014)

  Changed paths:
    M lib/ovs-numa.c
    M lib/ovs-numa.h

  Log Message:
  -----------
  ovs-numa: Refine the module.

This commit refines the ovs-numa module by eliminating
duplicated codes and exposing API for dumping the cores
on numa node.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 1c1e46ed8457fae3621e3ec1a9ac487f20a39561
      https://github.com/openvswitch/ovs/commit/1c1e46ed8457fae3621e3ec1a9ac487f20a39561
  Author: Alex Wang <alexw at nicira.com>
  Date:   2014-12-30 (Tue, 30 Dec 2014)

  Changed paths:
    M lib/dpctl.c
    M lib/dpif-netdev.c
    M lib/dpif-netlink.c
    M lib/dpif.c
    M lib/dpif.h
    M ofproto/ofproto-dpif-upcall.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  dpif-netdev: Add per-pmd flow-table/classifier.

This commit changes the per dpif-netdev datapath flow-table/
classifier to per pmd-thread.  As direct benefit, datapath
and flow statistics no longer need to be protected by mutex
or be declared as per-thread variable, since they are only
written by the owning pmd thread.

As side effects, the flow-dump output of userspace datapath
can contain overlapping flows.  To reduce confusion, the dump
from different pmd thread will be separated by a title line.
In addition, the flow operations via 'ovs-appctl dpctl/*'
are modified so that if the given flow in_port corresponds
to a dpdk interface, the operation will be conducted to all
pmd threads recv from that interface (expect for flow-get
which will always be applied to non-pmd threads).

Signed-off-by: Alex Wang <alexw at nicira.com>
Tested-by: Mark D. Gray <mark.d.gray at intel.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: eda457f1a0d17bfa9a4c46e179f12a83b5a86edf
      https://github.com/openvswitch/ovs/commit/eda457f1a0d17bfa9a4c46e179f12a83b5a86edf
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2014-12-31 (Wed, 31 Dec 2014)

  Changed paths:
    M datapath-windows/ovsext/Actions.c
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: Cleanup OVS

Removed duplicate include of "Switch.h" header.
Removed useless usage of UNREFERENCED_PARAMETER macro for a
referenced parameter.
Added debug logs for dropped packets.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 57966ba360fcdc04ba3410c6e296300a2e8a6f64
      https://github.com/openvswitch/ovs/commit/57966ba360fcdc04ba3410c6e296300a2e8a6f64
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2015-01-01 (Thu, 01 Jan 2015)

  Changed paths:
    M datapath-windows/ovsext/TunnelFilter.c

  Log Message:
  -----------
  datapath-windows: Release WFP allocated objects

Filter and sublayer WFP objects are created when the filter attach routine
is called and the tunnel filter is initialized, and they are released
in the uninitialize part. But the release part is done indirectly, through
the FwpmEngineClose function call which releases the latter objects when
the tunnel is uninitialized at filter detach.

We need to properly release the created objects and not rely that
FwpmEngineClose function does this for us, because if we decide to keep
the engine opened passed the filter detach those objects will continue to
exist.

Even though the FwpmEngineClose function releases the latter objects, we
still need this and the reason will became obvious in the next patch.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 849222ddd5d83cc23ffa762628d0f1c479550246
      https://github.com/openvswitch/ovs/commit/849222ddd5d83cc23ffa762628d0f1c479550246
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-01 (Thu, 01 Jan 2015)

  Changed paths:
    M vtep/vtep.xml

  Log Message:
  -----------
  vtep: Document rationale for the 'switches' column in the Global table.

At first glance it wasn't obvious why there was the possibility for more
than one switch.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 3d2912f20e35910f8224eb6ed7598c87edd3b2ad
      https://github.com/openvswitch/ovs/commit/3d2912f20e35910f8224eb6ed7598c87edd3b2ad
  Author: Neil McKee <neil.mckee at inmon.com>
  Date:   2015-01-01 (Thu, 01 Jan 2015)

  Changed paths:
    M NEWS
    M lib/sflow.h
    M lib/sflow_receiver.c
    M ofproto/ofproto-dpif-sflow.c

  Log Message:
  -----------
  sflow: Export OVS datapath performance counters via sFlow.

The OVS cache hit/miss counters and memory/CPU usage statistics have been
identified as important metrics when managing large deployments. This patch
allows them to be pushed periodically as part of the sFlow feed,  and
represents a more efficient and scalable alternative to polling via
ovs-dpctl(1).

Signed-off-by: Neil McKee <neil.mckee at inmon.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6e72c8f755e96bfd396f8bdcacd5e14e4a7610da
      https://github.com/openvswitch/ovs/commit/6e72c8f755e96bfd396f8bdcacd5e14e4a7610da
  Author: Mijo Safradin <mijo at linux.vnet.ibm.com>
  Date:   2015-01-02 (Fri, 02 Jan 2015)

  Changed paths:
    M .gitignore
    M AUTHORS

  Log Message:
  -----------
  gitignore: Ignore coverage data files.

Add coverage specific data files to gitignore.

Signed-off-by: Mijo Safradin <mijo at linux.vnet.ibm.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5dc7516b6a9e26f32d5f60f3b0b32126fad843c1
      https://github.com/openvswitch/ovs/commit/5dc7516b6a9e26f32d5f60f3b0b32126fad843c1
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-02 (Fri, 02 Jan 2015)

  Changed paths:
    M AUTHORS
    M ofproto/ofproto.c
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Omit hidden tables from "next tables".

Hidden tables are intended to be concealed from OpenFlow, but their
presence leaked through the "next tables" and "instructions" in the OF1.3+
table features reply.  This fixes the problem.

Reported-by: "Ronaldo A. Ferreira" <ronaldof at CS.Princeton.EDU>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 1368af0c854030791376f3d235e630f129c0cd8a
      https://github.com/openvswitch/ovs/commit/1368af0c854030791376f3d235e630f129c0cd8a
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-01-04 (Sun, 04 Jan 2015)

  Changed paths:
    M lib/odp-execute.c

  Log Message:
  -----------
  FreeBSD: Fix build failure.

This commit fixes an include dependency for header ip6.h, on
FreeBSD.  Without this commit, the gmake of ovs master on
FreeBSD will result in the following error.

/usr/include/netinet/ip6.h:82: error: field 'ip6_src' has incomplete type
/usr/include/netinet/ip6.h:83: error: field 'ip6_dst' has incomplete type

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 6c3cc113824002b079098843dc5a93522ae623bd
      https://github.com/openvswitch/ovs/commit/6c3cc113824002b079098843dc5a93522ae623bd
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2015-01-05 (Mon, 05 Jan 2015)

  Changed paths:
    M .travis.yml
    M .travis/build.sh

  Log Message:
  -----------
  travis: support versioning of DPDK and options to specify git repo and tag

Use DPDK_VER to specify the version of DPDK, and DPDK_GIT to specify
the URL of the DPDK git repository.

Both flags require "DPDK=1" and "--with-dpdk" shall no longer be
specified as part of "OPTS" environment.

Example uses:

- skip both flags to use v1.7.1 tarball from dpdk.org as before:
    KERNEL=3.17.4 DPDK=1

- specify DPDK_VER only to use a version of tarball from dpdk.org:
    KERNEL=3.17.4 DPDK=1 DPDK_VER=1.7.1

- specify both DPDK_VER and DPDK_GIT to check out the tag "v$DPDK_VER"
  from the git repository "$DPDK_GIT":
    KERNEL=3.18 DPDK=1 DPDK_VER=1.7.1sp1 DPDK_GIT=https://github.com/shushen/dpdk

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 1ce96d2a729ea9735345f92f9c347b902b43d6d6
      https://github.com/openvswitch/ovs/commit/1ce96d2a729ea9735345f92f9c347b902b43d6d6
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-05 (Mon, 05 Jan 2015)

  Changed paths:
    M .gitignore
    M INSTALL.md
    M Makefile.am
    A Vagrantfile.in
    M configure.ac

  Log Message:
  -----------
  vagrant: Provide basic Vagrantfile

This is a basic Vagrantfile which compiles and provisions the local OVS
source tree in a Fedora 20 VM. The Vagrantfile.in can be extended to
support additional distributions.

To use this Vagrantfile:
 1. Install Vagrant plus a compatible hypervisor
 2. Run configure to translate Vagrantfile.in to Vagrantfile
 3. Run `vagrant up` to create & provision the VM
 4. Run `vagrant ssh` to log into the VM

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Kyle Mestery <mestery at mestery.com>


  Commit: 1fdbfd4e9883ca6cb98307dc1a859011ae101472
      https://github.com/openvswitch/ovs/commit/1fdbfd4e9883ca6cb98307dc1a859011ae101472
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-01-05 (Mon, 05 Jan 2015)

  Changed paths:
    M utilities/ovs-command-compgen.bash

  Log Message:
  -----------
  ovs-command-compgen: Avoid using GNU sed extensions.

This commit changes '\?' to '\{0,1\}' to avoid using GNU
sed extension.

Found by using the script in FreeBSD.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: be92b251bc578c8bbfdc88401a27c0343a144a80
      https://github.com/openvswitch/ovs/commit/be92b251bc578c8bbfdc88401a27c0343a144a80
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Debug.h
    M datapath-windows/ovsext/Switch.c
    M datapath-windows/ovsext/Switch.h
    M datapath-windows/ovsext/TunnelFilter.c
    M datapath-windows/ovsext/TunnelIntf.h

  Log Message:
  -----------
  datapath-windows: Add a WFP system provider

This patch was enforced by the WHCK logo testing. In order to pass the
Windows Filtering Platform tests we need to add a persistent system
provider.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/65
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c598aa63c5711a766cf7f82474ab60e4e7d87019
      https://github.com/openvswitch/ovs/commit/c598aa63c5711a766cf7f82474ab60e4e7d87019
  Author: Alin Serdean <aserdean at cloudbasesolutions.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M datapath-windows/ovsext/Flow.c

  Log Message:
  -----------
  datapath-windows: set the nlBuf tail properly

Move the the tail of the netlink buffer accordingly to the input data.
Currently _MapFlowStatsToNlStats overrides the netlink header information.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9e917416f87a18e9deb2480f32a4ff9c0f9d194c
      https://github.com/openvswitch/ovs/commit/9e917416f87a18e9deb2480f32a4ff9c0f9d194c
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M datapath/flow.c
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Consistently include VLAN header in flow and port stats.

Until now, when VLAN acceleration was in use, the bytes of the VLAN header
were not included in port or flow byte counters.  They were however
included when VLAN acceleration was not used.  This commit corrects the
inconsistency, by always including the VLAN header in byte counters.

Previous discussion at
http://openvswitch.org/pipermail/dev/2014-December/049521.html

Already committed to upstream Linux netdev tree as
24cc59d1ebaac54d933dc0b30abcd8bd86193eef.

Reported-by: Motonori Shindo <mshindo at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Reviewed-by: Flavio Leitner <fbl at sysclose.org>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 3fbbcba77615e6f14d0ee4f8d40b9b4838c2ac20
      https://github.com/openvswitch/ovs/commit/3fbbcba77615e6f14d0ee4f8d40b9b4838c2ac20
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M ofproto/connmgr.c
    M ofproto/connmgr.h
    M ofproto/fail-open.c
    M ofproto/fail-open.h
    M ofproto/in-band.c
    M ofproto/in-band.h
    M ofproto/ofproto.c
    M tests/ofproto.at

  Log Message:
  -----------
  ofproto: Don't count hidden rules in table stats.

The hidden rules created by in-band control and fail-open should not be
included in the table stats reported via OpenFlow.  I seem to recall that
this was done correctly in some previous version but it has broken since
then.  This commit fixes the problem and adds a test that should make it
harder to break again in the future.

Reported-by: Ashok Chippa <a.n.chippa at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: b2623fdbb31570e7e3e39ac9c074b0978b4dd2dc
      https://github.com/openvswitch/ovs/commit/b2623fdbb31570e7e3e39ac9c074b0978b4dd2dc
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Do not allow recirc_id freed by non-owning ofproto.

This commit changes the VLOG_ERR (for warning unmatched ofproto)
in ofproto_dpif_free_recirc_id() to an assert statement, so that
recirc_id is never allowed to be freed by non-owning ofproto.

Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4ad07ad7c142207a5fc69ffafcb63601d82dd755
      https://github.com/openvswitch/ovs/commit/4ad07ad7c142207a5fc69ffafcb63601d82dd755
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M lib/hash.c
    M lib/hash.h

  Log Message:
  -----------
  hash: Make basis of hash_words64() 32 bits.

The basis of hash_words64() was 64 bits, even when the hash value is
32 bits, thus confusing the domain and the range of the function.
This patch fixes this by making the basis an uint32_t.

Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: aae7c34f0406569d1eaf574ec6e4e34b15f5bc78
      https://github.com/openvswitch/ovs/commit/aae7c34f0406569d1eaf574ec6e4e34b15f5bc78
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M lib/classifier-private.h
    M lib/dpif-netdev.c
    M lib/hash.h

  Log Message:
  -----------
  hash: Add hash_add64().

Add support for adding 64-bit words to hashes.  This will be used by
subsequent patches.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d70e8c28f992c0d8c2918aa0733b935ce1a0caed
      https://github.com/openvswitch/ovs/commit/d70e8c28f992c0d8c2918aa0733b935ce1a0caed
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/dpif-netdev.c
    M lib/flow.c
    M lib/flow.h
    M lib/match.c
    M lib/nx-match.c
    M lib/odp-util.h
    M lib/ofp-util.c
    M lib/tnl-ports.c
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto.c
    M tests/ofproto-dpif.at
    M tests/test-classifier.c

  Log Message:
  -----------
  miniflow: Use 64-bit data.

So far the compressed flow data in struct miniflow has been in 32-bit
words with a 63-bit map, allowing for a maximum size of struct flow of
252 bytes.  With the forthcoming Geneve options this is not sufficient
any more.

This patch solves the problem by changing the miniflow data to 64-bit
words, doubling the flow max size to 504 bytes.  Since the word size
is doubled, there is some loss in compression efficiency.  To counter
this some of the flow fields have been reordered to keep related
fields together (e.g., the source and destination IP addresses share
the same 64-bit word).

This change should speed up flow data processing on 64-bit CPUs, which
may help counterbalance the impact of making the struct flow bigger in
the future.

Classifier lookup stage boundaries are also changed to 64-bit
alignment, as the current algorithm depends on each miniflow word to
not be split between ranges.  This has resulted in new padding (part
of the 'mpls_lse' field).

The 'dp_hash' field is also moved to packet metadata to eliminate
otherwise needed padding there.  This allows the L4 to fit into one
64-bit word, and also makes matches on 'dp_hash' more efficient as
misses can be found already on stage 1.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f066424208924681f5ef8fb1e7cb7b33ba74f026
      https://github.com/openvswitch/ovs/commit/f066424208924681f5ef8fb1e7cb7b33ba74f026
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M Makefile.am
    M REPORTING-BUGS.md
    A SECURITY.md

  Log Message:
  -----------
  SECURITY: New document describing proposed security process for OVS.

Open vSwitch needs some kind of process for handling vulnerabilities.  So
far, we've been pretty lucky that way, but it can't last forever, and I
think we'll be better off if we have at least the outline of an established
process whenever a significant vulnerability comes along.  Here's my draft
of a process based on the documentation of the OpenStack process at
https://wiki.openstack.org/wiki/Vulnerability_Management.

I don't have a lot of experience with this kind of thing myself, so I'd
appreciate critical review from anyone who does.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Reviewed-by: Flavio Leitner <fbl at redhat.com>
Acked-by: Justin Pettit <jpettit at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 1f649f1c8d4e86e0b28baf1a9508f3ed09bd3d34
      https://github.com/openvswitch/ovs/commit/1f649f1c8d4e86e0b28baf1a9508f3ed09bd3d34
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M acinclude.m4
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/linux/compat/gso.c
    M datapath/linux/compat/include/linux/if_vlan.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c
    M datapath/vport-gre.c
    M datapath/vport-internal_dev.c

  Log Message:
  -----------
  datapath: Account for rename to vlan_insert_tag_set_proto()

__vlan_put_tag() was renamed to vlan_insert_tag_set_proto() with
the argument list kept intact.

Upstream: 62749e ("vlan: rename __vlan_put_tag to vlan_insert_tag_set_proto")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 17e3889fd18078784ad8e49c12ba2806b49c5b53
      https://github.com/openvswitch/ovs/commit/17e3889fd18078784ad8e49c12ba2806b49c5b53
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/linux/if_vlan.h

  Log Message:
  -----------
  datapath: Add __vlan_insert_tag() compat helper if not available

Since older kernels do not have skb->vlan_proto, it is assumed that
kernels which don't provide their own __vlan_insert_tag() will also
not have skb->vlan_proto. The backwards compat function therefore
only supports ETH_P_8021Q as the protocol type.

Upstream: 15255a43 ("vlan: introduce __vlan_insert_tag helper which does not free skb")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 5cce04b6f6527f4de2a71e22a4dc968a4c147d13
      https://github.com/openvswitch/ovs/commit/5cce04b6f6527f4de2a71e22a4dc968a4c147d13
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M acinclude.m4
    M datapath/actions.c
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/skbuff-openvswitch.c

  Log Message:
  -----------
  datapath: move make_writable helper into common code

note that skb_make_writable already exists in net/netfilter/core.c
but does something slightly different.

Upstream: e219512 ("net: move make_writable helper into common code")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 97894370f506b0528dc223152bdb72aaa39bfc06
      https://github.com/openvswitch/ovs/commit/97894370f506b0528dc223152bdb72aaa39bfc06
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M acinclude.m4
    M datapath/actions.c
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/skbuff-openvswitch.c

  Log Message:
  -----------
  datapath: move vlan pop/push functions into common code

So it can be used from out of openvswitch code.
Did couple of cosmetic changes on the way, namely variable naming and
adding support for 8021AD proto.

Note on backwards compatability:
Unlike the upstream version, the backport of skb_vlan_push() does not
support translating a hardware accelerated 8021AD tag to software.
This is not a problem though as it preserves existing behaviour.

Upstream: 93515d53 ("net: move vlan pop/push functions into common code")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 5282e284ac575f52c19c89b1ffc392a181b3fa2b
      https://github.com/openvswitch/ovs/commit/5282e284ac575f52c19c89b1ffc392a181b3fa2b
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M datapath/datapath.c
    M datapath/vport-internal_dev.c
    M datapath/vport-internal_dev.h

  Log Message:
  -----------
  datapath: introduce rtnl ops stub

This stub now allows userspace to see IFLA_INFO_KIND for ovs master and
IFLA_INFO_SLAVE_KIND for slave.

Upstream: 5b9e7e16 ("openvswitch: introduce rtnl ops stub")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 1dfb9f31f33e7e01944163d43a0e095ddd8dd31e
      https://github.com/openvswitch/ovs/commit/1dfb9f31f33e7e01944163d43a0e095ddd8dd31e
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M acinclude.m4
    M datapath/flow_table.c
    M datapath/linux/Modules.mk
    R datapath/linux/compat/hash-x86.c
    R datapath/linux/compat/hash.c
    R datapath/linux/compat/include/asm/hash.h
    R datapath/linux/compat/include/linux/hash.h

  Log Message:
  -----------
  datapath: replace remaining users of arch_fast_hash with jhash

This patch effectively reverts commit 500f80872645 ("net: ovs: use CRC32
accelerated flow hash if available"), and other remaining arch_fast_hash()
users such as from nfsd via commit 6282cd565553 ("NFSD: Don't hand out
delegations for 30 seconds after recalling them.") where it has been used
as a hash function for bloom filtering.

While we think that these users are actually not much of concern, it has
been requested to remove the arch_fast_hash() library bits that arose
from [1] entirely as per recent discussion [2]. The main argument is that
using it as a hash may introduce bias due to its linearity (see avalanche
criterion) and thus makes it less clear (though we tried to document that)
when this security/performance trade-off is actually acceptable for a
general purpose library function.

Lets therefore avoid any further confusion on this matter and remove it to
prevent any future accidental misuse of it. For the time being, this is
going to make hashing of flow keys a bit more expensive in the ovs case,
but future work could reevaluate a different hashing discipline.

  [1] https://patchwork.ozlabs.org/patch/299369/
  [2] https://patchwork.ozlabs.org/patch/418756/

Upstream: 8754589 ("net: replace remaining users of arch_fast_hash with jhash")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 7ab1a0d8e3851067366f2af22b9aec87cd7083bc
      https://github.com/openvswitch/ovs/commit/7ab1a0d8e3851067366f2af22b9aec87cd7083bc
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-vxlan.c

  Log Message:
  -----------
  datapath: Account for new flags args of vxlan_sock_add()

The upstream commit 359a0ea
("vxlan: Add support for UDP checksums (v4 sending, v6 zero csums)")
has introduced a new flags argument to vxlan_sock_add().

OVS does not pass any flags at this point, thus specyfing 0 will be
compatible with both the old ipv6 bool and the new u32 flags argument.

Upstream: 359a0ea ("vxlan: Add support for UDP checksums (v4 sending, v6 zero csums)")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 0234d90b8bba353b9c17707aa898dfcfec035bd9
      https://github.com/openvswitch/ovs/commit/0234d90b8bba353b9c17707aa898dfcfec035bd9
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  travis: Update build matrix to include latest stable kernels

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: e9e85443fb72bcbceedc9a7e5d0c9b32ae0f3dad
      https://github.com/openvswitch/ovs/commit/e9e85443fb72bcbceedc9a7e5d0c9b32ae0f3dad
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M INSTALL.md

  Log Message:
  -----------
  INSTALL.md: Split building steps to allow refs

There are other parts of the document that needs to
reference some building steps.  Instead of copying
and explaining again, this patch splits the building
section in three sections that can be referenced.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: bb6c5fad2458a47b4bed35ebd9188224ff1968f2
      https://github.com/openvswitch/ovs/commit/bb6c5fad2458a47b4bed35ebd9188224ff1968f2
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M SECURITY.md

  Log Message:
  -----------
  SECURITY.md: contributors must agree to confidentiality

There is no point in having the special process if a
contributor refuses or doesn't agree with the
confidentiality terms.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 48beaa8575378db40b41d0bafd90185b36368146
      https://github.com/openvswitch/ovs/commit/48beaa8575378db40b41d0bafd90185b36368146
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M SECURITY.md

  Log Message:
  -----------
  SECURITY.md: disclosure date can be negotiated

Stakeholders might need extra time to provide the update,
so let's leave it open to negotiate case by case with the
final word on the Open vSwitch security team's hands.  A
default policy is provided as a reference.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: bc57376a65facb441f4942170d92c2431aa0d180
      https://github.com/openvswitch/ovs/commit/bc57376a65facb441f4942170d92c2431aa0d180
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M SECURITY.md

  Log Message:
  -----------
  SECURITY.md: LTS branches triggers version release

The release cycle is in order of months currently, so when a
security fix is applied to LTS (long-term support) branches,
it is recommended to release a new version.

The idea is to keep the latest LTS tarball less vulnerable.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 70fbe3756eb0c493e234a111fb1128dbfb54d5c2
      https://github.com/openvswitch/ovs/commit/70fbe3756eb0c493e234a111fb1128dbfb54d5c2
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M lib/odp-util.c

  Log Message:
  -----------
  odp-util: Reuse standard delimiters.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d0c4f1dcd83e69c611153dc0184a6ae7ccb2ece9
      https://github.com/openvswitch/ovs/commit/d0c4f1dcd83e69c611153dc0184a6ae7ccb2ece9
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M lib/dpctl.man

  Log Message:
  -----------
  ovs-dpctl: Minor manpages fixes.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 8ae8176fd0d8ed919e3301cc961dcf02b65ff49d
      https://github.com/openvswitch/ovs/commit/8ae8176fd0d8ed919e3301cc961dcf02b65ff49d
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Make test independent of the hash function.

Otherwise compiling with -msse4.2 (or -march=native on a SSE4.2
capable CPU) will produce a test failure due to the CRC32-based hash
function being different from mhash.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4c75aaabb15389ddc9ec76e23f09d9282648dc13
      https://github.com/openvswitch/ovs/commit/4c75aaabb15389ddc9ec76e23f09d9282648dc13
  Author: Ethan Jackson <ethan at nicira.com>
  Date:   2015-01-07 (Wed, 07 Jan 2015)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Fix rare flow add race condition.

Before this patch, dp_netdev_flow_add() inserted newly minted flows in
the "flow_table" cmap before inserting them into the per core "dpcls"
classifier.  Since dpcls_insert() initializes 'flow->cr.mask', there's
a brief window where the flow is accessible from the cmap, but has a
bogus mask value.

In my testing, under rare instances (i.e. once every 20 minutes with a
very specific flow table and traffic pattern), revalidators core dump
when they call dpif_netdev_flow_dump_next(), which accesses this bogus
mask value from dp_netdev_flow_to_dpif_flow().

By inserting into the per core classifier before the cmap, all the
values are guaranteed to be initialized during flow dumps.  With this
patch, I can no longer reproduce the crash.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: d5460484c3708d048270f8601d64e8f1a573b357
      https://github.com/openvswitch/ovs/commit/d5460484c3708d048270f8601d64e8f1a573b357
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M NEWS
    M include/openvswitch/vlog.h
    M lib/vlog-syn.man
    M lib/vlog-unixctl.man
    M lib/vlog.c
    M lib/vlog.man
    M python/ovs/vlog.py
    M tests/test-reconnect.c
    M tests/test-vconn.c
    M tests/vlog.at
    M utilities/nlmon.c
    M utilities/ovs-appctl.8.in
    M utilities/ovs-appctl.c
    M utilities/ovs-benchmark.c
    M utilities/ovs-command-compgen-test.bash
    M utilities/ovs-vsctl.c
    M vtep/vtep-ctl.c

  Log Message:
  -----------
  vlog: Rename the currently used term 'facility' as 'destination'.

In OVS, we currently use the term 'facility' to mean the place
where we log (syslog, console or file). In Linux's syslog() and
rfc5424, the term 'facility' is used to specify what type of program
is logging the message (e.g: LOG_DAEMON). This causes confusion
while reading vlog's code. This commit changes the term 'facility'
to 'destination'.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: b56b2566417dd436e768394c12b030019d2dc101
      https://github.com/openvswitch/ovs/commit/b56b2566417dd436e768394c12b030019d2dc101
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M .gitignore
    M INSTALL.md
    M Makefile.am
    A Vagrantfile
    R Vagrantfile.in
    M configure.ac

  Log Message:
  -----------
  vagrant: switch to use out of tree build

Vagrant shared folder, at least on the default virtual box, does not
support the creation of the socket files. If one were to build OVS
under /vagrant, 'make check' would not work.

Out of tree builds can be used to work around this issue.
See Install.md for instructions.

Since out of tree builds requires a clean source tree, Vagrantfile can
not be a generated file. This commit removes Vagrantfile.in, commit
Vagrantfile instead.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: ecf68fa449355e28c1d87d3e1d68f40e1603e980
      https://github.com/openvswitch/ovs/commit/ecf68fa449355e28c1d87d3e1d68f40e1603e980
  Author: Motonori Shindo <motonori at shin.do>
  Date:   2015-01-09 (Fri, 09 Jan 2015)

  Changed paths:
    M Vagrantfile

  Log Message:
  -----------
  vagrant: make sure to bootstrap before configure_ovs.

The order of execution in Vagrantfile is "outside-in" meaning that
all commands in outer scope are executed first and then the commands
in inner scope. Because of this ordering, "configure_ovs" is executed
before "bootstrap_fedora", resulting in "configure_ovs" to fail as
it is not bootsrapped yet. This change fixes this problem by removing
the nested scope in Vagrant.configure block. Multi-machine is not used
so we don't need config.vm.define block.

Signed-off-by: Motonori Shindo <motonori at shin.do>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: d06c1ff8ea022f616fbb47b756a29964be037a97
      https://github.com/openvswitch/ovs/commit/d06c1ff8ea022f616fbb47b756a29964be037a97
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M Vagrantfile

  Log Message:
  -----------
  vagrant: Build kernel module RPM

Installs the kernel-devel package of the currently running kernel and
builds the kmod RPM in the "install_rpm" phase.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: ae99ee4554db1ede9aadef5ee8d3e7c8e7303feb
      https://github.com/openvswitch/ovs/commit/ae99ee4554db1ede9aadef5ee8d3e7c8e7303feb
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-11 (Sun, 11 Jan 2015)

  Changed paths:
    M FAQ.md

  Log Message:
  -----------
  FAQ.md: Describe OpenFlow packet buffering.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 2e0bded4b44e671a06c8ceb97fc785778cc49458
      https://github.com/openvswitch/ovs/commit/2e0bded4b44e671a06c8ceb97fc785778cc49458
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-11 (Sun, 11 Jan 2015)

  Changed paths:
    M lib/classifier.c
    M lib/classifier.h
    M lib/tnl-ports.c
    M lib/tnl-ports.h
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  classifier: Make classifier_lookup() 'flow' parameter non-const.

An upcoming commit will make classifier_lookup() sometimes modify its
'flow' argument temporarily during the lookup.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
---
v2: New patch.
v2.1: Rebase.
v3: Rebase.


  Commit: 18080541d2768c17c17711c35b4d4a23ab3e4153
      https://github.com/openvswitch/ovs/commit/18080541d2768c17c17711c35b4d4a23ab3e4153
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-11 (Sun, 11 Jan 2015)

  Changed paths:
    M NEWS
    M lib/classifier-private.h
    M lib/classifier.c
    M lib/classifier.h
    M lib/flow.c
    M lib/flow.h
    M lib/match.c
    M lib/match.h
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/nx-match.c
    M lib/odp-util.h
    M lib/ofp-actions.c
    M lib/ofp-actions.h
    M lib/ofp-errors.h
    M lib/ofp-util.c
    M lib/ovs-router.c
    M lib/tnl-ports.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto.c
    M tests/classifier.at
    M tests/ofproto.at
    M tests/test-classifier.c
    M utilities/ovs-ofctl.8.in
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  classifier: Add support for conjunctive matches.

A "conjunctive match" allows higher-level matches in the flow table, such
as set membership matches, without causing a cross-product explosion for
multidimensional matches.  Please refer to the documentation that this
commit adds to ovs-ofctl(8) for a better explanation, including an example.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 91496302bd818aa2b69598cc338a76c4d4c9e2ad
      https://github.com/openvswitch/ovs/commit/91496302bd818aa2b69598cc338a76c4d4c9e2ad
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-11 (Sun, 11 Jan 2015)

  Changed paths:
    M lib/netlink.c
    M lib/netlink.h

  Log Message:
  -----------
  netlink: Refine calculation of maximum-length attributes.

Until now the Netlink code has considered an attribute to exceed the
maximum length if the *padded* size of the attribute exceeds 65535 bytes.
For example, an attribute with a 65529-byte payload, together with 4-byte
header and 3 bytes of padding, takes up 65536 bytes and therefore the
existing code rejected it.

However, the restriction on Netlink attribute sizes is to ensure that the
length fits in the 16-bit nla_len field.  This field includes the 4-byte
header but not the padding, so a 65529-byte payload is acceptable because,
with the header but not the padding, it comes to only 65533 bytes.

Thus, this commit relaxes the restriction on Netlink attribute sizes by
omitting padding from size checks.  It also changes one piece of code that
inlined a size check to use the central function nl_attr_oversized().

This change should fix an assertion failure when OVS userspace passes a
maximum-size (65529+ byte) packet back to the kernel.

Reported-by: Shuping Cui <scui at redhat.com>
Reported-by: Jiri Benc <jbenc at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


  Commit: 0f3358ea4227bce79580870f139c82c9a5cfe75d
      https://github.com/openvswitch/ovs/commit/0f3358ea4227bce79580870f139c82c9a5cfe75d
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-11 (Sun, 11 Jan 2015)

  Changed paths:
    M lib/dpif-netlink.c

  Log Message:
  -----------
  dpif-netlink: Drop oversized packets instead of assert-failing.

A packet sent to a Netlink datapath has to fit within a Netlink attribute.
Until now, this was only checked in an assertion inside the Netlink code,
which meant that trying to send a too-large packet (approximate 64 kB or
larger) would assert-fail.  It's better to just drop those packets, which
this commit does.

Reported-by: Shuping Cui <scui at redhat.com>
Reported-by: Jiri Benc <jbenc at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


  Commit: 04009853bbad2220e6864429b135bdc51539a621
      https://github.com/openvswitch/ovs/commit/04009853bbad2220e6864429b135bdc51539a621
  Author: Amit Bose <bose at noironetworks.com>
  Date:   2015-01-12 (Mon, 12 Jan 2015)

  Changed paths:
    M lib/libopenvswitch.pc.in
    M lib/libsflow.pc.in
    M ofproto/libofproto.pc.in
    M ovsdb/libovsdb.pc.in

  Log Message:
  -----------
  pkg-config: Fix Cflags in package-config files

Cflags in pkg-config files sets the include path to $PREFIX/openflow,
$PREFIX/openvswitch. This makes the including source files use the files
like
  include <util.h>
instead of
  include <openvswitch/util.h>

Signed-off-by: Amit Bose <bose at noironetworks.com>


  Commit: 27a79a4422ae4b0331aa3700d311e023a162ad22
      https://github.com/openvswitch/ovs/commit/27a79a4422ae4b0331aa3700d311e023a162ad22
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-12 (Mon, 12 Jan 2015)

  Changed paths:
    M m4/openvswitch.m4

  Log Message:
  -----------
  configure: Omit -O2 from CFLAGS when configuring with --enable-coverage.

CFLAGS follows OVS_CFLAGS in the compiler command line, and should, so that
the user can override any automatically determined compiler options.  That
means that the -O0 that the code here added to OVS_CFLAGS didn't really
have any effect since CFLAGS by default includes "-O2".  However, we do
really want to disable optimizations (because the coverage reports are hard
to interpret with optimizations), so this commit changes the configure
script to edit out -O2 from CFLAGS, leaving any other default or
user-specified options.

Reported-by: Mijo Safradin <mijo at linux.vnet.ibm.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c246d91860086dfb6564a3ba75135f5761cd94f1
      https://github.com/openvswitch/ovs/commit/c246d91860086dfb6564a3ba75135f5761cd94f1
  Author: Thomas F Herbert <thomasfherbert at entpnt.com>
  Date:   2015-01-12 (Mon, 12 Jan 2015)

  Changed paths:
    M datapath/linux/compat/include/linux/if_vlan.h

  Log Message:
  -----------
  datapath: Bug setting vlan tci in compat function

This patch fixes a bug when pushing vlans. It causes vlans to be transmitted with
the TPID instead of the tci on the inner vlan.

Signed-off-by: Thomas F Herbert <thomasfherbert at entpnt.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a445a8d8811a565c5a86f326744b3489921c844f
      https://github.com/openvswitch/ovs/commit/a445a8d8811a565c5a86f326744b3489921c844f
  Author: Amit Bose <bose at noironetworks.com>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M include/openvswitch/vconn.h
    M lib/vconn-provider.h
    M lib/vconn.c

  Log Message:
  -----------
  vconn: Avoid using C++ keyword 'class' as variable name in headers

Signed-off-by: Amit Bose <bose at noironetworks.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: b13bfc3c11d7c20d6a7cc85104e015adc7f78892
      https://github.com/openvswitch/ovs/commit/b13bfc3c11d7c20d6a7cc85104e015adc7f78892
  Author: Andrew Kampjes <a.kampjes at gmail.com>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M AUTHORS
    M SECURITY.md

  Log Message:
  -----------
  SECURITY.md: Update.

Add bit about reporting vulns with GPG.
Add generalised rules for vulnerabilties.

Signed-off-by: Andrew Kampjes <a.kampjes at gmail.com>
[blp at nicira.com edited and removed text about not using public lists]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 88cc95c1c66078dd81d18a32a90c45736d6e52f5
      https://github.com/openvswitch/ovs/commit/88cc95c1c66078dd81d18a32a90c45736d6e52f5
  Author: Pritesh Kothari <pritesh.kothari at cisco.com>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M NEWS
    M lib/meta-flow.c
    M lib/meta-flow.h
    M tests/ofproto.at

  Log Message:
  -----------
  ipv6: Add support for setting ipv6 flow label.

IPv6 Flow Label is currently read only. This patch adds support
to allow actions like actions=set_field:0x12345->ipv6_label.

The change to mf_set_flow_value() is a bug fix, but the bug was
not visible before the flow label was modifiable.

Signed-off-by: Pritesh Kothari <pritesh.kothari at cisco.com>
[blp at nicira.com added an item to NEWS]
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ed5c51108ce7f809da953a74fd07d5c30b271972
      https://github.com/openvswitch/ovs/commit/ed5c51108ce7f809da953a74fd07d5c30b271972
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M FAQ.md

  Log Message:
  -----------
  FAQ: Explain how to quickly add many ports.

This comes up from time to time.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: e60e935b1f37058e8a3e1a57d6a8fdd566df304c
      https://github.com/openvswitch/ovs/commit/e60e935b1f37058e8a3e1a57d6a8fdd566df304c
  Author: Sharo, Randall A CIV SPAWARSYSCEN-ATLANTIC, 55200 <randall.sharo at navy.mil>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M AUTHORS
    M NEWS
    M lib/csum.c
    M lib/csum.h
    M lib/meta-flow.h
    M lib/odp-execute.c
    M lib/odp-util.c
    M lib/ofp-print.c
    M lib/ofpbuf.h
    M lib/packets.c
    M lib/packets.h
    M tests/ofp-print.at
    M tests/ofproto-dpif.at
    M tests/ofproto.at

  Log Message:
  -----------
  Implement set-field for IPv6 ND fields (nd_target, nd_sll, and nd_tll).

This patch adds set-field operations for nd_target, nd_sll, and nd_tll
fields, with and without masks, using Nicira extensions and OpenFlow 1.2
protocol.

Signed-off-by: Randall A Sharo <randall.sharo at navy.mil>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: da692cbd627d04508ee3a546b7112b8d3a1edcd8
      https://github.com/openvswitch/ovs/commit/da692cbd627d04508ee3a546b7112b8d3a1edcd8
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M tests/test-atomic.c

  Log Message:
  -----------
  test-atomic: Stop testing when running slow.

When the test suite is run on an OS with 1 core (e.g., a VM with one
core assigned to it), some of the atomic memory model tests take a
long time, with the effect that the test seems stuck.

This patch stops these tests after one second and only fails the test
if there has not been any significant progress, allowing the test to
pass also when running only with one core.

Reported-by: Motonori Shindo <motonori at shin.do>
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 9da6989c4900263a557b8804fb8420a83b6eb346
      https://github.com/openvswitch/ovs/commit/9da6989c4900263a557b8804fb8420a83b6eb346
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2015-01-14 (Wed, 14 Jan 2015)

  Changed paths:
    M lib/route-table-bsd.c

  Log Message:
  -----------
  route-table-bsd: Retry logic

Retry routing requests as the routing socket is unreliable.

Also, add some error checks and logs.

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: afc3987b514ded86a47d079239d57bfb0663801b
      https://github.com/openvswitch/ovs/commit/afc3987b514ded86a47d079239d57bfb0663801b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  ofproto-dpif-xlate: Log if an OFPACT_CONJUNCTION action is executed.

Conjunction actions shouldn't normally get executed, so it's worth
logging if it happens.

Suggested-by: Jarno Rajahalme <jrajahalme at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: 2e460098bff351b9fddcb917447caa3b97a35d86
      https://github.com/openvswitch/ovs/commit/2e460098bff351b9fddcb917447caa3b97a35d86
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-01-15 (Thu, 15 Jan 2015)

  Changed paths:
    M AUTHORS
    M datapath/datapath.c
    M datapath/linux/compat/include/linux/openvswitch.h
    M lib/dpif-netlink.c

  Log Message:
  -----------
  dpif: Use separate OVS_PACKET_ATTR_PROBE for packet messges

User space is currently sending a OVS_FLOW_ATTR_PROBE for both flow
and packet messages. This leads to an out-of-bounds access in
ovs_packet_cmd_execute() because OVS_FLOW_ATTR_PROBE >
OVS_PACKET_ATTR_MAX.

Introduce a new OVS_PACKET_ATTR_PROBE with the same numeric value
as OVS_FLOW_ATTR_PROBE to grow the range of accepted packet attributes
while maintaining binary compatibility with existing OVS binaries.

Fixes: 9233ce ("datapath: Add support for OVS_FLOW_ATTR_PROBE.")
Reported-by: Sander Eikelenboom <linux at eikelenboom.it>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Jesse Gross <jesse at nicira.com>


  Commit: 1755fb4e3a9667bfbdb191cc47d9937f05f89e33
      https://github.com/openvswitch/ovs/commit/1755fb4e3a9667bfbdb191cc47d9937f05f89e33
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2015-01-15 (Thu, 15 Jan 2015)

  Changed paths:
    M lib/ovs-numa.h

  Log Message:
  -----------
  ovs-numa.h: Add a missing OVS_UNUSED

Suppress the following warning:

> cc1: warnings being treated as errors
> In file included from ../lib/dpif.h:394:0,
>                  from ../lib/netdev.c:28:
> ../lib/ovs-numa.h: In function 'ovs_numa_dump_cores_on_numa':
> ../lib/ovs-numa.h:150:33: error: unused parameter 'numa_id'

The problem was introduced by
commit 9da2564e2bfa4ffc5a05552630ce2aca00a521c9.
("ovs-numa: Refine the module.")

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 833d8dfe8549a85652d7a02bf2bdccc4fe1d767d
      https://github.com/openvswitch/ovs/commit/833d8dfe8549a85652d7a02bf2bdccc4fe1d767d
  Author: Stephen Finucane <stephen.finucane at intel.com>
  Date:   2015-01-15 (Thu, 15 Jan 2015)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure.ac: Enable 'tar-pax' by default

Automake defaults to the 'v7' legacy tar format in GNU tar, through
passing of the '-o' parameter to GNU tar. Enabling this option results
in errors for users with 32 bit UIDs:

    $ make dist
    ...
    tardir=openvswitch-2.3.90 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >openvswitch-2.3.90.tar.gz
    tar: value 12345678 out of uid_t range 0..2097151
    tar: Exiting with failure status due to previous errors
    make[1]: Leaving directory `/development/ovs'
    ...

The 'tar-pax' format is a 2001 POSIX standard that allow longer file
names and other niceties. Its use is a configuration option in Automake
1.9+. Enable this option.

Signed-off-by: Stephen Finucane <stephen.finucane at intel.com>
Reviewed-by: Mark D. Gray <mark.d.gray at intel.com>
Cc: Panu Matilainen <pmatilai at laiskiainen.org>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 6bb81d042107ba68a7f4e6444df6d6811e733d6f
      https://github.com/openvswitch/ovs/commit/6bb81d042107ba68a7f4e6444df6d6811e733d6f
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-15 (Thu, 15 Jan 2015)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Stephen Finucane is now a code contributor.

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


  Commit: 233c7ef3fa2aca414d2d23bc2a048d1bb928cfae
      https://github.com/openvswitch/ovs/commit/233c7ef3fa2aca414d2d23bc2a048d1bb928cfae
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M lib/packets.h

  Log Message:
  -----------
  packets: Do not use zero sized array in icmp header.

Visual studio supports zero-size array within a struct or union,
but has to be the last element. GCC does not have this restriction.

icmp headers got included inside 'struct ovs_nd_msg' through
commit e60e935b1f (Implement set-field for IPv6 ND fields (nd_target,
nd_sll,and nd_tll). This causes compilation error while using MSVC.

Since icmp[6]_data in the icmp[6]_header is not used anywhere, just remove
them.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 02e6f2f7005d8dd3932bb03dea922a8d850f3f72
      https://github.com/openvswitch/ovs/commit/02e6f2f7005d8dd3932bb03dea922a8d850f3f72
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M tests/automake.mk
    M tests/ofproto-macros.at
    A tests/ovs-macros.at
    M tests/testsuite.at

  Log Message:
  -----------
  autotest: refactor OVS_VSWITCHD_START MACRO

Refactor in preparation for the next patch.

Signed-off-by: Andy Zhou <azhou at nicira.com>


  Commit: 69c2bdfef91d7b4c14c189a9fc613e25b10437ab
      https://github.com/openvswitch/ovs/commit/69c2bdfef91d7b4c14c189a9fc613e25b10437ab
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M tests/automake.mk
    A tests/kmod-macros.at
    A tests/kmod-testsuite.at
    A tests/kmod-traffic.at

  Log Message:
  -----------
  autotest: add autotest framework for adding kernel module unit tests

This patch adds a basic infrastructure for developing and running
kernel module unit tests. Currently OVS contains thousands
of useful unit tests for user space programs. It is desirable to
have corresponding kernel module unit tests.

This commit adds basic framework for adding kernel module tests. Like
user space unit tests, Kmod tests are based autotest framework, thus
are similar to existing unit tests. For references, kmod-traffic.at
contains a simple ping test.

"make check-kmod" can be invoked on any build machine as a root
user. Since kernel testing can potentially crash the kernel, it is
not recommended to run those tests directly on a development machine,
but rather a testing VM, such as ones can be launched by vagrant.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 3314f01ee9bdc6e4fa50fbb6033ad8cc88c0563a
      https://github.com/openvswitch/ovs/commit/3314f01ee9bdc6e4fa50fbb6033ad8cc88c0563a
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M Vagrantfile

  Log Message:
  -----------
  Vagrantfile: add test_ovs_kmod provision

Add 'test_ovs_kmod' provision.  Command:
   # vagrant provision --provision-with=test_ovs_kmod

will run "make check-kmod" in the vagrant launched VM.

It turns out to be more convenient to test within as root. Switch
Vagrantfile provisions to run as root user.  However, vagrant can
still be launched as normal user.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 5544e2919cbce4c1f850e207bc07397ad58159b8
      https://github.com/openvswitch/ovs/commit/5544e2919cbce4c1f850e207bc07397ad58159b8
  Author: Lorand Jakab <lojakab at cisco.com>
  Date:   2015-01-19 (Mon, 19 Jan 2015)

  Changed paths:
    M tests/.gitignore

  Log Message:
  -----------
  Add tests/kmod-testsuite to .gitignore

Signed-off-by: Lorand Jakab <lojakab at cisco.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: cc23805ccf035324271ab149927c39e7701a6cdb
      https://github.com/openvswitch/ovs/commit/cc23805ccf035324271ab149927c39e7701a6cdb
  Author: Lorand Jakab <lojakab at cisco.com>
  Date:   2015-01-19 (Mon, 19 Jan 2015)

  Changed paths:
    M NEWS

  Log Message:
  -----------
  Fix typo in NEWS

Signed-off-by: Lorand Jakab <lojakab at cisco.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 4c6b0ad74fe4adc993949807d9d5d45124ff6f50
      https://github.com/openvswitch/ovs/commit/4c6b0ad74fe4adc993949807d9d5d45124ff6f50
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-19 (Mon, 19 Jan 2015)

  Changed paths:
    M ofproto/pktbuf.c

  Log Message:
  -----------
  pktbuf: Always initialize '*bufferp' even when 'pb == NULL'.

Otherwise if a service connection (which does not have buffers) attempts
to use buffers, '*bufferp' will be uninitialized, which can cause a
segfault in the caller.

Found using OFtest configured to use service (active rather than passive)
connections.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: f33368ee6d64c8c264d75c4486b5f9802d327c62
      https://github.com/openvswitch/ovs/commit/f33368ee6d64c8c264d75c4486b5f9802d327c62
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-19 (Mon, 19 Jan 2015)

  Changed paths:
    M lib/rconn.c
    M lib/rconn.h

  Log Message:
  -----------
  rconn: Remove dead code and data.

These functions had no callers, so remove them and the data maintained
just to implement them.

Found by inspection.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 2b123371ef5ded1c27f95595c10ab122c6afccdf
      https://github.com/openvswitch/ovs/commit/2b123371ef5ded1c27f95595c10ab122c6afccdf
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-20 (Tue, 20 Jan 2015)

  Changed paths:
    M lib/stream-fd.c

  Log Message:
  -----------
  stream-fd: Fix log message.

The log message for a send operation should refer to "send", not "recv".
Looks like an old cut-and-paste error.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: dc707e6684c9f43d180c07f1f751c38cac0687a2
      https://github.com/openvswitch/ovs/commit/dc707e6684c9f43d180c07f1f751c38cac0687a2
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-20 (Tue, 20 Jan 2015)

  Changed paths:
    M include/openvswitch/vconn.h
    M lib/vconn-provider.h

  Log Message:
  -----------
  vconn: Move struct definitions back to provider interface.

Commit 4a1f523f2d760 (lib: Move vconn.h to <openvswitch/vconn.h>) moved
the definitions of struct vconn and struct pvconn into the public vconn.h
header.  This is unnecessary because the size and content of these structs
is not part of the ABI.  This commit moves them back.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 70f07728ed0a2030d37bacd2618ff6161667e966
      https://github.com/openvswitch/ovs/commit/70f07728ed0a2030d37bacd2618ff6161667e966
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-01-20 (Tue, 20 Jan 2015)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c

  Log Message:
  -----------
  upcall: Simplify enable_ufid debug option.

We previously tracked the debug enable/disable of UFID in each udpif,
and allowed the ovs-appctl debug option to turn on UFID features even if
the datapath doesn't support it.

This commit shifts the enable_ufid debug flag to a single flag, and
provides a helper to determine whether UFID features should be used on a
per-udpif basis.

Suggested-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 679126501f95fd18f65a15b370f04b7db4b00c26
      https://github.com/openvswitch/ovs/commit/679126501f95fd18f65a15b370f04b7db4b00c26
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-21 (Wed, 21 Jan 2015)

  Changed paths:
    M AUTHORS
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Fix memory leak of mirrors in bundle_destroy().

The mirrors are added in bundle_set() with 'bundle' as aux so they must
be removed with the same aux, but the call used 'bundle->aux' instead.

Reported-by: Sabyasachi Sengupta <Sabyasachi.Sengupta at alcatel-lucent.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: a78f446a9440661ae0390236100952e4726ab2bc
      https://github.com/openvswitch/ovs/commit/a78f446a9440661ae0390236100952e4726ab2bc
  Author: Gao feng <gaofeng at cn.fujitsu.com>
  Date:   2015-01-22 (Thu, 22 Jan 2015)

  Changed paths:
    M lib/dpif-netlink.c

  Log Message:
  -----------
  setup n_upcall_pids for vport_request when destroy all channels

Setup the n_upcall_pids to 1, otherwise the
OVS_VPORT_ATTR_UPCALL_PID nlattr will be incorrect.

Signed-off-by: Gao feng <gaofeng at cn.fujitsu.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 4ba15221632ea8b3e2fa25357bc45089cd3a3271
      https://github.com/openvswitch/ovs/commit/4ba15221632ea8b3e2fa25357bc45089cd3a3271
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-22 (Thu, 22 Jan 2015)

  Changed paths:
    M lib/ofp-errors.h

  Log Message:
  -----------
  ofp-errors: Explain the whole "expected duplications" thing.

That way I won't have to figure it out again the next time.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 20e4ec1a2b723ca9cc3a63aa147a33414b294616
      https://github.com/openvswitch/ovs/commit/20e4ec1a2b723ca9cc3a63aa147a33414b294616
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-22 (Thu, 22 Jan 2015)

  Changed paths:
    M lib/ofp-errors.h
    M ofproto/ofproto.c

  Log Message:
  -----------
  ofp-errors: Use OFPERR_OFPBRC_IS_SLAVE to reject slave controllers.

This error code was just overlooked before.

Reported-by: Anup Khadka <khadka.py at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 2dd88e5d65c5d36d12311dae3127c0d9a24a9398
      https://github.com/openvswitch/ovs/commit/2dd88e5d65c5d36d12311dae3127c0d9a24a9398
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-23 (Fri, 23 Jan 2015)

  Changed paths:
    M tests/test-sflow.c

  Log Message:
  -----------
  test-sflow: Fix error message when a socket cannot be opened.

The error message should name the socket, which is 'target', not argv[1],
which might be anything.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 47ff8abb5f8900935abc8de4fabb62763d14ff3c
      https://github.com/openvswitch/ovs/commit/47ff8abb5f8900935abc8de4fabb62763d14ff3c
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-01-26 (Mon, 26 Jan 2015)

  Changed paths:
    M include/openvswitch/vlog.h

  Log Message:
  -----------
  vlog: Logging option '--syslog-target' needs one argument.

Without this commit, starting a daemon with just '--syslog-target'
causes a segmentation fault.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: a52b0492a4d0398a24ed2a3566ff55ac53fea31f
      https://github.com/openvswitch/ovs/commit/a52b0492a4d0398a24ed2a3566ff55ac53fea31f
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-01-26 (Mon, 26 Jan 2015)

  Changed paths:
    M AUTHORS
    M INSTALL.DPDK.md

  Log Message:
  -----------
  INSTALL.DPDK.md: Provide a little a more consistency to documentation.

A few users (based on the reports in discuss at openvswitch.org) have been
literally following the instructions in INSTALL.DPDK.md and mixing up
pre-installed utilities and daemons with freshly compiled utilities
because the current documentation does not consistently call out
using utilities from the compiled sources.

This commit updates DPDK documentation to ask users to do a 'make install'
and then use the utilities and daemons directly from Linux PATH.
It also adds github markup where applicable.

Reported-by: Arkajit Ghosh <arkajit.ghosh at tcs.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 1667bb34988358aaf1c92d0d21fad4b1c8698780
      https://github.com/openvswitch/ovs/commit/1667bb34988358aaf1c92d0d21fad4b1c8698780
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2015-01-27 (Tue, 27 Jan 2015)

  Changed paths:
    M lib/ofp-util.c
    M lib/ofp-util.h

  Log Message:
  -----------
  ofp-util: constify buckets parameter of ofputil_append*_group_desc_reply()

This parameter is not modified so it may be marked as const.

Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: d69d61c7c17504dd59a851247d3fa1b7e88f55c1
      https://github.com/openvswitch/ovs/commit/d69d61c7c17504dd59a851247d3fa1b7e88f55c1
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-01-28 (Wed, 28 Jan 2015)

  Changed paths:
    M include/windows/syslog.h
    M lib/vlog.c
    M lib/vlog.man
    M python/ovs/vlog.py
    M tests/vlog.at
    M utilities/ovs-appctl.8.in

  Log Message:
  -----------
  vlog: Ability to override the default log facility.

When Open vSwitch is run in hundreds of hypervisors, it is
useful to collect log messages through log collectors. To
collect log messages like this, it is useful to log them
in a particular RFC5424 facility in the local system. The
log collectors can then be used to collect logs anytime
desired.

This commit provides a sysadmin the ability to specify the
facility through which the log messages are logged.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ebdabd05e9465dd6e50adedb4a0bcb5678e563de
      https://github.com/openvswitch/ovs/commit/ebdabd05e9465dd6e50adedb4a0bcb5678e563de
  Author: Christoph Jaeger <cj at linux.com>
  Date:   2015-01-28 (Wed, 28 Jan 2015)

  Changed paths:
    M AUTHORS
    M tests/kmod-macros.at

  Log Message:
  -----------
  autotest: Fix kernel module unit test teardown

Due to a misnaming, the macro calls

  OVS_SWITCHD_STOP([$1])
  AT_CHECK([modprobe -r openvswitch])

in OVS_KMOD_VSWITCHD_STOP make up a syntactically correct function definition
(OVS_SWITCHD_STOP does not exist, and therefore the call does not expand):

  OVS_SWITCHD_STOP()
  { set +x
  $as_echo "$at_srcdir/kmod-traffic.at:15: modprobe -r openvswitch"
  ...
  $at_traceon; }

Consequently, neither of the calls has the intended effect, i.e., stopping
ovs-vswitchd and ovsdb-server, checking their log files, and unloading the
datapath kernel module. Fix the misnaming, so all calls expand properly.

Fixes: 69c2bdfef9 ("autotest: add autotest framework for adding kernel module unit tests")
Signed-off-by: Christoph Jaeger <cj at linux.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>

Author: add Christoph Jaeger


  Commit: 491c2ea3230f53ecbe65a556a0a1cc68647d7b99
      https://github.com/openvswitch/ovs/commit/491c2ea3230f53ecbe65a556a0a1cc68647d7b99
  Author: Mark D. Gray <mark.d.gray at intel.com>
  Date:   2015-01-29 (Thu, 29 Jan 2015)

  Changed paths:
    M INSTALL.DPDK.md

  Log Message:
  -----------
  INSTALL.DPDK: Update documentation to indicate VFIO support

Since DPDK 1.7, VFIO is supported in place of UIO. This allows
a user to avoid having to insert a non-standard kernel module.

This patch updates the documentation with instructions for
setting up OVS with VFIO. As part of this work, VFIO was also
successfully tested with OVS and the DPDK netdev.

[tgraf: Added some more markdown formatting]

Signed-off-by: Mark D. Gray <mark.d.gray at intel.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 7905aae3fc1633c2c44c8fdb9e9d3a3d6e63439b
      https://github.com/openvswitch/ovs/commit/7905aae3fc1633c2c44c8fdb9e9d3a3d6e63439b
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-01-29 (Thu, 29 Jan 2015)

  Changed paths:
    M python/ovs/vlog.py

  Log Message:
  -----------
  vlog: Don't fail syslog initialization in chroot.

When OVS unit tests are run inside chroot environment,
there is no syslog infrastructure available. In a
situation like that, don't fail or log additional messages
to syslog by increasing the severity level of syslog very high
(log messages would continue to be logged to console and file).

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 95bad473da71b36cca86553c3d5a71138f06c55a
      https://github.com/openvswitch/ovs/commit/95bad473da71b36cca86553c3d5a71138f06c55a
  Author: Christoph Jaeger <cj at linux.com>
  Date:   2015-01-29 (Thu, 29 Jan 2015)

  Changed paths:
    M tests/automake.mk

  Log Message:
  -----------
  autotest: Use modprobe for kernel module unloading

rmmod fails if the module is not loaded; thus, Vagrant aborts provisioning
when started from a clean slate. Use modprobe, which does not fail, instead.
Unloading unused modules the to-be-unloaded module depends on may also be
desirable.

Signed-off-by: Christoph Jaeger <cj at linux.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>


  Commit: 7be0b8a0b0703719397763b3b588720f3b25ec13
      https://github.com/openvswitch/ovs/commit/7be0b8a0b0703719397763b3b588720f3b25ec13
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    M utilities/bugtool/ovs-bugtool.in

  Log Message:
  -----------
  ovs-bugtool: Add --help message.

Seemed a little embarrassing when I realized that ovs-bugtool has no usage
message on a customer call this morning.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: 448d667b7b9b1d7ebd9b4cb3338ffea33158c579
      https://github.com/openvswitch/ovs/commit/448d667b7b9b1d7ebd9b4cb3338ffea33158c579
  Author: Sorin Vinturis <svinturis at cloudbasesolutions.com>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    M datapath-windows/ovsext/Datapath.c
    M datapath-windows/ovsext/Datapath.h
    M datapath-windows/ovsext/Driver.c

  Log Message:
  -----------
  datapath-windows: Solved BSOD when loading an activated extension

If the OVS extension was previously enabled and the driver unloaded,
when the driver is loaded again a BSOD is triggered.

This happens because the OVS extension registers its FilterXxx routines
to NDIS, by calling NdisFRegisterFilterDriver, before performing all
the necessary initialization. Because drivers that call
NdisFRegisterFilterDriver must be prepared for an immediate call to any
of their FilterXxx functions.

The BSOD is triggered because the FilterAttach routine, OvsExtAttach,
tries to acquire the control lock, when the lock is not yet initialized.
This happens because the FilterAttach is called before the driver
finishes initialization, in OvsInit().

The solution is to perform all necessary initialization before
registering OVS FilterXxx routines.

If device object creation fails, all allocated resources during init
phase are released by calling OvsCleanup and NdisFDeregisterFilterDriver
functions.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/67
Acked-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 5989a51c8815d2ca5c803ed6bbed2760946440ea
      https://github.com/openvswitch/ovs/commit/5989a51c8815d2ca5c803ed6bbed2760946440ea
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    M utilities/ovs-dpctl.8.in

  Log Message:
  -----------
  ovs-dpctl: Mention use of ovs-appctl instead for netdev datapath.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 9530457f245a886c6594409ad378f827bbf69728
      https://github.com/openvswitch/ovs/commit/9530457f245a886c6594409ad378f827bbf69728
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    M tests/ovs-vsctl.at

  Log Message:
  -----------
  ovs-vsctl.at: Fix intermittent failure.

This commit fixes the intermittent test failure caused by the
race between the test thread and logging thread.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 08d425488a53338a5786323686e5f3b43a0c24ff
      https://github.com/openvswitch/ovs/commit/08d425488a53338a5786323686e5f3b43a0c24ff
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    M Makefile.am
    M tests/automake.mk
    A tests/completion.at
    M tests/testsuite.at
    M utilities/automake.mk
    R utilities/ovs-command-compgen-test.bash

  Log Message:
  -----------
  ovs-command-completion: Autotest integration.

This commit integrates the unit tests defined in
utilities/ovs-command-compgen-test.bash into 'make check'.
The tests will be skipped if the current shell is not bash.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 1b8c7b961cabbebbac1b2e48f89ee8205c48bdbf
      https://github.com/openvswitch/ovs/commit/1b8c7b961cabbebbac1b2e48f89ee8205c48bdbf
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-01 (Sun, 01 Feb 2015)

  Changed paths:
    M utilities/ovs-command-compgen.bash

  Log Message:
  -----------
  ovs-command-completion: Avoid using negative subscript.

Negative subscript causes error in bash version 4.1.2(1)-release
(x86_64-redhat-linux-gnu).  This commit fixes it.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 115f248163e1651ef932e1210cc4e49e3ebf61c5
      https://github.com/openvswitch/ovs/commit/115f248163e1651ef932e1210cc4e49e3ebf61c5
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-02-02 (Mon, 02 Feb 2015)

  Changed paths:
    M AUTHORS
    M lib/flow.c

  Log Message:
  -----------
  miniflow: Fix miniflow push of L4 port numbers.

Replace a 64 bit copy of L4 src/dst ports that was also
including additional packet params (e.g. TCP Seq Num). This
was later resulting in all packets from the flow missing in
the EMC.

Signed-off-by: Kevin Traynor <kevin.traynor at intel.com>
Reported-by: Ciara Loftus <ciara.loftus at intel.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: c1419aa1d863182b7ebdcb3908b0e46487abbf31
      https://github.com/openvswitch/ovs/commit/c1419aa1d863182b7ebdcb3908b0e46487abbf31
  Author: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M python/ovs/vlog.py

  Log Message:
  -----------
  vlog: Fix "/dev/log" test

commit 7905aae3fc1633c2c44c8fdb9e9d3a3d6e63439b
("vlog: Don't fail syslog initialization in chroot.")
uses os.path.isfile("/dev/log"), which tests if the given path
is a regular file, to see if syslog can be usable.

However, /dev/log is not a regular file for platforms I looked at.
    * On Ubuntu 14.04 and CentOS 6.5, /dev/log is a socket
    * On NetBSD-6, /dev/log is a symlink to a socket

Replace the test with os.path.exists() so that it can work
as intended for these platforms.

Signed-off-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 4fe0f2039168036683b2347d186bcffec2fff9d3
      https://github.com/openvswitch/ovs/commit/4fe0f2039168036683b2347d186bcffec2fff9d3
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M AUTHORS
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Revalidate when sFlow probability changes.

Until now, when the sFlow selection probability changed, OVS failed to
immediately revalidate the flow table, delaying the new probability taking
effect.  This commit fixes the problem.

Reported-by: K 華 <k940545 at hotmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


  Commit: efd8a18e8d57a6129bb40fcd25b19cb18c4a3447
      https://github.com/openvswitch/ovs/commit/efd8a18e8d57a6129bb40fcd25b19cb18c4a3447
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/flow.c
    M datapath/linux/compat/gso.c
    M datapath/linux/compat/include/linux/if_vlan.h
    M datapath/linux/compat/netdevice.c
    M datapath/linux/compat/skbuff-openvswitch.c
    M datapath/linux/compat/vxlan.c
    M datapath/vport-geneve.c
    M datapath/vport-gre.c
    M datapath/vport-internal_dev.c
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Account for "rename vlan_tx_* helpers since "tx" is misleading there"

Upstream commit:
    net: rename vlan_tx_* helpers since "tx" is misleading there

    The same macros are used for rx as well. So rename it.

    Signed-off-by: Jiri Pirko <jiri at resnulli.us>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: df8a39d ("net: rename vlan_tx_* helpers since "tx" is misleading there")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: ababf4247ad92505ae5f9f7ea03cb374a8ad4b1e
      https://github.com/openvswitch/ovs/commit/ababf4247ad92505ae5f9f7ea03cb374a8ad4b1e
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Account for now exposed VXLAN definitions

This brings the compat version of vxlan_udp_encap_recv() and
vxlan_xmit_skb() in line with upstream commit:

	commit 3bf3947526c1053ddf2523f261395d682718f56c
	Author: Tom Herbert <therbert at google.com>
	Date:   Thu Jan 8 12:31:18 2015 -0800

    vxlan: Improve support for header flags

    This patch cleans up the header flags of VXLAN in anticipation of
    defining some new ones:

    - Move header related definitions from vxlan.c to vxlan.h
    - Change VXLAN_FLAGS to be VXLAN_HF_VNI (only currently defined flag)
    - Move check for unknown flags to after we find vxlan_sock, this
      assumes that some flags may be processed based on tunnel
      configuration
    - Add a comment about why the stack treating unknown set flags as an
      error instead of ignoring them

    Signed-off-by: Tom Herbert <therbert at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 3bf394 ("vxlan: Improve support for header flags")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 3174a818a125e7a2b5c37cb60839d6ea5c5b8c8c
      https://github.com/openvswitch/ovs/commit/3174a818a125e7a2b5c37cb60839d6ea5c5b8c8c
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-vxlan.c

  Log Message:
  -----------
  datapath: Account for "vxlan: Group Policy extension"

Upstream commit:
    vxlan: Group Policy extension

    Implements supports for the Group Policy VXLAN extension [0] to provide
    a lightweight and simple security label mechanism across network peers
    based on VXLAN. The security context and associated metadata is mapped
    to/from skb->mark. This allows further mapping to a SELinux context
    using SECMARK, to implement ACLs directly with nftables, iptables, OVS,
    tc, etc.

    The group membership is defined by the lower 16 bits of skb->mark, the
    upper 16 bits are used for flags.

    SELinux allows to manage label to secure local resources. However,
    distributed applications require ACLs to implemented across hosts. This
    is typically achieved by matching on L2-L4 fields to identify the
    original sending host and process on the receiver. On top of that,
    netlabel and specifically CIPSO [1] allow to map security contexts to
    universal labels.  However, netlabel and CIPSO are relatively complex.
    This patch provides a lightweight alternative for overlay network
    environments with a trusted underlay. No additional control protocol
    is required.
          Host 1:                       Host 2:
     Group A        Group B        Group B     Group A
    +-----+   +-------------+    +-------+   +-----+
    | lxc |   | SELinux CTX |    | httpd |   | VM  |
    +--+--+   +--+----------+    +---+---+   +--+--+
    \---+---/                     \----+---/
        |                              |
    +---+---+                      +---+---+
    | vxlan |                      | vxlan |
    +---+---+                      +---+---+
        +------------------------------+

    Backwards compatibility:
    A VXLAN-GBP socket can receive standard VXLAN frames and will assign
    the default group 0x0000 to such frames. A Linux VXLAN socket will
    drop VXLAN-GBP  frames. The extension is therefore disabled by default
    and needs to be specifically enabled:
  ip link add [...] type vxlan [...] gbp

    In a mixed environment with VXLAN and VXLAN-GBP sockets, the GBP socket
    must run on a separate port number.

    Examples:
     iptables:
      host1# iptables -I OUTPUT -m owner --uid-owner 101 -j MARK --set-mark 0x200
      host2# iptables -I INPUT -m mark --mark 0x200 -j DROP

     OVS:
      # ovs-ofctl add-flow br0 'in_port=1,actions=load:0x200->NXM_NX_TUN_GBP_ID[],NORMAL'
      # ovs-ofctl add-flow br0 'in_port=2,tun_gbp_id=0x200,actions=drop'

    [0] https://tools.ietf.org/html/draft-smith-vxlan-group-policy
    [1] http://lwn.net/Articles/204905/

    Signed-off-by: Thomas Graf <tgraf at suug.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 351149 ("vxlan: Group Policy extension")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2311260fc1a5ea70a1c77a9a3532388e33b6a2ed
      https://github.com/openvswitch/ovs/commit/2311260fc1a5ea70a1c77a9a3532388e33b6a2ed
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-vxlan.c

  Log Message:
  -----------
  datapath: Account for "vxlan: add x-netns support"

Upstream commit:
    vxlan: add x-netns support

    This patch allows to switch the netns when packet is encapsulated or
    decapsulated.
    The vxlan socket is openned into the i/o netns, ie into the netns where
    encapsulated packets are received. The socket lookup is done into this netns to
    find the corresponding vxlan tunnel. After decapsulation, the packet is
    injecting into the corresponding interface which may stand to another netns.

    When one of the two netns is removed, the tunnel is destroyed.

    Configuration example:
    ip netns add netns1
    ip netns exec netns1 ip link set lo up
    ip link add vxlan10 type vxlan id 10 group 239.0.0.10 dev eth0 dstport 0
    ip link set vxlan10 netns netns1
    ip netns exec netns1 ip addr add 192.168.0.249/24 broadcast 192.168.0.255 dev vxlan10
    ip netns exec netns1 ip link set vxlan10 up

    Signed-off-by: Nicolas Dichtel <nicolas.dichtel at 6wind.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: f01ec1c017de ("vxlan: add x-netns support")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 4b1632249fc13b3a12cc093a88f19096b0a38486
      https://github.com/openvswitch/ovs/commit/4b1632249fc13b3a12cc093a88f19096b0a38486
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/flow.c
    M datapath/flow.h
    M datapath/flow_netlink.c

  Log Message:
  -----------
  datapath: Rename GENEVE_TUN_OPTS() to TUN_METADATA_OPTS()

Backport of upstream commit:

    openvswitch: Rename GENEVE_TUN_OPTS() to TUN_METADATA_OPTS()

    Also factors out Geneve validation code into a new separate function
    validate_and_copy_geneve_opts().

    A subsequent patch will introduce VXLAN options. Rename the existing
    GENEVE_TUN_OPTS() to reflect its extended purpose of carrying generic
    tunnel metadata options.

    Signed-off-by: Thomas Graf <tgraf at suug.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: d91641d ("openvswitch: Rename GENEVE_TUN_OPTS() to TUN_METADATA_OPTS()")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: ec959cdcb9f7e1e534ffafaed85790fec8b279ca
      https://github.com/openvswitch/ovs/commit/ec959cdcb9f7e1e534ffafaed85790fec8b279ca
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/flow_netlink.c

  Log Message:
  -----------
  datapath: Allow for any level of nesting in flow attributes

Upstream commit:
    openvswitch: Allow for any level of nesting in flow attributes

    nlattr_set() is currently hardcoded to two levels of nesting. This change
    introduces struct ovs_len_tbl to define minimal length requirements plus
    next level nesting tables to traverse the key attributes to arbitrary depth.

    Signed-off-by: Thomas Graf <tgraf at suug.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 81bfe3 ("openvswitch: Allow for any level of nesting in flow attributes")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 6233a1bdf17e30800c9734374f1aa36ff7214f7e
      https://github.com/openvswitch/ovs/commit/6233a1bdf17e30800c9734374f1aa36ff7214f7e
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M acinclude.m4
    M datapath/datapath.c
    M datapath/linux/compat/include/net/genetlink.h

  Log Message:
  -----------
  datapath: Account for "genetlink: pass only network namespace to genl_has_listeners()"

Upstream commit:
    genetlink: pass only network namespace to genl_has_listeners()

    There's no point to force the caller to know about the internal
    genl_sock to use inside struct net, just have them pass the network
    namespace. This doesn't really change code generation since it's
    an inline, but makes the caller less magic - there's never any
    reason to pass another socket.

    Signed-off-by: Johannes Berg <johannes.berg at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: f8403a2 ("genetlink: pass only network namespace to genl_has_listeners()")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 23b48dc1821210e24ba783c6377f2cc9e5719fee
      https://github.com/openvswitch/ovs/commit/23b48dc1821210e24ba783c6377f2cc9e5719fee
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/datapath.c

  Log Message:
  -----------
  datapath: Account for "netlink: make nlmsg_end() and genlmsg_end() void"

genlmsg_end() no longer returns an error value. Not a problem as it
never returned an error code anyway.

Upstream: 053c09 ("netlink: make nlmsg_end() and genlmsg_end() void")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 284658876339bc25882c00488749326baa5bf570
      https://github.com/openvswitch/ovs/commit/284658876339bc25882c00488749326baa5bf570
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: update exact match lookup hash value to avoid hash collision

Currently, the exact match cache lookup uses 'skb->hash' as an index.
In most cases, this value will be the same for pre and post
recirculation lookup, threshing the exact match cache. This patch
avoid this hash collision by using the rehashed value, by mixing in
in the 'recirc_id', as the lookup index.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 5dc6f8e18ee0145d513517671a83c8afab674287
      https://github.com/openvswitch/ovs/commit/5dc6f8e18ee0145d513517671a83c8afab674287
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M NEWS

  Log Message:
  -----------
  NEWS: Mention group support in version 2.1.

Someone asked about support and I realized that we forgot to mention it,
so do so belatedly.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 08ba081054b668fa5d98ae8e03c8a783af871df8
      https://github.com/openvswitch/ovs/commit/08ba081054b668fa5d98ae8e03c8a783af871df8
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M lib/ofp-util.c

  Log Message:
  -----------
  ofp-util: Issue error when OFPGC_DELETE command includes buckets.

An OFPGC_DELETE command deletes a whole group, including all of its
buckets, and so it doesn't make sense for the command itself to include any
specification of buckets.

ONF-JIRA: EXT-510
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b8905bfa9def3c9acbbe76c6aa5523348b713771
      https://github.com/openvswitch/ovs/commit/b8905bfa9def3c9acbbe76c6aa5523348b713771
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M tests/completion.at
    M utilities/ovs-command-compgen.bash

  Log Message:
  -----------
  ovs-command-completion: Complete on file path by default.

This commit makes the bash completion script complete on file
path when there is no completion available.  The unit tests
are also adjusted accordingly.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: ec97c2df3c5ad87a266b1dc5432ee0057f182ffd
      https://github.com/openvswitch/ovs/commit/ec97c2df3c5ad87a266b1dc5432ee0057f182ffd
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-03 (Tue, 03 Feb 2015)

  Changed paths:
    M lib/dpif-netlink.c

  Log Message:
  -----------
  ovs-dpctl: Do not report pmd info for 'dpif-netlink' datapath.

In 'ovs-dpctl dump-flows' output, we should only report the pmd
related info for 'dpif-netdev' datapath.  However, current
implementation also reports uninitialized pmd info for
'dpif-netlink' datapath, which is very confusing to users.

This commit fixes it.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: f4ae6e23c3df0efbdf6b9a71949829210666f790
      https://github.com/openvswitch/ovs/commit/f4ae6e23c3df0efbdf6b9a71949829210666f790
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2015-02-04 (Wed, 04 Feb 2015)

  Changed paths:
    M lib/mcast-snooping.c
    M lib/mcast-snooping.h
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  mcast_snoop: make mcast_fport_bundle generic

The struct mcast_fport_bundle will be used for ports
forwarding Reports too, so make it generic.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 8e04a33ffcb673b5c9253a59870aeeda94cddd66
      https://github.com/openvswitch/ovs/commit/8e04a33ffcb673b5c9253a59870aeeda94cddd66
  Author: Flavio Leitner <fbl at redhat.com>
  Date:   2015-02-04 (Wed, 04 Feb 2015)

  Changed paths:
    M lib/mcast-snooping.c
    M lib/mcast-snooping.h
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-provider.h
    M ofproto/ofproto.c
    M ofproto/ofproto.h
    M utilities/ovs-vsctl.8.in
    M vswitchd/bridge.c
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  mcast-snoop: Add support to control Reports forwarding

The RFC4541 section 2.1.1 item 1 allows the snooping switch
to provide an administrative control to allow Report messages
to be flooded to ports not connected to multicast routers.

Signed-off-by: Flavio Leitner <fbl at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b9aa727c9df6bf0834d04e433d38a771556f61af
      https://github.com/openvswitch/ovs/commit/b9aa727c9df6bf0834d04e433d38a771556f61af
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-04 (Wed, 04 Feb 2015)

  Changed paths:
    M .travis.yml
    M .travis/build.sh
    M .travis/prepare.sh

  Log Message:
  -----------
  travis: Add 32 bit (-m32) cross-compile build

Inspired by Ben Pfaff's email on 32 bit build environment, this adds a
32bit build to the travis build matrix to catch alignment and padding
issues.

The 32 bit build is only enabled for non-DPDK builds as DPDK itself is
currently not capable to be compiled with -m32.

The build also has SSL disabled as the Ubuntu libssl-devel package is
not multiarch compatible on the travis build system.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4d9226a7463a5cf2af313bb709f48f6fca4d4ffd
      https://github.com/openvswitch/ovs/commit/4d9226a7463a5cf2af313bb709f48f6fca4d4ffd
  Author: Jarno Rajahalme <jrajahalme at nicira.com>
  Date:   2015-02-04 (Wed, 04 Feb 2015)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto: Initialize tunnel module earlier.

The tunnel module can get called by the handler threads right after
they are started, so we need to call ofproto_tunnel_init() before
opening the backer.

Late initialization caused a spurious ovs-vswitchd handler thread
crash on start-up due to the tunnel module fat_rwlock not being
initialized yet.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4ceb6c87968da7bcf025e4d4aef1a8da81eb24b4
      https://github.com/openvswitch/ovs/commit/4ceb6c87968da7bcf025e4d4aef1a8da81eb24b4
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-05 (Thu, 05 Feb 2015)

  Changed paths:
    M datapath/linux/compat/gso.c
    M datapath/linux/compat/gso.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Fix missing symbols when required to use own VXLAN stack

Fixes an insufficient ifdef in compat/vxlan.c which caused required
symbols not to be included in the build. The declarations were properly
enabled so the build would succeed but the module would spit missing
symbols when being inserted.

The fix uses a new define USE_UPSTREAM_VXLAN which is set in the compat
header <net/vxlan.h> as required. This centralizes the decision when to
include VXLAN compat code to a single place which eases further changes.

Reported-by: Pravin Shelar <pshelar at nicira.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: bb996e5b7808d42aba504a3c04a49556a45009e3
      https://github.com/openvswitch/ovs/commit/bb996e5b7808d42aba504a3c04a49556a45009e3
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-05 (Thu, 05 Feb 2015)

  Changed paths:
    M INSTALL.Windows.md

  Log Message:
  -----------
  INSTALL.Windows: Don't specify the openssl version.

Windows openssl libraries are distributed through slproweb.
The maintainer there is very strict about retiring unsafe
versions of openssl and only lets the latest versions of
openssl to be downloaded. Instead of updating INSTALL.Windows
everytime there is a change in latest version, leave it to
user's discretion to download the latest version.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d8a2492726b7bd18ff5836b9138189c356a2c412
      https://github.com/openvswitch/ovs/commit/d8a2492726b7bd18ff5836b9138189c356a2c412
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-05 (Thu, 05 Feb 2015)

  Changed paths:
    M INSTALL.Windows.md
    M Makefile.am
    A appveyor.yml

  Log Message:
  -----------
  appveyor: Provide a autobuild service for Windows.

The appveyor.yml file added through this commit lets
AppVeyor auto build service to run a build of OVS on
Windows platform.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 978ce0e92cad8ef0ed1b56f7126fac3e721a6eb8
      https://github.com/openvswitch/ovs/commit/978ce0e92cad8ef0ed1b56f7126fac3e721a6eb8
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M INSTALL.Windows.md

  Log Message:
  -----------
  Update INSTALL.Windows to build datapath

In a previous commit, support had been added to support building
the kernel datapath from command line. In this patch, we document
it.

Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 274231631a1a2c07b4acea0e8e8b23afd0d520c0
      https://github.com/openvswitch/ovs/commit/274231631a1a2c07b4acea0e8e8b23afd0d520c0
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M appveyor.yml

  Log Message:
  -----------
  appveyor: Build windows kernel datapath.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Nithin Raju <nithin at vmware.com>


  Commit: 0c7930a3651e6cd7479cd24852018cfa7819dd5c
      https://github.com/openvswitch/ovs/commit/0c7930a3651e6cd7479cd24852018cfa7819dd5c
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M datapath/Modules.mk
    M datapath/flow_netlink.c
    M datapath/linux/compat/include/linux/openvswitch.h
    M datapath/linux/compat/include/net/ip_tunnels.h
    M datapath/vport-geneve.c
    M datapath/vport-vxlan.c
    A datapath/vport-vxlan.h

  Log Message:
  -----------
  datapath: Support VXLAN Group Policy extension

Upstream commit:
    openvswitch: Support VXLAN Group Policy extension

    Introduces support for the group policy extension to the VXLAN virtual
    port. The extension is disabled by default and only enabled if the user
    has provided the respective configuration.

      ovs-vsctl add-port br0 vxlan0 -- \
   set Interface vxlan0 type=vxlan options:exts=gbp

    The configuration interface to enable the extension is based on a new
    attribute OVS_VXLAN_EXT_GBP nested inside OVS_TUNNEL_ATTR_EXTENSION
    which can carry additional extensions as needed in the future.

    The group policy metadata is stored as binary blob (struct ovs_vxlan_opts)
    internally just like Geneve options but transported as nested Netlink
    attributes to user space.

    Renames the existing TUNNEL_OPTIONS_PRESENT to TUNNEL_GENEVE_OPT with the
    binary value kept intact, a new flag TUNNEL_VXLAN_OPT is introduced.

    The attributes OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS and existing
    OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS are implemented mutually exclusive.

    Signed-off-by: Thomas Graf <tgraf at suug.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 1dd144 ("openvswitch: Support VXLAN Group Policy extension")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 44e1f2a897b8b0fd31846f212aadcf04cef01047
      https://github.com/openvswitch/ovs/commit/44e1f2a897b8b0fd31846f212aadcf04cef01047
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-vxlan.c

  Log Message:
  -----------
  datapath: Account for "vxlan: Eliminate dependency on UDP socket in transmit path"

Excludes VXLAN_F_REMCSUM_TX bits as OVS currently doesn't support it.

Upstream commit:
    vxlan: Eliminate dependency on UDP socket in transmit path

    In the vxlan transmit path there is no need to reference the socket
    for a tunnel which is needed for the receive side. We do, however,
    need the vxlan_dev flags. This patch eliminate references
    to the socket in the transmit path, and changes VXLAN_F_UNSHAREABLE
    to be VXLAN_F_RCV_FLAGS. This mask is used to store the flags
    applicable to receive (GBP, CSUM6_RX, and REMCSUM_RX) in the
    vxlan_sock flags.

    Signed-off-by: Tom Herbert <therbert at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: af33c1adae1e ("vxlan: Eliminate dependency on UDP socket in transmit path")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: adfaaeacedb705eb482bf642c54d539088ab5542
      https://github.com/openvswitch/ovs/commit/adfaaeacedb705eb482bf642c54d539088ab5542
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M FAQ.md
    M NEWS
    M acinclude.m4

  Log Message:
  -----------
  datapath: Allow building against 3.19.x

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 526df7d8543f7f651059338e42f409f04bb9970b
      https://github.com/openvswitch/ovs/commit/526df7d8543f7f651059338e42f409f04bb9970b
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M lib/dpif-netlink.c
    M lib/netdev-vport.c
    M lib/netdev.h
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  tunnel: Provide framework for tunnel extensions for VXLAN-GBP and others

Supports a new "exts" field in the tunnel configuration which takes a
comma separated list of enabled extensions.

The only extension supported so far is GBP but this can be used to
enable RCO and possibly others as soon as the OVS datapath supports
them.

Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: e2b553e49b040303d9cc61633e10470f0098672e
      https://github.com/openvswitch/ovs/commit/e2b553e49b040303d9cc61633e10470f0098672e
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/kmod-macros.at
    M tests/kmod-traffic.at

  Log Message:
  -----------
  test: remove namespace after ovs-vswitchd is stopped

Remove namespaces also removes the ports in them, thus may
causing vswitch to generate warning log messages about not being
able find the port before it exits.

Remove namespaces after ovs-vswitchd exits improves test reliability.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: 59a90db0bc0ccd97aa09fcd4d8ef8abf865d8dbc
      https://github.com/openvswitch/ovs/commit/59a90db0bc0ccd97aa09fcd4d8ef8abf865d8dbc
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/kmod-macros.at

  Log Message:
  -----------
  test: remove unnecessary command lines

Those are not necessary and makes the test output file harder to read.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: ba204a754795776cff54204027c98e75b6f51d23
      https://github.com/openvswitch/ovs/commit/ba204a754795776cff54204027c98e75b6f51d23
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/kmod-macros.at

  Log Message:
  -----------
  test: remove unnecessary leading blanks

This is mostly a style fix. The macro is used in the next patch to
add commands to the 'cleanup" file. This fix makes the 'cleanup' file
easier to read.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: 75e7f85974b3e480463e8883946486c11159f7ab
      https://github.com/openvswitch/ovs/commit/75e7f85974b3e480463e8883946486c11159f7ab
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/kmod-traffic.at

  Log Message:
  -----------
  test: add name space removal on test failure

Improves test failure handling. Remove name spaces that are no longer
needed so they to linger around before the next test starts.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: 128f4e3f14171cacd227c1389e034a6db0cc9363
      https://github.com/openvswitch/ovs/commit/128f4e3f14171cacd227c1389e034a6db0cc9363
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/kmod-traffic.at

  Log Message:
  -----------
  test: capture ping output into a file

The ping output can be useful. There is no down side in saving it.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: b7ca9d0c420a4d40f251bf08e17a5dd13d8e7ba9
      https://github.com/openvswitch/ovs/commit/b7ca9d0c420a4d40f251bf08e17a5dd13d8e7ba9
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M tests/kmod-macros.at

  Log Message:
  -----------
  test: remove openvswitch kernel module on test failure

Improve test failure handling.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: 9ba4f3c5ceacecf8106a48262beb51946b88ef90
      https://github.com/openvswitch/ovs/commit/9ba4f3c5ceacecf8106a48262beb51946b88ef90
  Author: Jason Kölker <jason at koelker.net>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M xenserver/etc_xapi.d_plugins_openvswitch-cfg-update

  Log Message:
  -----------
  XenServer: PEP8 Cleanup for openvswitch-cfg-update

Signed-off-by: Jason Kölker <jason at koelker.net>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 032c09ddd1052fc3e23a76418b77214a1a585009
      https://github.com/openvswitch/ovs/commit/032c09ddd1052fc3e23a76418b77214a1a585009
  Author: Jason Kölker <jason at koelker.net>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M xenserver/etc_xapi.d_plugins_openvswitch-cfg-update

  Log Message:
  -----------
  XenServer: Don't reset on xe-toolstack-restart

With XenServer only 1 manager is configured in the pool, which may not
be the first manager returned from `get-manager` as it returns in
lexicographical order.

Signed-off-by: Jason Kölker <jason at koelker.net>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 029ca940d7c552e23f0312095e21add06015a1f8
      https://github.com/openvswitch/ovs/commit/029ca940d7c552e23f0312095e21add06015a1f8
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2015-02-06 (Fri, 06 Feb 2015)

  Changed paths:
    M DESIGN.md
    M OPENFLOW-1.1+.md
    M ofproto/connmgr.c
    M ofproto/ofproto-dpif-xlate.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto: add support of OFPR_ACTION_SET as packet-in reason for OF1.4+

This patch adds support for OFPR_ACTION_SET as the packet-in reason when
a Packet-In message is triggered by an output action within an
action-set. By default reason code OFPR_ACTION_SET is enabled for async
messages when Openflow 1.4+ is used. A test case is included.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 9ba56eda545bebc1604f189d9eb51187647f7acf
      https://github.com/openvswitch/ovs/commit/9ba56eda545bebc1604f189d9eb51187647f7acf
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-09 (Mon, 09 Feb 2015)

  Changed paths:
    M tests/ovs-macros.at

  Log Message:
  -----------
  test: Reverse the order of commands added by ON_EXIT macro

Executing clean-up commands in the reverse order of their addition
seems to be better for most of the cleanup situations. For example,
in kmod tests, we should remove name spaces before remove kernel
modules.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.comugi


  Commit: 9f33d4428c6fe1ab5670f3116c53eb00646f0f9a
      https://github.com/openvswitch/ovs/commit/9f33d4428c6fe1ab5670f3116c53eb00646f0f9a
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-09 (Mon, 09 Feb 2015)

  Changed paths:
    M tests/kmod-macros.at
    M tests/kmod-traffic.at

  Log Message:
  -----------
  test: Hide the name space clean up inside ADD_NAMESPACE macro

To reduce the complexity of writing kmod tests.

Suggested-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.comugi


  Commit: abb5943dbb8005a9de59c68e4d798fbd072d33f0
      https://github.com/openvswitch/ovs/commit/abb5943dbb8005a9de59c68e4d798fbd072d33f0
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-10 (Tue, 10 Feb 2015)

  Changed paths:
    M lib/dpctl.c
    M lib/dpif-netdev.h
    M lib/netdev-dpdk.c
    M lib/netdev-dpdk.h

  Log Message:
  -----------
  netdev-dpdk: Allow changing NON_PMD_CORE_ID for testing purpose.

For testing purpose, developers may want to change the NON_PMD_CORE_ID
and use a different core for non-pmd threads.  Since the netdev-dpdk
module is hard-coded to assert the non-pmd threads using core 0, such
change will cause abortion of OVS.

This commit fixes the assertion and allows changing NON_PMD_CORE_ID.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 653ce9d6848c34aa1722d0ef4ddc6d8bd9ea2088
      https://github.com/openvswitch/ovs/commit/653ce9d6848c34aa1722d0ef4ddc6d8bd9ea2088
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M lib/timeval.c

  Log Message:
  -----------
  timeval: Correctly report usage statistics in log_poll_interval().

Most of the information that timeval was reporting for long poll intervals
was comparing per-thread with per-process statistics, which yielded
nonsense a lot of the time.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: 05082734f3dfc185c56a42d30b670e13e0178114
      https://github.com/openvswitch/ovs/commit/05082734f3dfc185c56a42d30b670e13e0178114
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M tests/daemon.at

  Log Message:
  -----------
  daemon.at: Fix a race condition with windows service test.

OVS daemon service for Windows creates the pidfile and then
registers with the Windows services manager that the service
is running. There is a small time gap between the two steps.
So retry a few times in the test.

Also, provide a keyword for the test.

Reported-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Nithin Raju <nithin at vmware.com>
Tested-by: Nithin Raju <nithin at vmware.com>


  Commit: 99970e95bc827323ad9b9cfb326f2204b76300d8
      https://github.com/openvswitch/ovs/commit/99970e95bc827323ad9b9cfb326f2204b76300d8
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2015-02-12 (Thu, 12 Feb 2015)

  Changed paths:
    M lib/util.h

  Log Message:
  -----------
  lib/util.h: use types compatible with DWORD

_BitScanForward() and friends are part of the Windows API and
take DWORD as parameter type. DWORD is defined to be 'unsigned long'
in Windows' header files.

We call into these functions from within lib/util.h. Currently, we
pass arguments of type uint32_t which is type defined to
'unsigned int'. This incompatiblity causes failures when we compile
the code as C++ code or with warnings enabled, when compiled as C
code.

The fix is to use 'unsigned long' rather than fixed size type.

Co-Authored-by: Linda Sun <lsun at vmware.com>
Signed-off-by: Nithin Raju <nithin at vmware.com>
Signed-off-by: Linda Sun <lsun at vmware.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: f1063b759fba1ece26dbd55e678f66c3caf59ed5
      https://github.com/openvswitch/ovs/commit/f1063b759fba1ece26dbd55e678f66c3caf59ed5
  Author: Thomas Graf <tgraf at noironetworks.com>
  Date:   2015-02-12 (Thu, 12 Feb 2015)

  Changed paths:
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: vxlan: Only set has-GBP bit in header if any other bits would be set

    vxlan: Only set has-GBP bit in header if any other bits would be set

    This allows for a VXLAN-GBP socket to talk to a Linux VXLAN socket by
    not setting any of the bits.

    Signed-off-by: Thomas Graf <tgraf at suug.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: db79a621835e ("vxlan: Only set has-GBP bit in header if any other bits would be set")
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 9d078ec2f17adc7cceb2793687f8faa1f1c6f4f3
      https://github.com/openvswitch/ovs/commit/9d078ec2f17adc7cceb2793687f8faa1f1c6f4f3
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M AUTHORS
    M NEWS
    M lib/learning-switch.c
    M lib/mac-learning.c
    M lib/mac-learning.h
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  mac-learning: Implement per-port MAC learning fairness.

In "MAC flooding", an attacker transmits an overwhelming number of frames
with unique Ethernet source address on a switch port.  The goal is to
force the switch to evict all useful MAC learning table entries, so that
its behavior degenerates to that of a hub, flooding all traffic.  In turn,
that allows an attacker to eavesdrop on the traffic of other hosts attached
to the switch, with all the risks that that entails.

Before this commit, the Open vSwitch "normal" action that implements its
standalone switch behavior (and that can be used by OpenFlow controllers
as well) was vulnerable to MAC flooding attacks.  This commit fixes the
problem by implementing per-port fairness for MAC table entries: when
the MAC table is at its maximum size, MAC table eviction always deletes an
entry from the port with the most entries.  Thus, MAC entries will never
be evicted from ports with only a few entries if a port with a huge number
of entries exists.

Controllers could introduce their own MAC flooding vulnerabilities into
OVS.  For a controller that adds destination MAC based flows to an OpenFlow
flow table as a reaction to "packet-in" events, such a bug, if it exists,
would be in the controller code itself and would need to be fixed in the
controller.  For a controller that relies on the Open vSwitch "learn"
action to add destination MAC based flows, Open vSwitch has existing
support for eviction policy similar to that implemented in this commit
through the "groups" column in the Flow_Table table documented in
ovs-vswitchd.conf.db(5); we recommend that users of "learn" not already
familiar with eviction groups to read that documentation.

In addition to implementation of per-port MAC learning fairness,
this commit includes some closely related changes:

    - Access to client-provided "port" data in struct mac_entry
      is now abstracted through helper functions, which makes it
      easier to ensure that the per-port data structures are maintained
      consistently.

    - The mac_learning_changed() function, which had become trivial,
      vestigial, and confusing, was removed.  Its functionality was folded
      into the new function mac_entry_set_port().

    - Many comments were added and improved; there had been a lot of
      comment rot in previous versions.

CERT: VU#784996
Reported-by: "Ronny L. Bull - bullrl" <bullrl at clarkson.edu>
Reported-at: http://www.irongeek.com/i.php?page=videos/derbycon4/t314-exploring-layer-2-network-security-in-virtualized-environments-ronny-l-bull-dr-jeanna-n-matthews
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>


  Commit: d8a5cedab523a99cdc97539f0cde21bb7f4932ec
      https://github.com/openvswitch/ovs/commit/d8a5cedab523a99cdc97539f0cde21bb7f4932ec
  Author: Shu Shen <shu.shen at radisys.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M ovsdb/ovsdb-dot.in

  Log Message:
  -----------
  docs: Fix overlapping 'weak' edges in ovs-vswitchd.conf.db.5.

Multiple weak edges between nodes at the same rank overlaps with each other in
a dot/graphviz diagram. The vswitchd.pic used in ovs-vswitchd.conf.db.5 suffers
this problem.

Removing "constraint=false" allows graphviz to rank the nodes using the weak
edages as well so that the nodes at the ends of a weak edge won't be at the
same rank and allows mutlple 'weak' edges to be visible.

Signed-off-by: Shu Shen <shu.shen at radisys.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ddd347c2b4091bb5f7479db452d0a6418897a258
      https://github.com/openvswitch/ovs/commit/ddd347c2b4091bb5f7479db452d0a6418897a258
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M INSTALL.md
    M tests/automake.mk
    A tests/testsuite.patch

  Log Message:
  -----------
  tests: Enable running parallel unit tests for Windows.

testsuite uses mkfifo in its job dispatcher that manages
parallel unit tests. MinGW does not have a mkfifo. This
results in unit tests running serially on Windows. Right
now it takes up to approximately 40 minutes to run all the
unit tests on Windows.

This commit provides a job dispatcher for MinGW that uses
temporary files instead of mkfifo to manage parallel jobs.
With this commit, on a Windows machine with 4 cores and with
8 parallel unit test sessions, it takes approximately 8
minutes to finish a unit test run.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 185b4e3a011c88500ab182d6098e479d98cb2bc7
      https://github.com/openvswitch/ovs/commit/185b4e3a011c88500ab182d6098e479d98cb2bc7
  Author: Mark D. Gray <mark.d.gray at intel.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M AUTHORS
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Fix whitespace and typo

Signed-off-by: Mark D. Gray <mark.d.gray at intel.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 87df2bfc731d08802285a9ff7e387677b28501fd
      https://github.com/openvswitch/ovs/commit/87df2bfc731d08802285a9ff7e387677b28501fd
  Author: Mark D. Gray <mark.d.gray at intel.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M lib/netdev-provider.h

  Log Message:
  -----------
  netdev-dpdk: Fix typo

Signed-off-by: Mark D. Gray <mark.d.gray at intel.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: ee32150e7fd5fcfc82e0ff952215637b3c9af7d7
      https://github.com/openvswitch/ovs/commit/ee32150e7fd5fcfc82e0ff952215637b3c9af7d7
  Author: Mark D. Gray <mark.d.gray at intel.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: set_miimon should return EOPNOTSUPP.

According to netdev-provider, this function should return
EOPNOTSUPP if not supported.

Signed-off-by: Mark D. Gray <mark.d.gray at intel.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c7ecbf1e9c5d0cd849455f273f922c4cfb0c100f
      https://github.com/openvswitch/ovs/commit/c7ecbf1e9c5d0cd849455f273f922c4cfb0c100f
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-13 (Fri, 13 Feb 2015)

  Changed paths:
    M lib/list.h
    M lib/ofp-parse.c

  Log Message:
  -----------
  ofp-parse: Correctly update bucket lists if they are empty.

Previously, list_moved() only worked with non-empty lists, but this was a
caveat that was really easy to miss.  parse_ofp_group_mod_file() had a bug
because it didn't honor that restriction.  This commit fixes the problem,
by modifying the list_moved() interface to be harder to use incorrectly
and then updating the callers.

Reported-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: ac6073e3cda5764664f1a32b827c9721c8e10bbd
      https://github.com/openvswitch/ovs/commit/ac6073e3cda5764664f1a32b827c9721c8e10bbd
  Author: Madhu Challa <challa at noironetworks.com>
  Date:   2015-02-14 (Sat, 14 Feb 2015)

  Changed paths:
    M NEWS
    M lib/flow.c
    M lib/flow.h
    M lib/match.c
    M lib/match.h
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/nx-match.c
    M lib/odp-util.c
    M lib/odp-util.h
    M lib/ofp-print.c
    M lib/ofp-util.c
    M lib/packets.h
    M ofproto/ofproto-dpif-xlate.c
    M tests/odp.at
    M tests/ofproto.at
    M tests/ovs-ofctl.at
    M tests/tunnel.at
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  ofproto: Add NXM_NX_TUN_GBP_ID and NXM_NX_TUN_GBP_FLAGS

Introduces two new NXMs to represent VXLAN-GBP [0] fields.

  actions=load:0x10->NXM_NX_TUN_GBP_ID[],NORMAL
  tun_gbp_id=0x10,actions=drop

This enables existing VXLAN tunnels to carry security label
information such as a SELinux context to other network peers.

The values are carried to/from the datapath using the attribute
OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS.

[0] https://tools.ietf.org/html/draft-smith-vxlan-group-policy-00

Signed-off-by: Madhu Challa <challa at noironetworks.com>
Acked-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 93e83e8b8a2735ed1c515e9dddc1d45927ebf754
      https://github.com/openvswitch/ovs/commit/93e83e8b8a2735ed1c515e9dddc1d45927ebf754
  Author: Mark Kavanagh <mark.b.kavanagh at intel.com>
  Date:   2015-02-15 (Sun, 15 Feb 2015)

  Changed paths:
    M CONTRIBUTING.md

  Log Message:
  -----------
  CONTRIBUTING.md: Strengthen testing recommendataions.

Patches that modify existing code can break expected behaviour.
Flag this by testing the patch with 'make check' prior to submission.

Furthermore, it is not sufficient to only test patches that add files
using 'make distcheck'; the compile flags for this target could change
the definition of some functions (ovs_assert, for example), altering
the outcome of some unit tests. Rather, it is preferable to use a
combination of 'make distcheck' with 'make check' to cover all bases.

Signed-off-by: Mark Kavanagh <mark.b.kavanagh at intel.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 737ea41107f18d2b55e2d38be0eb90f2d2432236
      https://github.com/openvswitch/ovs/commit/737ea41107f18d2b55e2d38be0eb90f2d2432236
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-15 (Sun, 15 Feb 2015)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Mark Kavanagh.

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


  Commit: ca8127fdc0fe16d44459550af2b8f175487bd700
      https://github.com/openvswitch/ovs/commit/ca8127fdc0fe16d44459550af2b8f175487bd700
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M AUTHORS
    M ofproto/bond.c

  Log Message:
  -----------
  ofproto/bond: Fix a race condition in updating post recirculation rules

When updating post recirc rules, rule management requires calls to
hmap APIs, which requires proper locking to ensure mutual exclsion in
accessing the hmap internal data structure. The locking currently is
missing from the output_normal() xlate path, thus causing
a race condition.

The race condition leads to segfault crash of ovs-vswitchd, with the
following stack trace:

The crash was found by adding and deleting bond interfaces repeatedly
with on-going traffic hitting the bond interfaces.  The same test was
ran over multiple days with this patch to ensure the same crash was
not seen.

The patch added the necessary lock annotation that would have caught
the bug.

Tested-by: Salvatore Cambria <salvatore.cambria at citrix.com>
Reported-by: Salvatore Cambria <salvatore.cambria at citrix.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 24c2d9d962abf410b41f8e885dbb304a4d6b3d28
      https://github.com/openvswitch/ovs/commit/24c2d9d962abf410b41f8e885dbb304a4d6b3d28
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-18 (Wed, 18 Feb 2015)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Madhu Venugopal.

Madhu reported a bug last year, mentioned in commit 639b6d9c9093
(ovsdb-server: Document RFC 7047 extensions to ovsdb <error>s.) but I
forgot to credit him in AUTHORS at the time.

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


  Commit: 53cc0a88060ce5cc87afd22250364838bbe3c3f5
      https://github.com/openvswitch/ovs/commit/53cc0a88060ce5cc87afd22250364838bbe3c3f5
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-18 (Wed, 18 Feb 2015)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Kenneth Duda.

Ken co-authored commit add17b6945ab6 (vtep: Initial checkin of vtep
schema.) back in 2013 but I forgot to credit him in AUTHORS at the time.

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


  Commit: a59cf6954e434fca6499de1686b3e8c82f824176
      https://github.com/openvswitch/ovs/commit/a59cf6954e434fca6499de1686b3e8c82f824176
  Author: Russell Bryant <rbryant at redhat.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M AUTHORS
    M CodingStyle.md

  Log Message:
  -----------
  CodingStyle: recommend PEP 8 for Python code

Add a new section about Python code to the coding style document.
Suggest that all new Python code should adhere to the PEP 8 standard.
Also include a reference to tools that can quickly check code for
style issues.

Signed-off-by: Russell Bryant <rbryant at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 470582937d2722e1602e8366a42f7a077dce3616
      https://github.com/openvswitch/ovs/commit/470582937d2722e1602e8366a42f7a077dce3616
  Author: Russell Bryant <rbryant at redhat.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M ovsdb/ovsdb-idlc.in
    M vswitchd/bridge.c

  Log Message:
  -----------
  ovsdb-idlc: Constify 'char **'.

Update the logic used in constify() to add const to a 'char **' while
still excluding all other cases of more than one level of indirection.

This results in adding const to a parameter of a generated setter
function where we're generally passing in array of constant strings.
As a result, this patch includes the other necessary fixes to the code
base to reflect the const addition.

Signed-off-by: Russell Bryant <rbryant at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 2550f0265fa073d6af199d89a2ff1c34aeb52b17
      https://github.com/openvswitch/ovs/commit/2550f0265fa073d6af199d89a2ff1c34aeb52b17
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M vswitchd/bridge.c

  Log Message:
  -----------
  bridge: Publish error count in database's rstp_statistics.

The lower layers count errors but until now nothing actually reported them.

Found by inspection.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 01f13d4fffc96c32a77e1b9ff5f074eded26fc48
      https://github.com/openvswitch/ovs/commit/01f13d4fffc96c32a77e1b9ff5f074eded26fc48
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  vswitch: Document columns that had been previously overlooked.

A fair number of columns had been overlooked.  This documents them.

The patch is smaller than it appears because this rearranges the STP and
RSTP documentation to group configuration, status, and statistics together
in the documentation for clarity.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 1936897804f7ec8b1ff2aa719b041e0ff5c4cd79
      https://github.com/openvswitch/ovs/commit/1936897804f7ec8b1ff2aa719b041e0ff5c4cd79
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M vtep/vtep.xml

  Log Message:
  -----------
  vtep: Document the ipaddr column in the Mcast_Macs_Local table.

This had been overlooked.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: a826ac9040225ea28de8daf1ba6eff4a6572ca41
      https://github.com/openvswitch/ovs/commit/a826ac9040225ea28de8daf1ba6eff4a6572ca41
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M ovsdb/ovsdb-doc

  Log Message:
  -----------
  ovsdb-doc: Flag an error when a table or a column is left undocumented.

This should make it harder to forget documentation.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 57ba0a7715c1bde424bf6033616349c4f5db0ca7
      https://github.com/openvswitch/ovs/commit/57ba0a7715c1bde424bf6033616349c4f5db0ca7
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M ovsdb/ovsdb-doc
    M vswitchd/automake.mk
    M vswitchd/vswitch.xml
    M vtep/automake.mk
    M vtep/vtep.xml

  Log Message:
  -----------
  ovsdb-doc: Get manpage name from the XML file instead of command line.

This seems like a better place for it.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 7b8c46c8b54dc4e7893e7e2096da1872e3cd502c
      https://github.com/openvswitch/ovs/commit/7b8c46c8b54dc4e7893e7e2096da1872e3cd502c
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M ovsdb/ovsdb-doc
    M python/automake.mk
    A python/build/__init__.py
    A python/build/nroff.py

  Log Message:
  -----------
  ovsdb-doc: Factor out nroff formatting into a separate Python module.

This will make it cleaner to add another build-time program that generates
nroff from XML.

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


  Commit: a4e3c49571bb7fd44ed98933d968700f76665c15
      https://github.com/openvswitch/ovs/commit/a4e3c49571bb7fd44ed98933d968700f76665c15
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M Makefile.am
    A build-aux/xml2nroff

  Log Message:
  -----------
  xml2nroff: New program to generate a manpage from XML input.

I really can't stand nroff syntax.  This makes it possible to install
nroff but write in a more sensible XML syntax.

The following commit adds the first user.

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


  Commit: bcbb130f154cb017a5714ac97edcdef7b4032212
      https://github.com/openvswitch/ovs/commit/bcbb130f154cb017a5714ac97edcdef7b4032212
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M ovsdb/ovsdb-doc

  Log Message:
  -----------
  ovsdb-doc: Add license and copyright notice.

The copyright dates are taken from "git log --follow ovsdb/ovsdb-doc",
considering only Nicira authors' changes.  (Only one change was from
a non-Nicira author anyhow.)

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 8da7cd8c8ff8a2915f42f72ff2be609856b0b52d
      https://github.com/openvswitch/ovs/commit/8da7cd8c8ff8a2915f42f72ff2be609856b0b52d
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-19 (Thu, 19 Feb 2015)

  Changed paths:
    M tutorial/Tutorial.md
    M tutorial/automake.mk
    M tutorial/ovs-sandbox

  Log Message:
  -----------
  ovs-sandbox: Add an option to allow running ovs-vswitchd under gdb

It is some times useful to leverage the sandbox facility to experiment
and explore the internals of ovs-vswitchd.  Since GDB requires console
access for user inputs, this patch launch an xterm for GDB, The main
terminal continue to run the sub-shell as before. Exiting the sub-shell
will also kill the ovs-vswitchd under GDB (but not GDB itself currently)

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: bedd68540e055cc3a35d88bd9feb522488f59349
      https://github.com/openvswitch/ovs/commit/bedd68540e055cc3a35d88bd9feb522488f59349
  Author: Kentaro Ebisawa <ebiken.g at gmail.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M AUTHORS
    M FAQ.md
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  FAQ: Update VXLAN references from draft to RFC7348

VXLAN is now RFC, so we better to change the pointer to it.

Signed-off-by: Kentaro Ebisawa <ebiken.g at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: de15b104940fe4c656d948026c8c9bd57c6a3f96
      https://github.com/openvswitch/ovs/commit/de15b104940fe4c656d948026c8c9bd57c6a3f96
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Remove compat vxlan_src_port().

vxlan_src_port() has been replaced with the more generic
udp_flow_src_port() upstream. We already have a backport for this and
it is used everywhere where this is needed, so we can remove the
dead vxlan_src_port() function.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: eb6eebd28b30d2b39419764a1e843ed30405c3b9
      https://github.com/openvswitch/ovs/commit/eb6eebd28b30d2b39419764a1e843ed30405c3b9
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/.gitignore
    M datapath/linux/Modules.mk
    A datapath/linux/compat/include/net/udp_tunnel.h
    A datapath/linux/compat/udp_tunnel.c

  Log Message:
  -----------
  datapath: Account for "udp: Add udp_sock_create for UDP tunnels to open listener socket"

Upstream commit:
    udp: Add udp_sock_create for UDP tunnels to open listener socket

    Added udp_tunnel.c which can contain some common functions for UDP
    tunnels. The first function in this is udp_sock_create which is used
    to open the listener port for a UDP tunnel.

    Signed-off-by: Tom Herbert <therbert at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 8024e028 ("udp: Add udp_sock_create for UDP tunnels to open listener socket")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 131971cedf005cfab6bca005289f9aa6f11ebacd
      https://github.com/openvswitch/ovs/commit/131971cedf005cfab6bca005289f9aa6f11ebacd
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Account for "vxlan: Call udp_sock_create"

Upstream commit:
    vxlan: Call udp_sock_create

    In vxlan driver call common function udp_sock_create to create the
    listener UDP port.

    Signed-off-by: Tom Herbert <therbert at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 3ee64f39 ("vxlan: Call udp_sock_create")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 3dd9bffd29c550e1c34417ff97157a568cfd1dd7
      https://github.com/openvswitch/ovs/commit/3dd9bffd29c550e1c34417ff97157a568cfd1dd7
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath: Use udp_sock_create() for LISP.

Use the common udp_sock_create() for LISP, similar to what was
done for VXLAN.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: beabb775987236566e00505c849380762411b5a2
      https://github.com/openvswitch/ovs/commit/beabb775987236566e00505c849380762411b5a2
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/.gitignore
    M datapath/linux/Modules.mk
    M datapath/linux/compat/include/net/udp.h
    A datapath/linux/compat/udp.c

  Log Message:
  -----------
  datapath: Account for "udp: Generic functions to set checksum"

Upstream commit:
    udp: Generic functions to set checksum

    Added udp_set_csum and udp6_set_csum functions to set UDP checksums
    in packets. These are for simple UDP packets such as those that might
    be created in UDP tunnels.

    Signed-off-by: Tom Herbert <therbert at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: af5fcba7 ("udp: Generic functions to set checksum")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 49b507d99dc5100200a86a90863c532acb9bb972
      https://github.com/openvswitch/ovs/commit/49b507d99dc5100200a86a90863c532acb9bb972
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M FAQ.md

  Log Message:
  -----------
  FAQ.md: Update LTS release version number from 1.9 to 2.3.

The 2.3 branch has been the long-term release for a while now, but somehow
we forgot to update the FAQ.

Reported-by: Kentaro Ebisawa <ebiken.g at gmail.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: ee5315b9f90b106bd0eb8d1cab18e627d0d19c30
      https://github.com/openvswitch/ovs/commit/ee5315b9f90b106bd0eb8d1cab18e627d0d19c30
  Author: Russell Bryant <rbryant at redhat.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M lib/timeval.c

  Log Message:
  -----------
  timeval: Remove duplicate memset().

init_clock begins with a memset of 0 of the full clock struct.  This
memset at the end of a single struct member just makes extra sure that
it's set to 0, which is unnecessary.

Signed-off-by: Russell Bryant <rbryant at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: c2e3cbaf7bde655d7521a63dd57a13085125c3b4
      https://github.com/openvswitch/ovs/commit/c2e3cbaf7bde655d7521a63dd57a13085125c3b4
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M lib/jsonrpc.c
    M lib/stream-fd.c
    M lib/stream-fd.h
    M lib/stream-provider.h
    M lib/stream-ssl.c
    M lib/stream-tcp.c
    M lib/stream-unix.c
    M lib/stream.c
    M lib/stream.h
    M ovsdb/jsonrpc-server.c

  Log Message:
  -----------
  stream: Eliminate pstream_set_dscp().

This function is really of marginal utility.  This commit drops it and
makes the existing callers instead open a new pstream with the desired
dscp.

The ulterior motive here is that the set_dscp() function that actually sets
the DSCP on a socket really wants to know the address family (AF_INET vs.
AF_INET6).  We could plumb that down through the stream code, and that's
one reasonable option, but I thought that simply eliminating some calls
to set_dscp() where we don't already have the address family handy was
another reasonable way to go.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


  Commit: afc1d536743e2d869fe90712b51a57334b57e3cc
      https://github.com/openvswitch/ovs/commit/afc1d536743e2d869fe90712b51a57334b57e3cc
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M lib/socket-util.c
    M lib/socket-util.h
    M python/ovs/socket_util.py

  Log Message:
  -----------
  socket-util: Use correct address family in set_dscp(), instead of guessing.

The set_dscp() function, until now, tried to set the DSCP as IPv4 and as
IPv6. This worked OK on Linux, where an ENOPROTOOPT error made it really
clear which one was wrong, but FreeBSD uses EINVAL instead, which has
multiple meanings and which it therefore seems somewhat risky to ignore.
Instead, this commit just tries to set the correct address family's DSCP
option.

Tested by Alex Wang on FreeBSD 9.3.

Reported-by: Atanu Ghosh <atanu at acm.org>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Co-authored-by: Alex Wang <alexw at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Tested-by: Alex Wang <alexw at nicira.com>


  Commit: 8742957c2b5f65af4507c4345f7ccf177ae1361b
      https://github.com/openvswitch/ovs/commit/8742957c2b5f65af4507c4345f7ccf177ae1361b
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M lib/netdev-bsd.c
    M lib/ovs-router.c
    M lib/tnl-arp-cache.c
    M lib/tnl-ports.c
    M ofproto/ofproto-dpif-xlate.c

  Log Message:
  -----------
  userspace: Replace all uses of strncpy() by ovs_strlcpy().

strncpy() has a lot of pitfalls.  A while back we replaced all its uses by
calls to ovs_strlcpy() or ovs_strzcpy(), but some more have crept in.  This
commit fixes them.

Reported-by: Russell Bryant <rbryant at redhat.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>


  Commit: 4384556d10612617e77596cf1cca2b997a5f5264
      https://github.com/openvswitch/ovs/commit/4384556d10612617e77596cf1cca2b997a5f5264
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M INSTALL.Docker.md

  Log Message:
  -----------
  INSTALL.Docker: Fix malformed sentence.

While adding support to Github markup language, the sentence had
gotten malformed.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: cabd55169e8a175e6c9dd3dbf24ec511b6e16123
      https://github.com/openvswitch/ovs/commit/cabd55169e8a175e6c9dd3dbf24ec511b6e16123
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/datapath.c
    M datapath/vport.h

  Log Message:
  -----------
  datapath: Fix net exit.

Open vSwitch allows moving internal vport to different namespace
while still connected to the bridge. But when namespace deleted
OVS does not detach these vports, that results in dangling
pointer to netdevice which causes kernel panic as follows.
This issue is fixed by detaching all ovs ports from the deleted
namespace at net-exit.

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffffa0aadaa5>] ovs_vport_locate+0x35/0x80 [openvswitch]
Oops: 0000 [#1] SMP
Call Trace:
 [<ffffffffa0aa6391>] lookup_vport+0x21/0xd0 [openvswitch]
 [<ffffffffa0aa65f9>] ovs_vport_cmd_get+0x59/0xf0 [openvswitch]
 [<ffffffff8167e07c>] genl_family_rcv_msg+0x1bc/0x3e0
 [<ffffffff8167e319>] genl_rcv_msg+0x79/0xc0
 [<ffffffff8167d919>] netlink_rcv_skb+0xb9/0xe0
 [<ffffffff8167deac>] genl_rcv+0x2c/0x40
 [<ffffffff8167cffd>] netlink_unicast+0x12d/0x1c0
 [<ffffffff8167d3da>] netlink_sendmsg+0x34a/0x6b0
 [<ffffffff8162e140>] sock_sendmsg+0xa0/0xe0
 [<ffffffff8162e5e8>] ___sys_sendmsg+0x408/0x420
 [<ffffffff8162f541>] __sys_sendmsg+0x51/0x90
 [<ffffffff8162f592>] SyS_sendmsg+0x12/0x20
 [<ffffffff81764ee9>] system_call_fastpath+0x12/0x17

Reported-by: Assaf Muller <amuller at redhat.com>
Fixes: 46df7b81454("openvswitch: Add support for network namespaces.")
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
Reviewed-by: Thomas Graf <tgraf at noironetworks.com>
Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 7b4577a9da ("openvswitch: Fix net exit").
Acked-by: Andy Zhou <azhou at nicira.com>


  Commit: 9ffdbf41192d8455e0031da5361fb7645909dd9e
      https://github.com/openvswitch/ovs/commit/9ffdbf41192d8455e0031da5361fb7645909dd9e
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/gre.c
    M datapath/linux/compat/gso.c
    M datapath/linux/compat/gso.h
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/include/net/gre.h
    M datapath/linux/compat/include/net/ip_tunnels.h
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/ip_tunnels_core.c
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Enable OVS GSO to be used up to 3.18 if necessary.

There are two important GSO tunnel features that were introduced
after the 3.12 cutoff for our current out of tree GSO implementation:
 * 3.16 introduced support for outer UDP checksums.
 * 3.18 introduced support for verifying hardware support for protocols
   other than VXLAN.

In cases where these features are used, we should use OVS GSO to
ensure correct behavior. However, we also want to continue to use
kernel GSO or hardware TSO in existing situations. Therefore, this
extends the range of kernels where OVS GSO is available to 3.18 and
makes it easier to select which one to use.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a42ec67e1bc2a1081a1b40c505044b555368edd7
      https://github.com/openvswitch/ovs/commit/a42ec67e1bc2a1081a1b40c505044b555368edd7
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/include/net/udp_tunnel.h
    M datapath/linux/compat/udp_tunnel.c

  Log Message:
  -----------
  datapath: Account for "udp-tunnel: Add a few more UDP tunnel APIs"

Upstream commit:
    udp-tunnel: Add a few more UDP tunnel APIs

    Added a few more UDP tunnel APIs that can be shared by UDP based
    tunnel protocol implementation. The main ones are highlighted below.

    setup_udp_tunnel_sock() configures UDP listener socket for
    receiving UDP encapsulated packets.

    udp_tunnel_xmit_skb() and upd_tunnel6_xmit_skb() transmit skb
    using UDP encapsulation.

    udp_tunnel_sock_release() closes the UDP tunnel listener socket.

    Signed-off-by: Andy Zhou <azhou at nicira.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 6a93cc90 ("udp-tunnel: Add a few more UDP tunnel APIs")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: e4bafe5904e6c3d18d85c6bcc560521edfb714f2
      https://github.com/openvswitch/ovs/commit/e4bafe5904e6c3d18d85c6bcc560521edfb714f2
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/gre.c
    M datapath/linux/compat/ip_tunnels_core.c
    M datapath/linux/compat/vxlan.c
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath: Consistently set skb->inner_protocol for tunnels.

skb->inner_protocol is used by GSO and TSO for tunnels on new
kernels. Since we are setting up packets to be handled by the
kernel's GSO and not just our own, we need to initialize this
field properly.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b22a8d8773c3947d29aac337b955a786bb82b15d
      https://github.com/openvswitch/ovs/commit/b22a8d8773c3947d29aac337b955a786bb82b15d
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Account for "vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions."

Upstream commit:
    vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions.

    Simplify vxlan implementation using common UDP tunnel APIs.

    Signed-off-by: Andy Zhou <azhou at nicira.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Using the upstream functions where available also has the side effect
of ensuring that we can use hardware offloads. The GBP changes forced
the use of the OVS emulated GSO path on kernels that lack GBP. This
resulted in the loss of VXLAN offload on earlier kernels. This restores
the offload support (for both GBP and non-GBP VXLAN).

Upstream: acbf74a7 ("vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions.")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 22c18a5696951112acaac2d8d789de706d353040
      https://github.com/openvswitch/ovs/commit/22c18a5696951112acaac2d8d789de706d353040
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath: Use additional common UDP functions for LISP.

LISP can also take advantage of setup_udp_tunnel_sock() and
udp_tunnel_xmit_skb() to increase code reuse.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 90d8188c149c0ea30f9ea1cfea3b4da77dd93f9b
      https://github.com/openvswitch/ovs/commit/90d8188c149c0ea30f9ea1cfea3b4da77dd93f9b
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/linux/if_vlan.h
    M datapath/linux/compat/vxlan.c

  Log Message:
  -----------
  datapath: Account for "vlan: introduce *vlan_hwaccel_push_inside helpers"

Upstream commit:
    vlan: introduce *vlan_hwaccel_push_inside helpers

    Use them to push skb->vlan_tci into the payload and avoid code
    duplication.

    Signed-off-by: Jiri Pirko <jiri at resnulli.us>
    Acked-by: Pravin B Shelar <pshelar at nicira.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: 5968250c ("vlan: introduce *vlan_hwaccel_push_inside helpers")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 7bdcee3ee0b8332c0fecef65745abffa9da9c09f
      https://github.com/openvswitch/ovs/commit/7bdcee3ee0b8332c0fecef65745abffa9da9c09f
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/net/udp_tunnel.h
    M datapath/linux/compat/udp_tunnel.c
    M datapath/linux/compat/vxlan.c
    M datapath/vport-lisp.c

  Log Message:
  -----------
  datapath: Account for "udp: Do not require sock in udp_tunnel_xmit_skb"

Upstream commit:
    udp: Do not require sock in udp_tunnel_xmit_skb

    The UDP tunnel transmit functions udp_tunnel_xmit_skb and
    udp_tunnel6_xmit_skb include a socket argument. The socket being
    passed to the functions (from VXLAN) is a UDP created for receive
    side. The only thing that the socket is used for in the transmit
    functions is to get the setting for checksum (enabled or zero).
    This patch removes the argument and and adds a nocheck argument
    for checksum setting. This eliminates the unnecessary dependency
    on a UDP socket for UDP tunnel transmit.

    Signed-off-by: Tom Herbert <therbert at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: d998f8ef ("udp: Do not require sock in udp_tunnel_xmit_skb")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: a19920cc02c2c5e4f3883dbb141dcffa04020a5f
      https://github.com/openvswitch/ovs/commit/a19920cc02c2c5e4f3883dbb141dcffa04020a5f
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/.gitignore
    M datapath/linux/Modules.mk
    A datapath/linux/compat/geneve.c
    M datapath/linux/compat/include/net/geneve.h
    M datapath/vport-geneve.c

  Log Message:
  -----------
  datapath: Backport upstream Geneve implementation.

This resolves the differences between the OVS Geneve implementation
and the upstream kernel, particularly in the area of the split
between vport-geneve.c and the generic Geneve data plane.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2d79a600a6bafe290b4fca62062ea6bb3993578d
      https://github.com/openvswitch/ovs/commit/2d79a600a6bafe290b4fca62062ea6bb3993578d
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-02-20 (Fri, 20 Feb 2015)

  Changed paths:
    M datapath/linux/compat/include/net/vxlan.h
    M datapath/linux/compat/vxlan.c
    M datapath/vport-vxlan.c

  Log Message:
  -----------
  datapath: Account for "openvswitch: Add support for checksums on UDP tunnels."

Upstream commit:
    openvswitch: Add support for checksums on UDP tunnels.

    Currently, it isn't possible to request checksums on the outer UDP
    header of tunnels - the TUNNEL_CSUM flag is ignored. This adds
    support for requesting that UDP checksums be computed on transmit
    and properly reported if they are present on receive.

    Signed-off-by: Jesse Gross <jesse at nicira.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

Upstream: b8693877 ("openvswitch: Add support for checksums on UDP tunnels.")
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Thomas Graf <tgraf at noironetworks.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 4cf272aaf6bc18cb87931c4487095ec1372a0ffd
      https://github.com/openvswitch/ovs/commit/4cf272aaf6bc18cb87931c4487095ec1372a0ffd
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M tutorial/ovs-sandbox

  Log Message:
  -----------
  ovs-sandbox: Show the running program on xterm's title

When debugging multiple programs under GDB, it will be easier to
identify xterms with the program name displayed as title. Without
this patch, xterms will have the title of "gdb", which is the first
program the xterm executes. This change is useful for the next patch.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 4b814d41b816dc868590646d594ce701d3e13211
      https://github.com/openvswitch/ovs/commit/4b814d41b816dc868590646d594ce701d3e13211
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M tutorial/Tutorial.md
    M tutorial/ovs-sandbox

  Log Message:
  -----------
  ovs-sandbox: Add -d option to run ovsdb-server under GDB

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: a8353802a4d5b436ead2de728e549929cfdda232
      https://github.com/openvswitch/ovs/commit/a8353802a4d5b436ead2de728e549929cfdda232
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M AUTHORS
    M utilities/ovs-docker

  Log Message:
  -----------
  ovs-docker: Use a different mechanism to check for commands.

Currently, the script uses '--version' option from different commands
to check for their availability. uuidgen on Centos6 has been reported
not to have the '--version' option causing failure in script invocation.

This commit looks for the utilities in $PATH instead. The code is
copied from build-aux/dist-docs.

Reported-by: Michael J. Smalley <michaeljsmalley at gmail.com>
Suggested-by: Ben Pfaff <blp at nicira.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 386ed63f0f08b39555e233ba5ba609eae440295e
      https://github.com/openvswitch/ovs/commit/386ed63f0f08b39555e233ba5ba609eae440295e
  Author: Saurabh Shah <ssaurabh at vmware.com>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M lib/stream-tcp.c

  Log Message:
  -----------
  stream-tcp: Remove extra initializer in pwindows_pstream_class.

commit c2e3cbaf ("stream: Eliminate pstream_set_dscp().") removed
the set_dscp() callback from pstream_class.

Signed-off-by: Saurabh Shah <ssaurabh at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b809f733edd2185469c55ef03eda5f3191ef6681
      https://github.com/openvswitch/ovs/commit/b809f733edd2185469c55ef03eda5f3191ef6681
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M FAQ.md

  Log Message:
  -----------
  FAQ.md: Mention Linux version that first could handle IPFIX flow monitoring.

I think that the critical commit is commit 4490108b4a5ada (openvswitch:
Allow OVS_USERSPACE_ATTR_USERDATA to be variable length.), which first
appeared in Linux 3.10.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Romain Lenglet <romain.lenglet at oracle.com>


  Commit: 04abfbe727fa60756bf3f3da2fac57b7222b6d3f
      https://github.com/openvswitch/ovs/commit/04abfbe727fa60756bf3f3da2fac57b7222b6d3f
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M ovsdb/jsonrpc-server.c

  Log Message:
  -----------
  ovsdb: Warn about reaching max session limit

Without the log message, it was not obvious why ovsdb-server no longer
accepts new connections when the session limit was reached. This patch
adds a log message to make it obvious.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Russell Bryant <rbryant at redhat.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: bbc45f03d93ad85a0a84c8e3741a94e8a6d2f75e
      https://github.com/openvswitch/ovs/commit/bbc45f03d93ad85a0a84c8e3741a94e8a6d2f75e
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M ovsdb/jsonrpc-server.c

  Log Message:
  -----------
  ovsdb: Raise the jsonrpc server session limit

Raise the connection limit to allow larger number of concurrent
ovsdb-server connections. Note, ovsdb-server may not perform well
at the new limit. It is rather a prelude to further scaling tests and
optimizations.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: d3cb080e54ed7dad66ff14dd4bc29350fc8ae867
      https://github.com/openvswitch/ovs/commit/d3cb080e54ed7dad66ff14dd4bc29350fc8ae867
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-25 (Wed, 25 Feb 2015)

  Changed paths:
    M NEWS
    M lib/meta-flow.h
    M lib/ofp-actions.c
    M utilities/ovs-ofctl.8.in

  Log Message:
  -----------
  OpenFlow 1.5 is final, so change OF1.5 draft references to just say OF1.5.

Reported-by: Jean Tourrilhes <jt at hpl.hp.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jean Tourrilhes <jt at hpl.hp.com>


  Commit: d08113d694b9934a9207166b59f3d86fa50f07f2
      https://github.com/openvswitch/ovs/commit/d08113d694b9934a9207166b59f3d86fa50f07f2
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-26 (Thu, 26 Feb 2015)

  Changed paths:
    M datapath/flow_netlink.c

  Log Message:
  -----------
  datapath: Fix return of uninitialized variable.

This commit fixes a return of uninitialized variable bug.
The bug can cause failures of operations like flow_add.

VMware-BZ: #1405810

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 938a73dafdfb934fbae3de4358eecb28a93e5d82
      https://github.com/openvswitch/ovs/commit/938a73dafdfb934fbae3de4358eecb28a93e5d82
  Author: Ben Pfaff <blp at nicira.com>
  Date:   2015-02-26 (Thu, 26 Feb 2015)

  Changed paths:
    M lib/util.c

  Log Message:
  -----------
  util: Fix typo in comment.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Justin Pettit <jpettit at nicira.com>


  Commit: 59f280f173d817150565010f5dc1a9301d02651b
      https://github.com/openvswitch/ovs/commit/59f280f173d817150565010f5dc1a9301d02651b
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-26 (Thu, 26 Feb 2015)

  Changed paths:
    M tests/test-hash.c

  Log Message:
  -----------
  test-hash: Make check_256byte_hash() test no 1-bits set case.

The test comment mentions that we will test the no 1-bits set case.
So, this commit makes sure that it is tested.

Signed-off-by: Alex Wang <alexw at nicira.com>

---
PATCH->V2:
- explain why calling set_bit128 with i or j == n_bits is okay.


  Commit: 135fec593706a47dad4a9debdd50e6c13aa06f86
      https://github.com/openvswitch/ovs/commit/135fec593706a47dad4a9debdd50e6c13aa06f86
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M tests/test-hash.c

  Log Message:
  -----------
  test-hash: Refine the check_256byte_hash().

This commit refines the check_256byte_hash() function by moving
some checks to outer loop.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: 2a638b8d22be66bb631b2273a72cd4c8451de065
      https://github.com/openvswitch/ovs/commit/2a638b8d22be66bb631b2273a72cd4c8451de065
  Author: Alex Wang <alexw at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M lib/hash.h
    M tests/test-hash.c

  Log Message:
  -----------
  test-hash: Remove the check_word_hash() for hash_bytes128_cb.

The original test fails on big-endian system due to the hash function
performing not as well when input is uint32_t.  In reality, users should
only use hash_bytes128() to hash words larger than 128 bits (e.g. struct
flow).  Besides, we do check the 1-bit set case for 16 128-bit words in
following test case.  Therefore, the cleanest way to fix the failure
in big-endian system seems to be just removing the check_word_hash()
test for hash_bytes128_cb.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


  Commit: db7f2238278e9834e1ba526e44512ba30335075a
      https://github.com/openvswitch/ovs/commit/db7f2238278e9834e1ba526e44512ba30335075a
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M datapath/datapath.c
    M datapath/flow_netlink.c
    M datapath/flow_netlink.h

  Log Message:
  -----------
  datapath: Refactor ovs_nla_fill_match().

Refactor the ovs_nla_fill_match() function into separate netlink
serialization functions ovs_nla_put_{unmasked_key,mask}(). Modify
ovs_nla_put_flow() to handle attribute nesting and expose the 'is_mask'
parameter - all callers need to nest the flow, and callers have better
knowledge about whether it is serializing a mask or not.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: 7bdf9b15e34aec9643f6fa98685bc80ec702f5a6
      https://github.com/openvswitch/ovs/commit/7bdf9b15e34aec9643f6fa98685bc80ec702f5a6
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: Refactor ovs_flow_tbl_insert().

Rework so that ovs_flow_tbl_insert() calls flow_{key,mask}_insert().
This tidies up a future patch.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: 0d8e6be8d7d14090f1bbdf78920bb72fe3fba2d9
      https://github.com/openvswitch/ovs/commit/0d8e6be8d7d14090f1bbdf78920bb72fe3fba2d9
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: Use sw_flow_key_range for key ranges.

These minor tidyups make a future patch a little tidier.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: c623ba497a10fc8526d529261453facf227d468e
      https://github.com/openvswitch/ovs/commit/c623ba497a10fc8526d529261453facf227d468e
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M acinclude.m4
    M datapath/linux/compat/include/net/genetlink.h

  Log Message:
  -----------
  compat: Add genlmsg_parse() helper function.

The first user will be the next patch.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: bc619e29dfcb0d41607f5bc9002fe9fd046cb919
      https://github.com/openvswitch/ovs/commit/bc619e29dfcb0d41607f5bc9002fe9fd046cb919
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M datapath/datapath.c
    M datapath/flow.h
    M datapath/flow_netlink.c
    M datapath/flow_netlink.h
    M datapath/flow_table.c
    M datapath/flow_table.h
    M datapath/linux/compat/include/linux/openvswitch.h

  Log Message:
  -----------
  datapath: Add support for unique flow IDs.

Previously, flows were manipulated by userspace specifying a full,
unmasked flow key. This adds significant burden onto flow
serialization/deserialization, particularly when dumping flows.

This patch adds an alternative way to refer to flows using a
variable-length "unique flow identifier" (UFID). At flow setup time,
userspace may specify a UFID for a flow, which is stored with the flow
and inserted into a separate table for lookup, in addition to the
standard flow table. Flows created using a UFID must be fetched or
deleted using the UFID.

All flow dump operations may now be made more terse with OVS_UFID_F_*
flags. For example, the OVS_UFID_F_OMIT_KEY flag allows responses to
omit the flow key from a datapath operation if the flow has a
corresponding UFID. This significantly reduces the time spent assembling
and transacting netlink messages. With all OVS_UFID_F_OMIT_* flags
enabled, the datapath only returns the UFID and statistics for each flow
during flow dump, increasing ovs-vswitchd revalidator performance by 40%
or more.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: David S. Miller <davem at davemloft.net>


  Commit: 5f19d8ac86246c886e88eff54bbfca9daf4694b7
      https://github.com/openvswitch/ovs/commit/5f19d8ac86246c886e88eff54bbfca9daf4694b7
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M datapath/flow_table.c

  Log Message:
  -----------
  datapath: Initialize unmasked key and uid len.

Flow alloc needs to initialize unmasked key pointer. Otherwise
it can crash kernel trying to free random unmasked-key pointer.

general protection fault: 0000 [#1] SMP
3.19.0-rc6-net-next+ #457
Hardware name: Supermicro X7DWU/X7DWU, BIOS  1.1 04/30/2008
RIP: 0010:[<ffffffff8111df0e>] [<ffffffff8111df0e>] kfree+0xac/0x196
Call Trace:
 [<ffffffffa060bd87>] flow_free+0x21/0x59 [openvswitch]
 [<ffffffffa060bde0>] ovs_flow_free+0x21/0x23 [openvswitch]
 [<ffffffffa0605b4a>] ovs_packet_cmd_execute+0x2f3/0x35f [openvswitch]
 [<ffffffffa0605995>] ? ovs_packet_cmd_execute+0x13e/0x35f [openvswitch]
 [<ffffffff811fe6fb>] ? nla_parse+0x4f/0xec
 [<ffffffff8139a2fc>] genl_family_rcv_msg+0x26d/0x2c9
 [<ffffffff8107620f>] ? __lock_acquire+0x90e/0x9aa
 [<ffffffff8139a3be>] genl_rcv_msg+0x66/0x89
 [<ffffffff8139a358>] ? genl_family_rcv_msg+0x2c9/0x2c9
 [<ffffffff81399591>] netlink_rcv_skb+0x3e/0x95
 [<ffffffff81399898>] ? genl_rcv+0x18/0x37
 [<ffffffff813998a7>] genl_rcv+0x27/0x37
 [<ffffffff81399033>] netlink_unicast+0x103/0x191
 [<ffffffff81399382>] netlink_sendmsg+0x2c1/0x310
 [<ffffffff811007ad>] ? might_fault+0x50/0xa0
 [<ffffffff8135c773>] do_sock_sendmsg+0x5f/0x7a
 [<ffffffff8135c799>] sock_sendmsg+0xb/0xd
 [<ffffffff8135cacf>] ___sys_sendmsg+0x1a3/0x218
 [<ffffffff8113e54b>] ? get_close_on_exec+0x86/0x86
 [<ffffffff8115a9d0>] ? fsnotify+0x32c/0x348
 [<ffffffff8115a720>] ? fsnotify+0x7c/0x348
 [<ffffffff8113e5f5>] ? __fget+0xaa/0xbf
 [<ffffffff8113e54b>] ? get_close_on_exec+0x86/0x86
 [<ffffffff8135cccd>] __sys_sendmsg+0x3d/0x5e
 [<ffffffff8135cd02>] SyS_sendmsg+0x14/0x16
 [<ffffffff81411852>] system_call_fastpath+0x12/0x17

Reported-by: Or Gerlitz <ogerlitz at mellanox.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: b037bc5a463dfb4ff6fa0680068a088c495a7246
      https://github.com/openvswitch/ovs/commit/b037bc5a463dfb4ff6fa0680068a088c495a7246
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M datapath/flow_netlink.c

  Log Message:
  -----------
  datapath: Fix masked key serialization.

Fix typo where mask is used rather than key.

Fixes: 74ed7ab9264("openvswitch: Add support for unique flow IDs.")
Reported-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 7915c9d69d6597d723d2ef920753b30dccce6b54
      https://github.com/openvswitch/ovs/commit/7915c9d69d6597d723d2ef920753b30dccce6b54
  Author: Joe Stringer <joestringer at nicira.com>
  Date:   2015-02-27 (Fri, 27 Feb 2015)

  Changed paths:
    M ofproto/ofproto-dpif.c

  Log Message:
  -----------
  ofproto-dpif: Fix UFID typo.

While UFIDs are technically userspace flow IDs, the canonical name is
"unique flow identifiers".

Signed-off-by: Joe Stringer <joestringer at nicira.com>


  Commit: b3a92948c954fdd80cbaac54ad49a1d38317cc5e
      https://github.com/openvswitch/ovs/commit/b3a92948c954fdd80cbaac54ad49a1d38317cc5e
  Author: Alexey I. Froloff <raorn at raorn.name>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M utilities/ovs-save

  Log Message:
  -----------
  ovs-save: Preserve IPv6 link-local address on interface save.

If IPv6 link-local address is removed from interface, it is unable to
receive any IPv6 packets, including Route Advertisements.

In save_interface only skip IPv4 "scope link" addresses.

Signed-off-by: Alexey I. Froloff <raorn at raorn.name>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: 709344386fd84b92aef6e5301539f69d4e7a2e61
      https://github.com/openvswitch/ovs/commit/709344386fd84b92aef6e5301539f69d4e7a2e61
  Author: Gianluca Merlo <gianluca.merlo at gmail.com>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M utilities/ovs-docker

  Log Message:
  -----------
  ovs-docker: check if port is already attached for container/interface

Reuse code for determining attached port to prevent ovs-docker to proceed if a
port for the given container and interface is already attached.

Signed-off-by: Gianluca Merlo <gianluca.merlo at gmail.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: c7794d20f5617432edb96b5b7ee57ecb113af940
      https://github.com/openvswitch/ovs/commit/c7794d20f5617432edb96b5b7ee57ecb113af940
  Author: Gurucharan Shetty <gshetty at nicira.com>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M AUTHORS

  Log Message:
  -----------
  AUTHORS: Add Gianluca Merlo as an author.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 5aa5d00e989c31650501d96c38c835e256c47593
      https://github.com/openvswitch/ovs/commit/5aa5d00e989c31650501d96c38c835e256c47593
  Author: Mark Maglana <mmaglana at gmail.com>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M vtep/ovs-vtep

  Log Message:
  -----------
  vtep: Limit the split elements to 2 (maxsplit + 1)

This change ensures that we always end up with two elements even
if the name of the physical port contains dashes. For example, a
binding of "0100-br0-eth1" will be split to ["0100", "br0-eth1"]
instead of ["0100", "br0", "eth1"].

Signed-off-by: Mark Maglana <mmaglana at gmail.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>


  Commit: 67ff4a6b08f210a9515a1b231889b2c66c53c567
      https://github.com/openvswitch/ovs/commit/67ff4a6b08f210a9515a1b231889b2c66c53c567
  Author: Pravin B Shelar <pshelar at nicira.com>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M AUTHORS
    A INSTALL.RHEL
    M Makefile.am
    M NEWS
    M acinclude.m4
    M build-aux/extract-ofp-msgs
    M configure.ac
    M datapath/actions.c
    A datapath/checksum.h
    M datapath/compat.h
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/flow.c
    M datapath/flow.h
    M datapath/linux/Modules.mk
    M datapath/linux/compat/exthdrs_core.c
    A datapath/linux/compat/genetlink.inc
    M datapath/linux/compat/include/linux/etherdevice.h
    M datapath/linux/compat/include/linux/kernel.h
    M datapath/linux/compat/include/linux/openvswitch.h
    M datapath/linux/compat/include/linux/rtnetlink.h
    M datapath/linux/compat/include/net/genetlink.h
    M datapath/linux/compat/include/net/ipv6.h
    M datapath/linux/compat/include/net/netlink.h
    M datapath/linux/compat/netdevice.c
    A datapath/tunnel.c
    A datapath/tunnel.h
    A datapath/vport-capwap.c
    M datapath/vport-gre.c
    M datapath/vport-internal_dev.c
    M datapath/vport-netdev.c
    M datapath/vport.c
    M datapath/vport.h
    M debian/changelog
    M debian/rules
    M include/openflow/nicira-ext.h
    A include/openvswitch/tunnel.h
    M lib/cfm.c
    M lib/csum.c
    M lib/csum.h
    M lib/daemon.c
    A lib/dpif-linux.c
    M lib/dpif-netdev.c
    M lib/flow.c
    M lib/flow.h
    M lib/hash.h
    M lib/learning-switch.c
    M lib/match.c
    M lib/match.h
    M lib/meta-flow.c
    M lib/meta-flow.h
    M lib/netdev-vport.c
    M lib/netlink-socket.c
    M lib/nx-match.c
    M lib/odp-util.c
    M lib/odp-util.h
    M lib/ofp-actions.c
    M lib/ofp-msgs.c
    M lib/ofp-parse.c
    M lib/ofp-print.c
    M lib/ofp-util.c
    M lib/ovsdb-idl.c
    M lib/packets.c
    M lib/packets.h
    M lib/rconn.c
    M lib/socket-util.c
    M lib/vlog.c
    A lib/worker.c
    M ofproto/bond.c
    M ofproto/connmgr.c
    A ofproto/ofproto-dpif-governor.c
    M ofproto/ofproto-dpif.c
    M ofproto/ofproto-unixctl.man
    M ofproto/ofproto.c
    M ovsdb/jsonrpc-server.c
    M python/ovs/socket_util.py
    M rhel/etc_init.d_openvswitch
    M rhel/etc_sysconfig_network-scripts_ifdown-ovs
    M rhel/etc_sysconfig_network-scripts_ifup-ovs
    M tests/interface-reconfigure.at
    M tests/learn.at
    M tests/odp.at
    M tests/ofp-print.at
    M tests/ofproto-dpif.at
    M tests/ofproto.at
    M tests/ovs-ofctl.at
    M tests/ovs-vsctl.at
    M tests/ovsdb-server.at
    M tests/test-flows.c
    M utilities/ovs-ctl.in
    M utilities/ovs-ofctl.8.in
    M utilities/ovs-save
    A vswitchd/ovs-brcompatd.8.in
    A vswitchd/ovs-brcompatd.c
    M vswitchd/vswitch.xml
    M xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync

  Log Message:
  -----------
  Merge branch 'branch-1.9' of github.com:openvswitch/ovs into branch-1.9

Conflicts:
	AUTHORS
	INSTALL.RHEL
	Makefile.am
	NEWS
	acinclude.m4
	build-aux/extract-ofp-msgs
	configure.ac
	datapath/actions.c
	datapath/checksum.h
	datapath/datapath.c
	datapath/datapath.h
	datapath/flow.c
	datapath/flow.h
	datapath/linux/Modules.mk
	datapath/linux/compat/exthdrs_core.c
	datapath/linux/compat/genetlink.inc
	datapath/linux/compat/include/linux/etherdevice.h
	datapath/linux/compat/include/linux/kernel.h
	datapath/linux/compat/include/linux/openvswitch.h
	datapath/linux/compat/include/linux/rtnetlink.h
	datapath/linux/compat/include/net/genetlink.h
	datapath/linux/compat/include/net/ipv6.h
	datapath/linux/compat/include/net/netlink.h
	datapath/linux/compat/netdevice.c
	datapath/tunnel.c
	datapath/tunnel.h
	datapath/vport-capwap.c
	datapath/vport-gre.c
	datapath/vport-internal_dev.c
	datapath/vport-netdev.c
	datapath/vport.c
	datapath/vport.h
	debian/changelog
	debian/rules
	include/openflow/nicira-ext.h
	include/openvswitch/tunnel.h
	lib/cfm.c
	lib/csum.c
	lib/csum.h
	lib/daemon.c
	lib/dpif-linux.c
	lib/dpif-netdev.c
	lib/flow.c
	lib/flow.h
	lib/hash.h
	lib/learning-switch.c
	lib/match.c
	lib/match.h
	lib/meta-flow.c
	lib/meta-flow.h
	lib/netdev-vport.c
	lib/netlink-socket.c
	lib/nx-match.c
	lib/odp-util.c
	lib/odp-util.h
	lib/ofp-actions.c
	lib/ofp-msgs.c
	lib/ofp-parse.c
	lib/ofp-print.c
	lib/ofp-util.c
	lib/ovsdb-idl.c
	lib/packets.c
	lib/packets.h
	lib/rconn.c
	lib/socket-util.c
	lib/vlog.c
	liib/worker.c
	ofproto/bond.c
	ofproto/connmgr.c
	ofproto/ofproto-dpif-governor.c
	ofproto/ofproto-dpif.c
	ofproto/ofproto-unixctl.man
	ofproto/ofproto.c
	ovsdb/jsonrpc-server.c
	python/ovs/socket_util.py
	rhel/etc_init.d_openvswitch
	rhel/etc_sysconfig_network-scripts_ifdown-ovs
	rhel/etc_sysconfig_network-scripts_ifup-ovs
	tests/interface-reconfigure.at
	tests/learn.at
	tests/odp.at
	tests/ofp-print.at
	tests/ofproto-dpif.at
	tests/ofproto.at
	tests/ovs-ofctl.at
	tests/ovs-vsctl.at
	tests/ovsdb-server.at
	tests/test-flows.c
	utilities/ovs-ctl.in
	utilities/ovs-ofctl.8.in
	utilities/ovs-save
	vswitchd/ovs-brcompatd.8.in
	vswitchd/ovs-brcompatd.c
	vswitchd/vswitch.xml
	xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync


Compare: https://github.com/openvswitch/ovs/compare/8ef40319f430...67ff4a6b08f2


More information about the git mailing list