Re: [ovs-dev] [PATCH 1/2] tests: Clean up idltest on distclean.

2014-05-27 Thread Joe Stringer
Right, I didn't see that before. So I'm a bit confused why the distcleancheck target is complaining about these files. Are the ovsidl test files added to OVSIDL_BUILT after it is added to EXTRA_DIST? I see it complaining about lib/socket-util-unix.{lo,o} now, too. On 28 May 2014 03:11, Ben Pfaf

Re: [ovs-dev] [branch-2.3] revalidator: Eliminate duplicate flow handling.

2014-05-27 Thread Joe Stringer
Yeah, I'd like to get a gauge of this as well. I'll follow up on this. On 28 May 2014 14:28, Ethan Jackson wrote: > Could we measure if this actually causes a performance degradation? > I'd honestly be surprised if it does . . . My guess is our bottlenecks > are elsewhere, but perhaps they aren

Re: [ovs-dev] [branch-2.3] revalidator: Eliminate duplicate flow handling.

2014-05-27 Thread Ethan Jackson
Could we measure if this actually causes a performance degradation? I'd honestly be surprised if it does . . . My guess is our bottlenecks are elsewhere, but perhaps they aren't. Ethan On Tue, May 27, 2014 at 7:13 PM, Joe Stringer wrote: > Thanks for the Ack, I pushed this to branch-2.3. > > I'd

Re: [ovs-dev] [PACKET_OUT v2] ofproto-dpif: treat non-datapath ports as local port for OFPT_PACKET_OUT

2014-05-27 Thread YAMAMOTO Takashi
hi, > Yamamoto San, thanks for following up on this issue. Yes, you are > right, both DP_HASH and RECIRC actions are not handled in > SLOW_ACTION. > > RECIRC action can be handled like output action, by using the helper function. > > DP_HASH action, in theory, can also be handled in a helper f

Re: [ovs-dev] [branch-2.3] revalidator: Eliminate duplicate flow handling.

2014-05-27 Thread Joe Stringer
Thanks for the Ack, I pushed this to branch-2.3. I'd like to send a patch for master anyway, in part so that we ensure to address this (fix the bug, and make the code more readable), and in part because it still matters if newer userspace is used with an older kernel. On 28 May 2014 13:52, Alex W

Re: [ovs-dev] [branch-2.3] revalidator: Eliminate duplicate flow handling.

2014-05-27 Thread Alex Wang
Acked-by: Alex Wang For master, I'm about to refactor the datapath so that we never dump duplicated flows. So, I think we should consider refactoring master after that. Thanks, Alex Wang, On Tue, May 27, 2014 at 6:19 PM, Joe Stringer wrote: > A series of bugs have been identified recently

Re: [ovs-dev] [branch-2.3] revalidator: Eliminate duplicate flow handling.

2014-05-27 Thread Joe Stringer
Due to the differences between master and branch-2.3 and pressure to get this out, I've targetted this first at branch-2.3. I intend to prepare an equivalent patch for master, separately. On 28 May 2014 13:19, Joe Stringer wrote: > A series of bugs have been identified recently that are caused

[ovs-dev] [branch-2.3] revalidator: Eliminate duplicate flow handling.

2014-05-27 Thread Joe Stringer
A series of bugs have been identified recently that are caused by a combination of the awkward flow dump API, possibility of duplicate flows in a flow dump, and premature optimisation of the revalidator logic. This patch attempts to simplify the revalidator logic by combining multiple critical sect

Re: [ovs-dev] [PATCH] lib/flow: call memcmp in miniflow_equal()

2014-05-27 Thread Daniele Di Proietto
Thanks, Daniele On May 27, 2014, at 4:44 PM, Ben Pfaff wrote: > On Tue, May 27, 2014 at 03:20:08PM -0700, Daniele Di Proietto wrote: >> This commit replace a while loop in miniflow_equal() with a call to >> memcmp() for performace reasons. >> >> Signed-off-by: Daniele Di Proietto >> --- >> Th

Re: [ovs-dev] [PATCH v3 3/3] datapath: add layer 3 flow/port support

2014-05-27 Thread Ben Pfaff
On Fri, May 23, 2014 at 03:26:20PM +0300, Lori Jakab wrote: > On 5/23/14, 12:22 AM, Ben Pfaff wrote: > >On Tue, May 13, 2014 at 05:02:16PM +0300, Lorand Jakab wrote: > >>Implementation of the pop_eth and push_eth actions in the kernel, and > >>layer 3 flow support. > >> > >>Signed-off-by: Lorand Ja

Re: [ovs-dev] [PATCH 5/5] socket-util: Log the kernel assigned port number when asked.

2014-05-27 Thread Ben Pfaff
On Mon, May 19, 2014 at 12:52:26PM -0700, Gurucharan Shetty wrote: > So far, we log the kernel assigned port number when the port number is > not specified. On Windows, this happens multiple times because "unix" > sockets are implemented internally via TCP ports. This means that many tests, > speci

Re: [ovs-dev] [PATCH 4/5] ovs-ofctl: Enable the ability to 'detach' on Windows.

2014-05-27 Thread Ben Pfaff
On Mon, May 19, 2014 at 12:52:25PM -0700, Gurucharan Shetty wrote: > This is mostly for unit tests that use ovs-ofctl monitor. > service_start() creates a new process and waits till > daemonize_complete() is called by the child. > > Signed-off-by: Gurucharan Shetty Acked-by: Ben Pfaff _

Re: [ovs-dev] [PATCH 3/5] ovs-ofctl: Flush monitored data.

2014-05-27 Thread Ben Pfaff
On Mon, May 19, 2014 at 12:52:24PM -0700, Gurucharan Shetty wrote: > Otherwise, on windows unit tests data sometimes is > not seen in output files. > > Signed-off-by: Gurucharan Shetty Acked-by: Ben Pfaff ___ dev mailing list dev@openvswitch.org http:

Re: [ovs-dev] [PATCH 2/5] bridge: Initialize dscp for mgmt connections.

2014-05-27 Thread Ben Pfaff
On Mon, May 19, 2014 at 12:52:23PM -0700, Gurucharan Shetty wrote: > Without it, garbage values make it to set_dscp function > in Windows. > > Signed-off-by: Gurucharan Shetty Ouch. Seems like an obvious bugfix, please backport. Acked-by: Ben Pfaff

Re: [ovs-dev] [PATCH 1/5] ovsdb-monitor.at: Changes for Windows.

2014-05-27 Thread Ben Pfaff
On Mon, May 19, 2014 at 12:52:22PM -0700, Gurucharan Shetty wrote: > ovsdb-client's 'monitor' command works with --detach such > that the parent detaches after printing initial transactions in > the database. This is a little tricky to implement > in windows. So for windows, send the process to bac

Re: [ovs-dev] [PATCH 5/5] lib/cmap: Use atomics for all bucket data.

2014-05-27 Thread Ben Pfaff
On Thu, May 22, 2014 at 05:37:42PM -0700, Jarno Rajahalme wrote: > The documentation of the memory order argument of atomic operations > states that memory loads after an atomic load with a > memory_order_acquire cannot be moved before the atomic operation. > This still leaves open the possibility

Re: [ovs-dev] [PATCH] lib/flow: call memcmp in miniflow_equal()

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 03:20:08PM -0700, Daniele Di Proietto wrote: > This commit replace a while loop in miniflow_equal() with a call to > memcmp() for performace reasons. > > Signed-off-by: Daniele Di Proietto > --- > This seems to improve throughput in my benchmarks (forwading one flow betwee

Re: [ovs-dev] [PATCH 1/4] ofproto: Further factor out handling of port requests

2014-05-27 Thread Simon Horman
On Tue, May 27, 2014 at 09:36:12AM -0700, Ben Pfaff wrote: > On Tue, May 27, 2014 at 06:05:36PM +0900, Simon Horman wrote: > > handle_port_request() already provides common code to handle > > both port desc and port stats request messages once they have been decoded > > by using a callback. > > >

Re: [ovs-dev] [PATCH 3/4] connmgr: buffer multipart requests

2014-05-27 Thread Simon Horman
On Tue, May 27, 2014 at 09:57:09AM -0700, Ben Pfaff wrote: > On Tue, May 27, 2014 at 06:05:38PM +0900, Simon Horman wrote: > > Buffer a multi-part requests until all its parts are received. > > > > This is achieved by initialising the list_node field of messages > > and passing them to ofmp_req_fi

Re: [ovs-dev] [PATCH v4] ofproto-dpif-xlate: Implement RCU locking in ofproto-dpif-xlate.

2014-05-27 Thread Ryan Wilson 76511
Addressed all these style comments in v5. Ryan On 5/27/14 3:00 PM, "Ethan Jackson" wrote: >Couple of minor style comments on my end. > >I'd prefer if xlate_init_new_xcfg() and set_new_cfg() are renamed to >something like xlate_txn_start() and xlate_txn_commit(). From the >callers perspecdtive

[ovs-dev] [PATCH v5] ofproto-dpif-xlate: Implement RCU locking in ofproto-dpif-xlate.

2014-05-27 Thread Ryan Wilson
Before, a global read-write lock protected the ofproto-dpif / ofproto-dpif-xlate interface. Handler and revalidator threads had to wait while configuration was being changed. This patch implements RCU locking which allows handlers and revalidators to operate while configuration is being updated. S

[ovs-dev] [PATCH] lib/flow: call memcmp in miniflow_equal()

2014-05-27 Thread Daniele Di Proietto
This commit replace a while loop in miniflow_equal() with a call to memcmp() for performace reasons. Signed-off-by: Daniele Di Proietto --- This seems to improve throughput in my benchmarks (forwading one flow between two 'netdev-dpdk's). --- lib/flow.c | 6 +- 1 file changed, 1 insertion(+)

Re: [ovs-dev] [OVS 1.4.6] UNIX domain socket problems

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 09:09:10PM +0100, Zoltan Kiss wrote: > Recently we have seen a pool-wide storage fence in a XenServer 6.2 > SP1 enviroment. OVS 1.4.6+ were in use, up until the commit > e58f54a4aa1 on that branch. > In a 20 minutes period all 4 hosts in the pool lost network > connectivity

Re: [ovs-dev] [PATCH v4] ofproto-dpif-xlate: Implement RCU locking in ofproto-dpif-xlate.

2014-05-27 Thread Ethan Jackson
Couple of minor style comments on my end. I'd prefer if xlate_init_new_xcfg() and set_new_cfg() are renamed to something like xlate_txn_start() and xlate_txn_commit(). From the callers perspecdtive we're creating a transaction with which we change the configuration. It's a bit more obvious what'

[ovs-dev] [OVS 1.4.6] UNIX domain socket problems

2014-05-27 Thread Zoltan Kiss
Hi, Recently we have seen a pool-wide storage fence in a XenServer 6.2 SP1 enviroment. OVS 1.4.6+ were in use, up until the commit e58f54a4aa1 on that branch. In a 20 minutes period all 4 hosts in the pool lost network connectivity and HA restarted them automatically. First ovsdb-server logged

Re: [ovs-dev] [PATCH] process: block signals while spawning child processes

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 12:32:50PM -0700, Ansis Atteka wrote: > Between fork() and execvp() calls in the process_start() > function both child and parent processes share the same > file descriptors. This means that, if a child process > received a signal during this time interval, then it could >

[ovs-dev] [PATCH] process: block signals while spawning child processes

2014-05-27 Thread Ansis Atteka
Between fork() and execvp() calls in the process_start() function both child and parent processes share the same file descriptors. This means that, if a child process received a signal during this time interval, then it could potentially write data to a shared file descriptor. One such example is

Re: [ovs-dev] openvswitch 2.1 on openSUSE13.1 - ovsbd-server enters infinite loop

2014-05-27 Thread Karol Mroz
Hi Ben, On Mon, May 19, 2014 at 03:20:27PM -0700, Ben Pfaff wrote: > On Thu, Apr 3, 2014 at 12:45 PM, Karol Mroz wrote: > > On 2014-04-03, Ben Pfaff wrote: > >> On Thu, Apr 03, 2014 at 06:45:47PM +, Karol Mroz wrote: > >>> On 2014-04-03, Ben Pfaff wrote: > >>> > On Tue, Apr 01, 2014 at 11:1

Re: [ovs-dev] [PACKET_OUT v2] ofproto-dpif: treat non-datapath ports as local port for OFPT_PACKET_OUT

2014-05-27 Thread Andy Zhou
Yamamoto San, thanks for following up on this issue. Yes, you are right, both DP_HASH and RECIRC actions are not handled in SLOW_ACTION. RECIRC action can be handled like output action, by using the helper function. DP_HASH action, in theory, can also be handled in a helper function so that the

Re: [ovs-dev] [PATCH] socket-util: Refactor unix specific code to a new file.

2014-05-27 Thread Ben Pfaff
On Fri, May 23, 2014 at 09:40:26AM -0700, Gurucharan Shetty wrote: > Signed-off-by: Gurucharan Shetty Acked-by: Ben Pfaff ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

Re: [ovs-dev] [PATCH 3/4] connmgr: buffer multipart requests

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 06:05:38PM +0900, Simon Horman wrote: > Buffer a multi-part requests until all its parts are received. > > This is achieved by initialising the list_node field of messages > and passing them to ofmp_req_filter(). > > * If the message is not recognised as part of a multi-pa

Re: [ovs-dev] [PATCH 2/4] ofp-print: Merge ofp_print_stats_{reply, request}()

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 06:05:37PM +0900, Simon Horman wrote: > Merge ofp_print_stats_reply() and ofp_print_stats_request() > into a single new function, ofp_print_stats(). > > For stats replies there should be no run-time change in behaviour. > > For pre-OpenFlow1.3 stats requests there should a

Re: [ovs-dev] [PATCH 1/4] ofproto: Further factor out handling of port requests

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 06:05:36PM +0900, Simon Horman wrote: > handle_port_request() already provides common code to handle > both port desc and port stats request messages once they have been decoded > by using a callback. > > This patch extends this common handling code to also perform decoding

Re: [ovs-dev] [PATCH 4/4] ofproto: Support multipart port stats and port desc stats requests

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 06:05:39PM +0900, Simon Horman wrote: > Signed-off-by: Simon Horman A port stats request consists of exactly one struct ofp_port_stats_request. A port desc stats request is empty. Neither one has any call to be broken into multiple parts.

Re: [ovs-dev] [PATCH 1/1] netflow: Modify netflow_flow_clear() to do netflow_expire__

2014-05-27 Thread Anoob Soman
Hi Ben, Do you have comments on the scenario in which the assert might happen ? Thanks, Anoob. From: Anoob Soman Sent: 20 May 2014 20:06 To: Ben Pfaff Cc: dev@openvswitch.org Subject: RE: [ovs-dev] [PATCH 1/1] netflow: Modify netflow_flow_clear() to do ne

Re: [ovs-dev] [RFC 1/4] netlink: Support for memory mapped Netlink sockets

2014-05-27 Thread Ben Pfaff
On Sat, May 24, 2014 at 12:54:04PM +0100, Thomas Graf wrote: > On 05/23/14 at 08:51am, Ben Pfaff wrote: > > On Fri, May 23, 2014 at 09:03:54AM +0100, Thomas Graf wrote: > > > > Using nl_sock_send_linear() can cause messages to be reordered. Do we > > > > need to wait for the tx ring to empty befor

Re: [ovs-dev] [RFC 1/4] netlink: Support for memory mapped Netlink sockets

2014-05-27 Thread Ben Pfaff
On Sat, May 24, 2014 at 12:44:40PM +0100, Thomas Graf wrote: > On 05/23/14 at 08:47am, Ben Pfaff wrote: > > On Fri, May 23, 2014 at 01:15:58AM +0200, Thomas Graf wrote: > > > Signed-off-by: Thomas Graf > > > > nl_sock_recv__() compares its 'events' member against EPOLLERR with ==, > > but EPOLL*

Re: [ovs-dev] [PATCH 1/2] tests: Clean up idltest on distclean.

2014-05-27 Thread Ben Pfaff
On Tue, May 27, 2014 at 01:46:59PM +1200, Joe Stringer wrote: > This was causing failures in 'make distcleancheck'. > > Signed-off-by: Joe Stringer OVSIDL_BUILT is already in EXTRA_DIST. It doesn't make sense to have files be both distributed and distcleaned. ___

Re: [ovs-dev] [PATCH 2/2] datapath: Clean up files on distclean.

2014-05-27 Thread Ben Pfaff
I don't know anything about these files and it's in the datapath directory so I'll leave it to Pravin and Jesse. On Tue, May 27, 2014 at 01:47:00PM +1200, Joe Stringer wrote: > This was causing failures in 'make distcleancheck'. > > Signed-off-by: Joe Stringer > --- > datapath/linux/Makefile.ma

[ovs-dev] [PATCH 1/4] ofproto: Further factor out handling of port requests

2014-05-27 Thread Simon Horman
handle_port_request() already provides common code to handle both port desc and port stats request messages once they have been decoded by using a callback. This patch extends this common handling code to also perform decoding of both port desc and port stats request messages by using one more cal

[ovs-dev] [PATCH 4/4] ofproto: Support multipart port stats and port desc stats requests

2014-05-27 Thread Simon Horman
Signed-off-by: Simon Horman --- OPENFLOW-1.1+ | 6 ++- ofproto/ofproto.c | 74 +--- tests/ofproto-macros.at | 1 + tests/ofproto.at| 109 4 files changed, 163 insertions(+), 27 deletions(-)

[ovs-dev] [PATCH 2/4] ofp-print: Merge ofp_print_stats_{reply, request}()

2014-05-27 Thread Simon Horman
Merge ofp_print_stats_reply() and ofp_print_stats_request() into a single new function, ofp_print_stats(). For stats replies there should be no run-time change in behaviour. For pre-OpenFlow1.3 stats requests there should also be no run-time change in behaviour. For OpenFlow1.3+ stats requests t

[ovs-dev] [PATCH 0/4] Initial multipart request support

2014-05-27 Thread Simon Horman
This purpose of this patchset is to provide initial multipart request support and provide a basis for discussion of how such support should be implemented. There are 4 patches in this series: 1. ofproto: Further factor out handling of port requests A clean up for ofproto port request handli

[ovs-dev] [PATCH 3/4] connmgr: buffer multipart requests

2014-05-27 Thread Simon Horman
Buffer a multi-part requests until all its parts are received. This is achieved by initialising the list_node field of messages and passing them to ofmp_req_filter(). * If the message is not recognised as part of a multi-part requests it is simply returned and processing continues as before. *