On Wed, Mar 12, 2014 at 1:36 PM, Ben Pfaff wrote:
> On Sun, Mar 09, 2014 at 05:48:04PM +0800, kmindg wrote:
>> We do call heap_rebuild in ofproto_run, but we do not update rule's
>> priority with latest hard_timeout and idle_timeout before heap_rebuild.
>>
>> This patch ensures that rule's priorit
This reworks lookup of rules for both table 0 and table action translation.
The result is that Table Mod settings, which can alter the miss-behaviour
of tables, including table 0, on a per-table basis may be honoured.
Previous patches proposed by myself which build on earlier merged patches
by And
On Sun, Mar 09, 2014 at 05:48:52PM +0800, kmindg wrote:
> The restriction only allows to send bpdu in forwarding state in
> compose_output_action__. But a port could send bpdu in listening
> and learning state according to comments in lib/stp.h(State of
> an STP port).
>
> Signed-off-by: kmindg
On Sun, Mar 09, 2014 at 05:48:04PM +0800, kmindg wrote:
> We do call heap_rebuild in ofproto_run, but we do not update rule's
> priority with latest hard_timeout and idle_timeout before heap_rebuild.
>
> This patch ensures that rule's priority has been updated before
> heap_rebuild, and adds two t
On Tue, Mar 11, 2014 at 09:08:20PM -0700, Ben Pfaff wrote:
> On Wed, Mar 12, 2014 at 11:14:52AM +0900, Simon Horman wrote:
> > This reworks lookup of rules for both table 0 and table action translation.
> > The result is that Table Mod settings, which can alter the miss-behaviour
> > of tables, inc
On Fri, Mar 07, 2014 at 06:04:38PM -0800, Alex Wang wrote:
> This commit changes the API in 'dpif-provider.h' to allow multiple
> handler threads call dpif_recv() simultaneously.
>
> Signed-off-by: Alex Wang
>
> ---
> V2 -> V3:
> - detach the channel refreshing from recv_set().
>
> Note:
> th
On Wed, Mar 12, 2014 at 12:00:12PM +0900, YAMAMOTO Takashi wrote:
> > A packet_in message may be sent for one of two reasons.
> >
> > 1. As the result of an controller action supplied in a rule.
> >This is executed if a packet matches the match for the rule.
> >The packet_in reason is expl
On Tue, Mar 11, 2014 at 06:11:27PM -0700, Alex Wang wrote:
> > > Signed-off-by: Alex Wang
> > >
> > > ---
> > > V2 -> V3:
> > > - rebase.
> > >
> > > PATCH -> V2:
> > > - explain the drop of upcall queueing priority in dpif-netdev.
> > > - use mhash to calculate the 5-tuple hash.
> >
> > Why does
On Mon, Mar 10, 2014 at 06:49:55PM -0700, Ethan Jackson wrote:
> Yep this is the same thing. I've successfully shown that this
> algorithm is the best for our use case and was intending to implement
> it myself. However, for many rather complicated reasons it became
> important to have a prototyp
On Wed, Mar 12, 2014 at 11:22:37AM +0900, Simon Horman wrote:
> Use enum ofp_table_config as the type of the 'config' field
> of struct ofputil_table_mod. This reflects the usage
> of the field.
>
> Signed-off-by: Simon Horman
Applied.
I hope that you will heed Yamamoto-san's comments and resub
On Wed, Mar 12, 2014 at 11:14:52AM +0900, Simon Horman wrote:
> This reworks lookup of rules for both table 0 and table action translation.
> The result is that Table Mod settings, which can alter the miss-behaviour
> of tables, including table 0, on a per-table basis may be honoured.
>
> Previous
>> does this need to be wrapped by ovsthread_once?
>
> I think so, looking at all the places count_cpu_cores() is called
> from. I am probably missing what you are pointing at.
it seems that i misremembered what GetSystemInfo was.
sorry for noise.
YAMAMOTO Takashi
>
>>
>> YAMAMOTO Takashi
>>
>
>
> does this need to be wrapped by ovsthread_once?
I think so, looking at all the places count_cpu_cores() is called
from. I am probably missing what you are pointing at.
>
> YAMAMOTO Takashi
>
>> +#endif
>> ovsthread_once_done(&once);
>> }
>>
>> --
>> 1.7.9.5
>>
>> ___
> A packet_in message may be sent for one of two reasons.
>
> 1. As the result of an controller action supplied in a rule.
>This is executed if a packet matches the match for the rule.
>The packet_in reason is explicitly part of the action and
>is thus correct.
for OFPACT_CONTROLLER (
Use enum ofp_table_config as the type of the 'config' field
of struct ofputil_table_mod. This reflects the usage
of the field.
Signed-off-by: Simon Horman
---
lib/ofp-util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ofp-util.h b/lib/ofp-util.h
index bf02b9f..7483646
OpenFlow 1.1 and 1.2 specify that if a table-miss occurs then the default
behaviour is to forward the packet the controller using a packet-in
message. And until this patch this is the default behaviour that Open
vSwitch uses for all OpenFlow versions.
OpenFlow1.3+ specifies that if a table-miss oc
OpenFlow 1.1 and 1.2 specify that if a table-miss occurs then the default
behaviour is to forward the packet the controller using a packet-in
message. And until this patch this is the default behaviour that Open
vSwitch uses for all OpenFlow versions.
OpenFlow1.3+ specifies that if a table-miss oc
An assumption for this change is assuming that miss-rules are added by
add_internal_flow().
If so it seems to me that the current rule_is_table_miss() does not match
such rules. This is because add_internal_flows() adds rules with the mask
of register 0 set to all 1s due to the following line in
a
A packet_in message may be sent for one of two reasons.
1. As the result of an controller action supplied in a rule.
This is executed if a packet matches the match for the rule.
The packet_in reason is explicitly part of the action and
is thus correct.
2. As the result of the failure to
This reworks lookup of rules for both table 0 and table action translation.
The result is that Table Mod settings, which can alter the miss-behaviour
of tables, including table 0, on a per-table basis may be honoured.
Previous patches proposed by myself which build on earlier merged patches
by And
Add basic recirculation infrastructure and user space
data path support for it. The following bond mega flow patch will
make use of this infrastructure.
Signed-off-by: Andy Zhou
---
v1->v2: Rewritten based on having post recirculation rules stored
in table 254.
---
include/linux/openv
Signed-off-by: Andy Zhou
---
v1 -> v2: Minor adjustment.
---
lib/match.c | 26
lib/match.h |6 ++
lib/meta-flow.c | 60 +++
lib/meta-flow.h |2 ++
4 files changed, 94 insertions(+)
diff --git a
On Thu, Mar 06, 2014 at 05:20:23PM -0800, Joe Stringer wrote:
> This series implements a cache for xlate_actions() so that full flow
> translation does not need to be performed for long-lived flows; instead,
> references are kept to the modules affected by it, and this cache can be used
> to attrib
Thanks Ben,
Great to hear more from you~
Please see my reply inline,
>
> > Signed-off-by: Alex Wang
> >
> > ---
> > V2 -> V3:
> > - rebase.
> >
> > PATCH -> V2:
> > - explain the drop of upcall queueing priority in dpif-netdev.
> > - use mhash to calculate the 5-tuple hash.
>
> Why does dpif_ne
On Thu, Mar 06, 2014 at 05:20:30PM -0800, Joe Stringer wrote:
> This patch adds a new object called 'struct xlate_cache' which can be
> set in 'struct xlate_in', and passed to xlate_actions() to cache the
> modules affected by this flow translation. Subsequently, the caller can
> pass the xcache to
Recirculation ID needs to be unique per datapath. Its usage will be
tracked by the backer that corresponds to the datapath.
In theory, Recirculation ID can be any uint32_t value, except 0. This
implementation limits to a smaller range just for ease of debugging.
Make the range size 0 effectively d
On Fri, Mar 07, 2014 at 06:04:40PM -0800, Alex Wang wrote:
> In order to allow handlers directly read upcalls from datapath,
> we need to support per-handler netlink socket for each vport in
> datapath. This commit makes this happen. Also, it is guaranteed
> backward and forward compatibility wit
This is the first patch series to add megaflow support for bond interface
using recirculation.
The final goal is that the bonding port selection will be made within the
datapath, using recirculation. Currently, the bonding port selection is
made in the user space, preventing possible wider mega f
Signed-off-by: Andy Zhou
---
v1->v2: No major changes
---
include/openflow/nicira-ext.h | 26 ++
lib/flow.c|6 --
lib/flow.h| 13 ++---
lib/match.c | 12 +++-
lib/nx-match.c
> We use the number of cpu cores to determine the number
> of threads that we spawn. We are not yet sure what is
> the ideal number of OVS userspace threads that can run
> on Hyper-V. Till we figure that out, use the same logic
> of counting CPU cores in Windows too.
>
> Signed-off-by: Gurucharan
On Fri, Mar 07, 2014 at 06:04:39PM -0800, Alex Wang wrote:
> This commit implements the API functions to allow multiple handler
> threads read upcall.
>
> Also, this commit removes the handling priority of DPIF_UC_MISS
> over DPIF_UC_ACTION. So, both misses will be put to the same
> queue. The d
On Mon, Mar 10, 2014 at 10:56:40AM -0700, Gurucharan Shetty wrote:
> Visual studio does not understand __attribute__ format. All the
> violations would be caught with gcc in linux. So, it should be okay
> removing that.
>
> Signed-off-by: Gurucharan Shetty
Please change this code to use the PRIN
On Tue, Mar 11, 2014 at 07:02:28PM +0200, Lorand Jakab wrote:
> People familiar with LISP are used to the concept of a mapping cache in
> a LISP Tunnel Router. Explain how that concept maps to OVS flow rules.
> Additionally, mention that eth0 need not be added in all example
> scenarios.
>
> Sign
On Mon, Mar 10, 2014 at 10:56:41AM -0700, Gurucharan Shetty wrote:
> We use the number of cpu cores to determine the number
> of threads that we spawn. We are not yet sure what is
> the ideal number of OVS userspace threads that can run
> on Hyper-V. Till we figure that out, use the same logic
> of
On Mon, Mar 10, 2014 at 10:56:42AM -0700, Gurucharan Shetty wrote:
> Windows does not have a bunch of headers that
> are available in Linux. Instead of littering the code
> with #ifndef _WIN32, add stub headers.
>
> Signed-off-by: Gurucharan Shetty
Acked-by: Ben Pfaff
__
On Mon, Mar 10, 2014 at 10:56:39AM -0700, Gurucharan Shetty wrote:
> These functions exist, so don't provide them.
>
> Signed-off-by: Gurucharan Shetty
How curious.
Acked-by: Ben Pfaff
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/m
On Mon, Mar 10, 2014 at 10:56:38AM -0700, Gurucharan Shetty wrote:
> Windows does not have the getppid(), getuid(), getgid() functions.
> We do get a random seed from CryptGenRandom(). That seed along with
> process id and current time hopefully is good enough.
>
> Signed-off-by: Gurucharan Shetty
On Mon, Mar 10, 2014 at 10:56:37AM -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
On Mon, Mar 10, 2014 at 10:56:36AM -0700, Gurucharan Shetty wrote:
> Visual studio does not understand array initialization
> done this way:
> [first ... last] = value
>
> Signed-off-by: Gurucharan Shetty
Acked-by: Ben Pfaff
___
dev mailing list
dev@o
On Mon, Mar 10, 2014 at 10:56:35AM -0700, Gurucharan Shetty wrote:
> There is no ftruncate() in visual studio. There is a _chsize_s()
> which has a similar functionality.
>
> Signed-off-by: Gurucharan Shetty
This implementation of ftruncate() does not return anything if
_chsize_s() succeeds. (I
It will come in handy elsewhere in upcoming commits.
Signed-off-by: Ben Pfaff
---
lib/fat-rwlock.c |5 -
lib/util.h |5 +
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/fat-rwlock.c b/lib/fat-rwlock.c
index 9ffa37b..3866dda 100644
--- a/lib/fat-rwlock.c
Signed-off-by: Ben Pfaff
---
lib/dpif-netdev.c | 148 -
1 file changed, 43 insertions(+), 105 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index d9e7a1a..eb437d1 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -49,
This factors code out of fat-rwlock, making it easily usable by other code.
Signed-off-by: Ben Pfaff
---
lib/fat-rwlock.c | 29 ++
lib/util.c | 60 +-
lib/util.h |6 +-
3 files changed, 66 inserti
This allows clients to do more than just increment a counter. The
following commit will make the first use of that feature.
Signed-off-by: Ben Pfaff
---
lib/dpif-netdev.c | 75 +--
lib/ovs-thread.c | 91 ++-
This should scale better than a single mutex, though still not
ideally.
Signed-off-by: Ben Pfaff
---
lib/dpif-netdev.c | 99 +++--
1 file changed, 74 insertions(+), 25 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 268b04d
Signed-off-by: Ben Pfaff
Conflicts:
lib/ovs-rcu.h
---
ofproto/connmgr.c|5 +-
ofproto/ofproto-dpif-xlate.c |2 -
ofproto/ofproto-dpif.c |2 -
ofproto/ofproto-provider.h | 19 ---
ofproto/ofproto.c| 119 ++-
RCU allows multiple threads to read objects in parallel without any
performance penalty. The following commit will introduce the first use.
Signed-off-by: Ben Pfaff
---
lib/automake.mk |2 +
lib/ovs-rcu.c | 293 +
lib/ov
This is broken out into a separate commit because it adds new MSVC
specific code and I don't have MSVC around to test whether it's correct.
CC: Gurucharan Shetty
Signed-off-by: Ben Pfaff
---
lib/compiler.h | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/li
None of the atomic implementations need a destroy function anymore, so it's
"more standard" and more convenient for users to get rid of them.
Signed-off-by: Ben Pfaff
---
lib/bfd.c |3 +--
lib/cfm.c |6 +-
lib/dpif-linux.c |3 +
Until now, the GCC 4+ and pthreads implementations of atomics have used
struct wrappers for their atomic types. This had the advantage of allowing
a mutex to be wrapped in, in some cases, and of better type-checking by
preventing stray uses of atomic variables other than through one of the
atomic_
This reduces duplicate code.
Signed-off-by: Ben Pfaff
---
lib/automake.mk |1 +
lib/ovs-atomic-c11.h | 15 ---
lib/ovs-atomic-clang.h| 42 +++-
lib/ovs-atomic-gcc4.7+.h | 44 +++---
Signed-off-by: Ben Pfaff
---
lib/ovs-atomic-gcc4+.h |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ovs-atomic-gcc4+.h b/lib/ovs-atomic-gcc4+.h
index b465181..ddfd03c 100644
--- a/lib/ovs-atomic-gcc4+.h
+++ b/lib/ovs-atomic-gcc4+.h
@@ -202,7 +202,7 @@ atomic_signal_fenc
This will eliminate the need for atomic_flag_destroy().
Signed-off-by: Ben Pfaff
---
lib/automake.mk |1 -
lib/ovs-atomic-pthreads.c | 78 -
lib/ovs-atomic-pthreads.h | 56 +++-
3 files changed, 48 insertio
v1->v2: Redid all the ovs-atomic changes to fix a bug in the GCC 4.x (x <
7) support. This was not a simple fix; all the ovs-atomic patches are
essentially new. Also, changed the ovs-rcu library to use "consume" rather
than "acquire" based on this:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/
Every implementation used this same code, so it makes sense to centralize
it.
Signed-off-by: Ben Pfaff
---
lib/automake.mk |1 -
lib/ovs-atomic-c11.h |1 -
lib/ovs-atomic-clang.h|1 -
lib/ovs-atomic-gcc4+.h|1 -
lib/ovs-atomic-gcc4.7+.h |1 -
lib/ovs-a
PAD_SIZE(x,y) is a little shorter and may have a more obvious meaning
than ROUND_UP(x,y) - x.
I intend to add more users in an upcoming comment.
Signed-off-by: Ben Pfaff
---
lib/netlink.c |6 +++---
lib/nx-match.c| 10 +-
lib/ofp-actions.c |6 +++---
lib/ofp-actions.h
On 07/03/14 17:59, Thomas Graf wrote:
On 03/07/2014 06:28 PM, Pravin Shelar wrote:
Problem is mapping SKBTX_DEV_ZEROCOPY pages to userspace. skb_zerocopy
is not doing that.
Unless I missing something, Current netlink code can not handle
skb-frags with zero copy. So we have to copy skb anyways a
Someone familiar with LISP but not so familiar with OVS pointed out to me in a
private email that the relationship between some LISP concepts and their OVS
implementation is not clearly explained. I addressed his comments in the
enclosed patch, which he reviewed.
As an aside, I wonder if we shoul
People familiar with LISP are used to the concept of a mapping cache in
a LISP Tunnel Router. Explain how that concept maps to OVS flow rules.
Additionally, mention that eth0 need not be added in all example
scenarios.
Signed-off-by: Lorand Jakab
---
README-lisp | 17 +
1 file c
Hi,
I'm seeing wrong behavior of Netflow5 records emitted by Open vSwitch
2.1.90.
I've configured my switch to export Netflow records with an active timeout
of 30 seconds.
I've then started a single, long TCP session flowing through the switch.
The first netflow record seems OK - after 30 second
> Commit fd2e50c (Add check for -latomic) fixed a bug for 32-bit
> PowerPC systems, where the compiler would generate calls to
> functions implemented by libatomic, such as '__atomic_load_8'.
>
> Nonetheless, it passes '-latomic' to all files that get compiled
> and that isn't necessary, so add it
61 matches
Mail list logo