[ovs-dev] [RFCv2 09/12] upcall: Generate unique flow identifiers.

2014-08-27 Thread Joe Stringer
'handler_install_conflict'. Signed-off-by: Joe Stringer joestrin...@nicira.com --- ofproto/ofproto-dpif-upcall.c | 198 ++--- ofproto/ofproto-dpif-upcall.h |3 + ofproto/ofproto-dpif.c| 103 +++-- ofproto/ofproto-dpif.h|2 + 4 files

[ovs-dev] [RFCv2 12/12] revalidator: Reduce ukey contention.

2014-08-27 Thread Joe Stringer
is raised when flow setup is complete. By checking this flag before attempting to perform a trylock(), we can reduce lock contention between handler and revalidator threads. Signed-off-by: Joe Stringer joestrin...@nicira.com --- ofproto/ofproto-dpif-upcall.c | 29 + 1

[ovs-dev] [RFCv2 11/12] dpif-linux: Support unique flow identifiers.

2014-08-27 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com --- lib/dpif-linux.c | 91 +- 1 file changed, 42 insertions(+), 49 deletions(-) diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index f4e78a1..a5f4182 100644 --- a/lib/dpif-linux.c +++ b/lib

Re: [ovs-dev] [PATCH] datapath: remove flow member from struct ovs_skb_cb

2014-08-27 Thread Joe Stringer
On 28 August 2014 10:34, Pravin Shelar pshe...@nicira.com wrote: snip This is weird. I could not reproduce this on newer kernel. But I found related bug. Can you try attached patch? It may be related. I will submit formal patch later. --Pravin. This patch doesn't fix the issue. Another

Re: [ovs-dev] [PATCH 2/2] datapath: Use nla_parse_strict() for netlink parsing.

2014-08-28 Thread Joe Stringer
On 29 August 2014 15:57, Pravin Shelar pshe...@nicira.com wrote: I have not finished review but I was wonder if you can get rid of the attributes bit mask also? Hi Pravin, I took a look, and I think I can reduce it down to just being inside match_validate() without much trouble. I don't

Re: [ovs-dev] [PATCH 1/2] datapath: Add nla_parse_strict().

2014-08-31 Thread Joe Stringer
An alternative interface, if we want this to be more flexible without adding new parameters for each possible variation is something like the following: diff --git a/datapath/linux/compat/include/linux/netlink.h b/datapath/linux/compat/include/linux/netlink.h index f172590..e3d29a2 100644 ---

[ovs-dev] [RFCv3 07/13] hash: Add 128-bit murmurhash.

2014-09-02 Thread Joe Stringer
Add the 128-bit murmurhash by Austin Appleby, for 32-bit systems from: http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Rebase. There is also a version for 64-bit systems which I haven't tried yet, mostly because

[ovs-dev] [RFCv3 08/13] dpif: Add Unique flow identifiers.

2014-09-02 Thread Joe Stringer
. For each flow dump, the dpif user specifies which fields may be omitted, allowing the common case to only dump a pair of 128-bit ID and flow stats. Signed-off-by: Joe Stringer joestrin...@nicira.com --- I'm still looking at whether it might be worth trying a 64-bit UID instead. Any feedback

[ovs-dev] [RFCv3 01/13] revalidator: Use 'cmap' for storing ukeys.

2014-09-02 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v3: Rebase. v2: Call ovsrcu_quiesce() unconditionally. RFC: Initial Post. --- ofproto/ofproto-dpif-upcall.c | 61 ++--- 1 file changed, 33 insertions(+), 28 deletions

[ovs-dev] [RFCv3 02/13] revalidator: Protect ukeys with a mutex.

2014-09-02 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v3: Rebase. v2: No change. RFC: First post

[ovs-dev] [RFCv3 06/13] upcall: Revalidate using cache of mask, actions.

2014-09-02 Thread Joe Stringer
fields optional. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Rebase. v2: Rebase. RFC: First post. --- ofproto/ofproto-dpif-upcall.c | 118 ++--- 1 file changed, 51 insertions(+), 67 deletions(-) diff --git a/ofproto/ofproto-dpif-upcall.c b

[ovs-dev] [RFCv3 04/13] upcall: Rename dump_op - ukey_op.

2014-09-02 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v3: Rebase. v2: No change. RFC: First post. --- ofproto/ofproto-dpif-upcall.c

[ovs-dev] [RFCv3 09/13] upcall: Generate unique flow identifiers.

2014-09-02 Thread Joe Stringer
'handler_install_conflict'. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Rename the ovs-appctl commands from {en,dis}able-uid-*-terse-dump. Rebase. v2: No change. --- ofproto/ofproto-dpif-upcall.c | 198 ++--- ofproto/ofproto-dpif-upcall.h |3 + ofproto

[ovs-dev] [RFCv3 00/13] Revalidate flows with unique identifiers.

2014-09-02 Thread Joe Stringer
RFCv3: - Add datapath implementation - Minor fixes - Rebased RFCv2: - Revised early patches from v1 feedback - Add Acks from Ben - Rebased RFCv1: http://openvswitch.org/pipermail/dev/2014-August/044383.html Joe Stringer (13): revalidator: Use 'cmap' for storing ukeys. revalidator: Protect

[ovs-dev] [RFCv3 05/13] upcall: Create ukeys in handler threads.

2014-09-02 Thread Joe Stringer
threads, during flow setup. This allows future patches to reduce the cost of flow dumping. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Rebase. v2: Rebase. RFC: First post. --- ofproto/ofproto-dpif-upcall.c | 334 - 1 file changed, 227

[ovs-dev] [RFCv3 03/13] udpif: Separate udpif_key maps from revalidators.

2014-09-02 Thread Joe Stringer
maps from the revalidators, and increases the number of maps used to store ukeys, to reduce contention. Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v3: Rebase. v2: #define N_UMAPS. Simplify upcall_unixctl_show() element counting. Mention

[ovs-dev] [RFCv3 12/13] revalidator: Reduce ukey contention.

2014-09-02 Thread Joe Stringer
is raised when flow setup is complete. By checking this flag before attempting to perform a trylock(), we can reduce lock contention between handler and revalidator threads. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: No change. v2: No change. --- ofproto/ofproto-dpif-upcall.c | 29

[ovs-dev] [RFCv3 10/13] dpif-netdev: Support unique flow identifiers.

2014-09-02 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Rebase. v2: No change. --- lib/dpif-netdev.c | 211 --- lib/flow.h |6 ++ tests/dpif-netdev.at|3 + tests/ofproto-dpif.at | 20 +++-- tests/ofproto-macros.at

[ovs-dev] [RFCv3 11/13] dpif-linux: Support unique flow identifiers.

2014-09-02 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Rebase. v2: No change. --- lib/dpif-linux.c | 91 +- 1 file changed, 42 insertions(+), 49 deletions(-) diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index a32a550..9e4f623 100644

[ovs-dev] [RFCv3 13/13] datapath: Add support for OVS_FLOW_ATTR_UID.

2014-09-02 Thread Joe Stringer
the operation. For instance, OVS_UID_F_SKIP_KEY allows the datapath to skip returning the key. Signed-off-by: Joe Stringer joestrin...@nicira.com --- If the datapath is created using OVS_DP_F_INDEX_BY_UID then a user starts an older userspace (with no support for UID), the older userspace

Re: [ovs-dev] [RFCv3 13/13] datapath: Add support for OVS_FLOW_ATTR_UID.

2014-09-02 Thread Joe Stringer
On 2 September 2014 22:48, Joe Stringer joestrin...@nicira.com wrote: If a datapath is created with the flag OVS_DP_F_INDEX_BY_UID, then an additional table_instance is added to the flow_table, which is indexed by unique identifiers (UID). This can be manipulated using the flow key as before

Re: [ovs-dev] [PATCH] datapath: Set packet egress_tun_info.

2014-09-08 Thread Joe Stringer
[81435766] ___sys_sendmsg+0x416/0x430 [81435949] __sys_sendmsg+0x49/0x90 [814359a9] sys_sendmsg+0x19/0x20 [8152432b] system_call_fastpath+0x16/0x1b Reported-by: Joe Stringer joestrin...@nicira.com Signed-off-by: Pravin B Shelar pshe...@nicira.com Thanks for tracking

[ovs-dev] [PATCHv4 00/12] Revalidate flows with unique identifiers.

2014-09-08 Thread Joe Stringer
feedback - Add Acks from Ben - Rebased RFCv1: http://openvswitch.org/pipermail/dev/2014-August/044383.html Joe Stringer (12): revalidator: Use 'cmap' for storing ukeys. revalidator: Protect ukeys with a mutex. udpif: Separate udpif_key maps from revalidators. upcall: Rename dump_op - ukey_op

[ovs-dev] [PATCHv4 01/12] revalidator: Use 'cmap' for storing ukeys.

2014-09-08 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4: No change. v3: Rebase. v2: Call ovsrcu_quiesce() unconditionally. RFC: Initial Post. --- ofproto/ofproto-dpif-upcall.c | 61 ++--- 1 file changed, 33 insertions

[ovs-dev] [PATCHv4 03/12] udpif: Separate udpif_key maps from revalidators.

2014-09-08 Thread Joe Stringer
maps from the revalidators, and increases the number of maps used to store ukeys, to reduce contention. Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4: Increase N_UMAPS to 512. v3: Rebase. v2: #define N_UMAPS. Simplify upcall_unixctl_show() element

[ovs-dev] [PATCHv4 02/12] revalidator: Protect ukeys with a mutex.

2014-09-08 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4: No change. v3: Rebase. v2: No change. RFC

[ovs-dev] [PATCHv4 04/12] upcall: Rename dump_op - ukey_op.

2014-09-08 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4: No change. v3: Rebase. v2: No change. RFC: First post. --- ofproto

[ovs-dev] [PATCHv4 05/12] upcall: Create ukeys in handler threads.

2014-09-08 Thread Joe Stringer
threads, during flow setup. This allows future patches to reduce the cost of flow dumping. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v4: No change. v3: Rebase. v2: Rebase. RFC: First post. --- ofproto/ofproto-dpif-upcall.c | 334 - 1 file

[ovs-dev] [PATCHv4 10/12] revalidator: Reduce ukey contention.

2014-09-08 Thread Joe Stringer
is raised when flow setup is complete. By checking this flag before attempting to perform a trylock(), we can reduce lock contention between handler and revalidator threads. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v4: Use atomic_read_relaxed(). v3: No change. v2: No change. --- ofproto

[ovs-dev] [PATCHv4 09/12] datapath: Add support for OVS_FLOW_ATTR_UID.

2014-09-08 Thread Joe Stringer
the operation. For instance, OVS_UID_F_SKIP_KEY allows the datapath to skip returning the key. Signed-off-by: Joe Stringer joestrin...@nicira.com --- If the datapath is created using OVS_DP_F_INDEX_BY_UID then a user starts an older userspace (with no support for UID), the older userspace

[ovs-dev] [PATCHv4 11/12] revalidator: Distinguish new and duplicate flows.

2014-09-08 Thread Joe Stringer
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 joestrin...@nicira.com --- v4: Initial post. --- ofproto/ofproto-dpif

[ovs-dev] [PATCHv4 07/12] hash: Add 128-bit murmurhash.

2014-09-08 Thread Joe Stringer
Add the 128-bit murmurhash by Austin Appleby, for 32-bit systems from: http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp Signed-off-by: Joe Stringer joestrin...@nicira.com --- v4: Minor comments and style fixes. v3: Rebase. --- include/openvswitch/types.h |5 ++ lib

[ovs-dev] [PATCHv4 08/12] dpif: Add Unique flow identifiers.

2014-09-08 Thread Joe Stringer
backward compatibility handling in ofproto-dpif-upcall. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v4: Generate UID in dpif layer and pass up to ofproto-dpif-upcall. Fix bug where UID-based terse dump wasn't enabled by default. Skip sending flow key in flow_del. Fix race

[ovs-dev] [PATCHv4 06/12] upcall: Revalidate using cache of mask, actions.

2014-09-08 Thread Joe Stringer
fields optional. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v4: No change. v3: Rebase. v2: Rebase. RFC: First post. --- ofproto/ofproto-dpif-upcall.c | 118 ++--- 1 file changed, 51 insertions(+), 67 deletions(-) diff --git a/ofproto/ofproto-dpif

[ovs-dev] [PATCHv4 12/12] upcall: Distinguish duplicate upcalls from conflicts.

2014-09-08 Thread Joe Stringer
are different for each functions). If the hashes are different, then we have generated the same UID hash for two different flows, and we should log a warning. Signed-off-by: Joe Stringer joestrin...@nicira.com --- RFC. This is really unlikely, but we don't have any way of detecting this case currently

Re: [ovs-dev] [PATCHv4 12/12] upcall: Distinguish duplicate upcalls from conflicts.

2014-09-08 Thread Joe Stringer
On 9 September 2014 02:10, Jarno Rajahalme jrajaha...@nicira.com wrote: On Sep 8, 2014, at 3:23 AM, Joe Stringer joestrin...@nicira.com wrote: It's highly unlikely that two flows will hash to the same UID. However, we could handle multiple upcalls from the same flow. If we hash the flow

Re: [ovs-dev] [PATCHv4 00/12] Revalidate flows with unique identifiers.

2014-09-08 Thread Joe Stringer
On 8 September 2014 22:23, Joe Stringer joestrin...@nicira.com wrote: With v4 I've had a fairly good go at testing this series, for performance comparison and also compatibility with mixed older/newer datapath/userspace. Master appears to be able to revalidate roughly 130-140K flows per

Re: [ovs-dev] [PATCH] datapath: Set packet egress_tun_info.

2014-09-08 Thread Joe Stringer
[8147134c] netlink_sendmsg+0x28c/0x3d0 [8143375f] sock_sendmsg+0xef/0x120 [81435766] ___sys_sendmsg+0x416/0x430 [81435949] __sys_sendmsg+0x49/0x90 [814359a9] sys_sendmsg+0x19/0x20 [8152432b] system_call_fastpath+0x16/0x1b Reported-by: Joe

[ovs-dev] [PATCHv2 1/2] datapath: Add nla_parse_strict().

2014-09-10 Thread Joe Stringer
This function allows netlink attributes to be parsed more strictly, to check for additional constraints beyond those that nla_parse() checks for. Passing flags=0 to nla_parse_strict() implies the same behaviour as nla_parse(). Signed-off-by: Joe Stringer joestrin...@nicira.com --- v2: Change

[ovs-dev] [PATCHv2 2/2] datapath: Use nla_parse_strict() for netlink parsing.

2014-09-10 Thread Joe Stringer
Reduce duplicate code by using nla_policy and nla_parse_strict(). Signed-off-by: Joe Stringer joestrin...@nicira.com --- v2: Remove attrs bitmasks from most functions. Remove key/mask wrappers for parse_nlattrs(). Rebase against flag-based nla_parse_strict(). --- datapath/flow_netlink.c

Re: [ovs-dev] [PATCH] ofproto: Increase default datapath max_idle time.

2014-09-14 Thread Joe Stringer
Thanks, applied to master. On 15 September 2014 09:41, Ethan Jackson et...@nicira.com wrote: Acked-by: Ethan Jackson et...@nicira.com On Thu, Sep 11, 2014 at 3:03 PM, Joe Stringer joestrin...@nicira.com wrote: The datapath max_idle value determines how long to wait before deleting

[ovs-dev] [PATCHv5 00/12] Revalidate flows with unique identifiers.

2014-09-14 Thread Joe Stringer
- Rebased RFCv2: - Revised early patches from v1 feedback - Add Acks from Ben - Rebased RFCv1: http://openvswitch.org/pipermail/dev/2014-August/044383.html Joe Stringer (12): revalidator: Use 'cmap' for storing ukeys. revalidator: Protect ukeys with a mutex. udpif: Separate udpif_key maps from

[ovs-dev] [PATCHv5 01/12] revalidator: Use 'cmap' for storing ukeys.

2014-09-14 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4-v5: No change. v3: Rebase. v2: Call ovsrcu_quiesce() unconditionally. RFC: Initial Post. --- ofproto/ofproto-dpif-upcall.c | 61 ++--- 1 file changed, 33 insertions

[ovs-dev] [PATCHv5 02/12] revalidator: Protect ukeys with a mutex.

2014-09-14 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4-v5: No change. v3: Rebase. v2: No change. RFC

[ovs-dev] [PATCHv5 03/12] udpif: Separate udpif_key maps from revalidators.

2014-09-14 Thread Joe Stringer
maps from the revalidators, and increases the number of maps used to store ukeys, to reduce contention. Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v5: No change. v4: Increase N_UMAPS to 512. v3: Rebase. v2: #define N_UMAPS. Simplify

[ovs-dev] [PATCHv5 04/12] upcall: Rename dump_op - ukey_op.

2014-09-14 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4-v5: No change. v3: Rebase. v2: No change. RFC: First post. --- ofproto

[ovs-dev] [PATCHv5 05/12] upcall: Create ukeys in handler threads.

2014-09-14 Thread Joe Stringer
threads, during flow setup. This allows future patches to reduce the cost of flow dumping. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v4-v5: No change. v3: Rebase. v2: Rebase. RFC: First post. --- ofproto/ofproto-dpif-upcall.c | 334 - 1 file

[ovs-dev] [PATCHv5 06/12] upcall: Revalidate using cache of mask, actions.

2014-09-14 Thread Joe Stringer
fields optional. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v5: Switch back to checking that the mask is more specific. v4: No change. v3: Rebase. v2: Rebase. RFC: First post. --- ofproto/ofproto-dpif-upcall.c | 105 - 1 file changed, 52

[ovs-dev] [PATCHv5 08/12] dpif: Add Unique flow identifiers.

2014-09-14 Thread Joe Stringer
backward compatibility handling in ofproto-dpif-upcall. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v5: Always pass flow_key down to dpif, to improve error logging. Fix extraneous netflow_unref. Fix testsuite failure. Rebase. v4: Generate UID in dpif layer and pass up

[ovs-dev] [PATCHv5 09/12] datapath: Add support for OVS_FLOW_ATTR_UID.

2014-09-14 Thread Joe Stringer
the operation. For instance, OVS_UID_F_SKIP_KEY allows the datapath to skip returning the key. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v5: No change. v4: Fix memory leaks. Log when triggering the older userspace issue above. v3: Initial post. --- datapath/datapath.c

[ovs-dev] [PATCHv5 10/12] revalidator: Reduce ukey contention.

2014-09-14 Thread Joe Stringer
is raised when flow setup is complete. By checking this flag before attempting to perform a trylock(), we can reduce lock contention between handler and revalidator threads. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v5: No change. v4: Use atomic_read_relaxed(). v2-v3: No change

[ovs-dev] [PATCHv5 11/12] revalidator: Distinguish new and duplicate flows.

2014-09-14 Thread Joe Stringer
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 joestrin...@nicira.com --- v5: No change. v4: Initial post. --- ofproto

Re: [ovs-dev] [PATCH 1/2] ovs-dev.py: do not pass --enable-dummy to ovsdb

2014-09-14 Thread Joe Stringer
Thanks for the fix, I pushed this to master. On 13 September 2014 05:35, Daniele Di Proietto ddiproie...@vmware.com wrote: --enable-dummy was useless anyway for ovsdb-server. Now it is an error to pass it. Signed-off-by: Daniele Di Proietto ddiproie...@vmware.com --- utilities/ovs-dev.py

Re: [ovs-dev] [PATCH 2/2] ovs-dev.py: skip clang if configure fails

2014-09-14 Thread Joe Stringer
Although I reviewed and applied #1, I'll leave this one up to Ethan as it's more relevant to his other proposed changes. On 13 September 2014 05:35, Daniele Di Proietto ddiproie...@vmware.com wrote: If 'configure' with clang fails (this can happen for example if it doesn't support all the

Re: [ovs-dev] [PATCHv5 00/12] Revalidate flows with unique identifiers.

2014-09-16 Thread Joe Stringer
Bump. Any chance of some feedback? On 15 September 2014 14:25, Joe Stringer joestrin...@nicira.com wrote: Patches #1-4 have been reviewed and Ack'd by Ben, which I have held out from pushing upstream as they are only useful with the rest of the series. The remaining patches are yet

Re: [ovs-dev] [PATCHv5 08/12] dpif: Add Unique flow identifiers.

2014-09-17 Thread Joe Stringer
On 18 September 2014 11:13, Ben Pfaff b...@nicira.com wrote: On Mon, Sep 15, 2014 at 02:25:14PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv5 05/12] upcall: Create ukeys in handler threads.

2014-09-17 Thread Joe Stringer
Thanks for the review, On 18 September 2014 10:33, Ben Pfaff b...@nicira.com wrote: On Mon, Sep 15, 2014 at 02:25:11PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv5 06/12] upcall: Revalidate using cache of mask, actions.

2014-09-17 Thread Joe Stringer
On 18 September 2014 10:53, Ben Pfaff b...@nicira.com wrote: On Mon, Sep 15, 2014 at 02:25:12PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv5 07/12] hash: Add 128-bit murmurhash.

2014-09-17 Thread Joe Stringer
On 18 September 2014 11:03, Ben Pfaff b...@nicira.com wrote: On Mon, Sep 15, 2014 at 02:25:13PM +1200, Joe Stringer wrote: Add the 128-bit murmurhash by Austin Appleby, for 32-bit systems from: http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp Signed-off-by: Joe

Re: [ovs-dev] [PATCHv2 2/2] datapath: Use nla_parse_strict() for netlink parsing.

2014-09-17 Thread Joe Stringer
Thanks for the review, comments inline On 17 September 2014 17:37, Pravin Shelar pshe...@nicira.com wrote: On Wed, Sep 10, 2014 at 3:16 AM, Joe Stringer joestrin...@nicira.com wrote: Reduce duplicate code by using nla_policy and nla_parse_strict(). Thanks for simplifying this code. I have

Re: [ovs-dev] [PATCHv2 2/2] datapath: Use nla_parse_strict() for netlink parsing.

2014-09-17 Thread Joe Stringer
On 18 September 2014 13:02, Joe Stringer joestrin...@nicira.com wrote: @@ -229,17 +244,19 @@ static bool match_validate(const struct sw_flow_match *match, } } - if ((key_attrs key_expected) != key_expected) { + attrs = attrs_to_bitmask(key_attrs

[ovs-dev] [PATCHv6 00/14] Revalidate flows with unique identifiers.

2014-09-26 Thread Joe Stringer
RFCv3: - Add datapath implementation - Minor fixes - Rebased RFCv2: - Revised early patches from v1 feedback - Add Acks from Ben - Rebased RFCv1: http://openvswitch.org/pipermail/dev/2014-August/044383.html Joe Stringer (14): revalidator: Distinguish new and duplicate flows. revalidator: Use

[ovs-dev] [PATCHv6 01/14] revalidator: Distinguish new and duplicate flows.

2014-09-26 Thread Joe Stringer
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 joestrin...@nicira.com --- v5-v6: No change. v4: Initial post. --- ofproto

[ovs-dev] [PATCHv6 03/14] revalidator: Protect ukeys with a mutex.

2014-09-26 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4-v6: No change. v3: Rebase. v2: No change. RFC

[ovs-dev] [PATCHv6 05/14] upcall: Rename dump_op - ukey_op.

2014-09-26 Thread Joe Stringer
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 joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4-v6: No change. v3: Rebase. v2: No change. RFC: First post. --- ofproto

[ovs-dev] [PATCHv6 02/14] revalidator: Use 'cmap' for storing ukeys.

2014-09-26 Thread Joe Stringer
Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v4-v6: No change. v3: Rebase. v2: Call ovsrcu_quiesce() unconditionally. RFC: Initial Post. --- ofproto/ofproto-dpif-upcall.c | 61 ++--- 1 file changed, 33 insertions

[ovs-dev] [PATCHv6 06/14] upcall: Create ukeys in handler threads.

2014-09-26 Thread Joe Stringer
for flows inserted using ovs-dpctl. Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v6: Always call poll_block() in udpif_upcall_handler(). Reduce memory zeroing in upcall/ukey init code. Fix up extraneous netflow_unref(). Don't fetch 'recirc

[ovs-dev] [PATCHv6 04/14] udpif: Separate udpif_key maps from revalidators.

2014-09-26 Thread Joe Stringer
maps from the revalidators, and increases the number of maps used to store ukeys, to reduce contention. Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v6: No change. v4: Increase N_UMAPS to 512. v3: Rebase. v2: #define N_UMAPS. Simplify

[ovs-dev] [PATCHv6 08/14] tests: Mention binomial coefficient in hash tests.

2014-09-26 Thread Joe Stringer
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 joestrin...@nicira.com --- v6: First post. --- tests/test-hash.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests

[ovs-dev] [PATCHv6 07/14] upcall: Revalidate using cache of mask, actions.

2014-09-26 Thread Joe Stringer
to skip dumping these fields, so this cache will be used instead. Signed-off-by: Joe Stringer joestrin...@nicira.com Acked-by: Ben Pfaff b...@nicira.com --- v6: Use atomic_read_relaxed() in ukey_create(). Simplify delete_op_init(). v5: Switch back to checking that the mask is more specific. v4

[ovs-dev] [PATCHv6 09/14] hash: Add 128-bit murmurhash.

2014-09-26 Thread Joe Stringer
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 joestrin...@nicira.com --- The x64 version is approximately 2x faster than x86 in the tests I ran. v6: Add version that uses 64-bit

[ovs-dev] [PATCHv6 10/14] dpif: Generate flow_hash for revalidators in dpif.

2014-09-26 Thread Joe Stringer
will add support for datapaths to store and interpret this UID, in which case the dpif has a responsibility to pass it through transparently. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v6: Split out from dpif: Add Unique flow identifiers. Store flow hash seed staticly for all dpifs

[ovs-dev] [PATCHv6 11/14] datapath: Add support for unique flow identifiers.

2014-09-26 Thread Joe Stringer
. For instance, OVS_UID_F_SKIP_KEY allows the datapath to skip returning the key (eg, during dump to reduce memory copy). Signed-off-by: Joe Stringer joestrin...@nicira.com --- v6: Fix documentation for supporting UIDs between 32-128 bits. Minor style fixes. Rebase. v5: No change. v4: Fix

[ovs-dev] [PATCHv6 12/14] dpif: Index flows using unique identifiers.

2014-09-26 Thread Joe Stringer
for newer datapaths that support UID, while the latter is used for backwards compatibility. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v6: Split out from dpif: Add Unique flow identifiers. Make sure that actions are fetched if terse=false. Add additional dpif.h documentation

[ovs-dev] [PATCHv6 13/14] dpif: Minimize memory copy for revalidation.

2014-09-26 Thread Joe Stringer
. Signed-off-by: Joe Stringer joestrin...@nicira.com --- v6: Split out from dpif: Add Unique flow identifiers. Rebase. v5: Always pass flow_key down to dpif, to improve error logging. Fix extraneous netflow_unref. Rebase. v4: Fix bug where UID-based terse dump wasn't enabled by default

[ovs-dev] [PATCHv6 14/14] udpif: Simplify storage of key, mask in udpif_key.

2014-09-26 Thread Joe Stringer
comparison in revalidate_ukey(). Signed-off-by: Joe Stringer joestrin...@nicira.com --- For reference, prior to this patchset the size of a udpif_key is 656, but the actions are not cached on master. This patch allows the entire patchset to have a negligible impact on the memory footprint while

[ovs-dev] [PATCH] bridge: Fix bug where IDL wakeup causes 100% CPU.

2014-09-29 Thread Joe Stringer
: Unload/Reload kernel module restart ovs-vswitchd. Signed-off-by: Joe Stringer joestrin...@nicira.com --- I considered implementing this fix using ovsdb_idl_get_seqno() for the entire logic block, but concluded that it doesn't make sense to update the status whenever there is any kind of status

[ovs-dev] [PATCHv3 1/2] datapath: Add nla_parse_strict().

2014-09-29 Thread Joe Stringer
This function allows netlink attributes to be parsed more strictly, to check for additional constraints beyond those that nla_parse() checks for. Passing flags=0 to nla_parse_strict() implies the same behaviour as nla_parse(). Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Shift

[ovs-dev] [PATCHv3 2/2] datapath: Use nla_parse_strict() for netlink parsing.

2014-09-29 Thread Joe Stringer
Reduce duplicate code by using nla_policy and nla_parse_strict(). Signed-off-by: Joe Stringer joestrin...@nicira.com --- v3: Fix match_validate() Make ovs_key_from_nlattrs(),metadata_from_nlattrs() not change the attrs they are given Remove extraneous check for duplicate attributes

Re: [ovs-dev] [PATCH] bridge: Fix bug where IDL wakeup causes 100% CPU.

2014-09-29 Thread Joe Stringer
2014 05:45, Alex Wang al...@nicira.com wrote: Thx a lot for the fix, that was a bad move~ Acked-by: Alex Wang al...@nicira.com On Mon, Sep 29, 2014 at 3:09 AM, Joe Stringer joestrin...@nicira.com wrote: Commit 9c537baf613a16e (bridge: Refactor the stats and status update.) inadvertently

Re: [ovs-dev] [PATCH] Makefiles: Add $(AM_V_GEN) annotations to clean up make output.

2014-09-29 Thread Joe Stringer
flags? Acked-by: Joe Stringer joestrin...@nicira.com On 27 September 2014 06:02, Ben Pfaff b...@nicira.com wrote: On Wed, Sep 03, 2014 at 10:28:39AM -0700, Ben Pfaff wrote: The Open vSwitch make output was still pretty verbose even when configured with --enable-silent-rules. This cleans it up

Re: [ovs-dev] [PATCH] Makefiles: Add $(AM_V_GEN) annotations to clean up make output.

2014-09-29 Thread Joe Stringer
if something fails in a way I don't understand I can just rerun with V=1. On Tue, Sep 30, 2014 at 09:30:23AM +1300, Joe Stringer wrote: From the linked travis build, it seems like there's still a bit of verbosity on the testsuite builds, because they do a 'make distcheck' after the standard

Re: [ovs-dev] [PATCHv6 09/14] hash: Add 128-bit murmurhash.

2014-09-29 Thread Joe Stringer
On 30 September 2014 09:30, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:13PM +1200, Joe Stringer wrote: 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 joestrin

Re: [ovs-dev] [PATCHv6 10/14] dpif: Generate flow_hash for revalidators in dpif.

2014-09-29 Thread Joe Stringer
On 30 September 2014 09:51, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:14PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv6 11/14] datapath: Add support for unique flow identifiers.

2014-09-29 Thread Joe Stringer
On 30 September 2014 10:10, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:15PM +1200, Joe Stringer wrote: If a datapath is created with the flag OVS_DP_F_INDEX_BY_UID, then an additional table_instance is added to the flow_table, which is indexed by unique identifiers (UID

Re: [ovs-dev] [PATCHv6 12/14] dpif: Index flows using unique identifiers.

2014-09-29 Thread Joe Stringer
On 30 September 2014 10:15, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:16PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv6 13/14] dpif: Minimize memory copy for revalidation.

2014-09-29 Thread Joe Stringer
On 30 September 2014 10:24, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:17PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv6 14/14] udpif: Simplify storage of key, mask in udpif_key.

2014-09-29 Thread Joe Stringer
On 30 September 2014 10:27, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:18PM +1200, Joe Stringer wrote: Previously we stored the netlink-formatted version of a flow key and mask in 'struct udpif_key'. This patch stores the original key,mask in the 'struct match' format

Re: [ovs-dev] [PATCHv6 01/14] revalidator: Distinguish new and duplicate flows.

2014-09-29 Thread Joe Stringer
Thanks, applied to master. On 30 September 2014 08:54, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:05PM +1200, Joe Stringer wrote: We previously counted flows that have been installed during the current dump as duplicates, rather than recognising them as new flows

Re: [ovs-dev] [PATCHv6 08/14] tests: Mention binomial coefficient in hash tests.

2014-09-29 Thread Joe Stringer
Thanks, applied to master. On 30 September 2014 08:57, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:12PM +1200, Joe Stringer wrote: 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

Re: [ovs-dev] [PATCHv6 11/14] datapath: Add support for unique flow identifiers.

2014-09-30 Thread Joe Stringer
On 1 October 2014 06:56, Pravin Shelar pshe...@nicira.com wrote: On Mon, Sep 29, 2014 at 3:59 PM, Joe Stringer joestrin...@nicira.com wrote: On 30 September 2014 10:10, Ben Pfaff b...@nicira.com wrote: On Fri, Sep 26, 2014 at 09:28:15PM +1200, Joe Stringer wrote: If a datapath

Re: [ovs-dev] [PATCH] bridge: Fix high cpu utilization.

2014-09-30 Thread Joe Stringer
. +ovs-vswitchd --log-file=fakelog +pid=`echo $!` + +# sleep for a while +sleep 5 5 seems high, is this just to make sure that vswitchd gets a chance to fully initialize and go through the wait block once? Acked-by: Joe Stringer joestrin...@nicira.com

Re: [ovs-dev] [PATCHv6 11/14] datapath: Add support for unique flow identifiers.

2014-09-30 Thread Joe Stringer
On 1 October 2014 11:55, Pravin Shelar pshe...@nicira.com wrote: On Tue, Sep 30, 2014 at 3:15 PM, Joe Stringer joestrin...@nicira.com wrote: On 1 October 2014 06:56, Pravin Shelar pshe...@nicira.com wrote: On Mon, Sep 29, 2014 at 3:59 PM, Joe Stringer joestrin...@nicira.com wrote

Re: [ovs-dev] [PATCH] bridge: Fix high cpu utilization.

2014-09-30 Thread Joe Stringer
, also to maybe cumulate more logs, if there is something. How about changing it to 2 s? Acked-by: Joe Stringer joestrin...@nicira.com ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

Re: [ovs-dev] [PATCH] bridge: Fix high cpu utilization.

2014-09-30 Thread Joe Stringer
Maybe just stick with 5. On 1 October 2014 13:10, Alex Wang al...@nicira.com wrote: Yeah, so should we use 5 seconds? or use ovs_wait() to wait on the number of lines which could wait up to 10 seconds...? On Tue, Sep 30, 2014 at 4:14 PM, Joe Stringer joestrin...@nicira.com wrote: I had

Re: [ovs-dev] [PATCH] README: Adding github markup and travis-ci build status to github readme page.

2014-09-30 Thread Joe Stringer
On 1 October 2014 12:15, Pritesh Kothari pritesh.koth...@cisco.com wrote: diff --git a/README.md b/README.md new file mode 100644 index 000..318f0e6 --- /dev/null +++ b/README.md @@ -0,0 +1,114 @@ +h1 +a href=http://openvswitch.org;Open vSwitch/a +/h1 + Markdown has syntax for

Re: [ovs-dev] [PATCHv6 11/14] datapath: Add support for unique flow identifiers.

2014-09-30 Thread Joe Stringer
On 1 October 2014 11:59, Joe Stringer joestrin...@nicira.com wrote: On 1 October 2014 11:55, Pravin Shelar pshe...@nicira.com wrote: On Tue, Sep 30, 2014 at 3:15 PM, Joe Stringer joestrin...@nicira.com wrote: On 1 October 2014 06:56, Pravin Shelar pshe...@nicira.com wrote: On Mon

Re: [ovs-dev] [PATCH] ovs-vswitchd.at: Fix start additional ovs-vswitchd process test

2014-09-30 Thread Joe Stringer
Thanks for fixing this. Acked-by: Joe Stringer joestrin...@nicira.com On 1 October 2014 18:10, YAMAMOTO Takashi yamam...@valinux.co.jp wrote: NetBSD implementation of wc command outputs extra whitespaces like the following. Tweak the test to success on such environments. % echo hoge|wc

Re: [ovs-dev] [PATCHv6 13/14] dpif: Minimize memory copy for revalidation.

2014-10-01 Thread Joe Stringer
On 30 September 2014 10:24, Ben Pfaff b...@nicira.com wrote: I suspect that check_recirc() and check_uid() should pass DPIF_FP_MODIFY as well as DPIF_FP_CREATE, just in case a previous run of OVS was killed at just the right time to leave a straggler probe flow in the datapath. I checked on

Re: [ovs-dev] [PATCH] ofproto: flush groups and meters in ofproto_flush__

2014-10-01 Thread Joe Stringer
Hi Gur, looks straightforward. I have a few broad feedback points though: If you haven't read it yet, please take a look at the CONTRIBUTING file in the top of the source tree. I'm not sure what format this patch is in, but git won't accept it in my setup. I suspect it's due to the footer

  1   2   3   4   5   6   7   8   9   10   >