NEWS: Move learning timeout changes to 1.5.0 section.

Changes to the default MAC learning timeout and making it configurable
were added in 1.5.0, not 1.6.0.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Set dates for release of 1.5.0.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
poll-loop: More strictly rate-limit high CPU use logging.

120 messages per minute just isn't helpful.

Signed-off-by: Ben Pfaff <blp@nicira.com>
dpif-linux: Avoid pessimal behavior when kernel-to-user buffers overflow.

When a kernel-to-user Netlink buffer overflows, the kernel reports
ENOBUFS without passing along an actual message.  When it does this,
we should immediately try again, because we know that there is a
message waiting, instead of reporting the error to the caller.

This improves the OVS response rate to "hping3 --flood" traffic by
a few percentage points in my testing.

Signed-off-by: Ben Pfaff <blp@nicira.com>
dpif-linux: Slightly refactor internal data structures.

An initial attempt also replaced the 'uint32_t ready_mask' in struct
dpif_linux by a 'bool ready' in each struct dpif_channel, but I wasn't
happy with the result (the ready_mask bitmap works out really well) and so
I dropped that part.

Signed-off-by: Ben Pfaff <blp@nicira.com>
dpif-linux: Log details when a packet is lost.

Until now, when a packet was dropped in the kernel-to-user buffers, we
logged the occurrence but nothing that would allow a person reading the
log after the fact to learn why it was dropped.  This commit adds details
that identify the major sources of packets in the buffer, which should
help.

Signed-off-by: Ben Pfaff <blp@nicira.com>
ovsdb-client: Fix bugs in man page

In commit 53ffefe9 (ovsdb-client: Make "server" and "database"
arguments optional.), two errors were introduced.  "list-columns"
appeared twice in the list of commands, the first instance should be
"list-tables".  The "monitor" command now lists optional "column"
arguments.

Signed-off-by: Bruce Davie <bsd@nicira.com>
Signed-off-by: Bruce Davie <bdavie@nicira.com>
Signed-off-by: Justin Pettit <jpettit@nicira.com>
dpif-linux: Fix invalid format specifier.

This fixes the following warning on my system. "format '%d' expects
argument of type 'int', but argument 5 has type 'long int'"

Signed-off-by: Ethan Jackson <ethan@nicira.com>
packets: Fix eth_addr_equal_except().

It turns out that eth_addr_equal_except() computed the exact
opposite of what it purported to.  It returned true if the two
arguments where *not* equal.  This is extremely confusing, so this
patch changes it.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
packets: Generalize reserved RSPAN protocols.

Open vSwitch refuses to mirror certain destination addresses in
addition to those classified by eth_addr_is_reserved().  Looking
through the uses of eth_addr_is_reserved(), one finds that no
callers should be using the additional addresses which mirroring
drops.  This patch folds the additional addresses dropped in the
mirroring code, into the more general eth_addr_is_reserverd()
function.

This patch also changes the implementation in a way that is
slightly less efficient, but much easier to read and extend int he
future.

Bug #11755.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
packets: Update the reserved protocols list.

The protocols added in this patch should be considered "reserved"
and not forward when "forward-bpdu" is false, nor should they be
mirrored.

Bug #11755.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
ofproto-dpif: Avoid calling eth_addr_is_reserved().

eth_addr_is_reserved() is a bit more expensive than it used to be,
so it makes sense to avoid calling it when convenient as an
optimization.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
ofproto: Fix use after free in ofoperation_complete().

In one edge case, ofoperation_complete() destroys its rule, without
updating its ofoperation that the rule is gone.  Later in the same
function, ofoperation_destroy() attempts to modify the rule which
already destroyed.

Bug #11797.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
datapath: Fix use-after-free bug in dp_notify.

dp_notify, in unregister case, is accessing vport after detaching
it. Following patch fixes it.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
datapath: Fix sparse warning on BUILD_BUG_ON_NOT_POWER_OF_2 definition.

BUILD_BUG_ON_NOT_POWER_OF_2 could been defined in kernel.h or bug.h
depending on kernel version.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
packets: Use RARPs for learning packets.

Traditionally Open vSwitch had used 802.2 SNAP packets to update
upstream switch learning tables when necessary.  This approach had
advantages in that debugging information could be embedded in the
packet helping hapless admins figure out what's going on.  However,
since both qemu and VMware use RARP for this purpose, it seems
appropriate to fall in line with the defacto standard.

Requested-by: Ben Basler <bbasler@nicira.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
lacp: Print may_enable flag in appctl output.

I would have found this helpful when debugging a problem recently.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
packets: Rename compose_benign_packet().

The name compose_rarp() more clearly describes what it's doing now.

Requested-by: Justin Pettit <jpettit@nicira.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
openflow: Use spaces for indentation

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
dpif-netdev: Fix use-after-free in dpif_netdev_recv.

Found by valgrind.

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