Thanks. Pushed to master with suggested changes.
On Fri, Sep 5, 2014 at 4:23 PM, Pravin Shelar wrote:
> On Fri, Sep 5, 2014 at 2:52 PM, Andy Zhou wrote:
>> Since kernel stack is limited in size, it is not wise to using
>> recursive function with large stack frames.
>>
>> This patch provides an a
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 specif
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 (perform
On Fri, Sep 5, 2014 at 2:52 PM, Andy Zhou wrote:
> 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 act
Signed-off-by: Jarno Rajahalme
---
lib/odp-util.c | 217
1 file changed, 94 insertions(+), 123 deletions(-)
diff --git a/lib/odp-util.c b/lib/odp-util.c
index 3c398ce..967ed27 100644
--- a/lib/odp-util.c
+++ b/lib/odp-util.c
@@ -2483,23 +
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
Masked set action allows more megaflow wildcarding. Masked set action
is now supported for all writeable key types, except for the tunnel
key.
The set tunnel action is an exception as any input tunnel info is
cleared before action processing starts, so there is no tunnel info to
mask.
The kernel
When userspace inserts masked flows, it is not necessary to demand
that flows matching in a known ethertype also must have the
corresponding key, as a missing key will be automatically wildcarded.
For example, if a drop flow dropping all UDP packets is installed,
this patch allows the userspace ap
Allow setting of fields without matching on the same fields. Field
existence check is done on set action execution time instead, using
the extracted flow key.
Signed-off-by: Jarno Rajahalme
---
datapath/actions.c | 21 -
datapath/flow_netlink.c | 46 +++-
Signed-off-by: Jarno Rajahalme
Reviewed-by: YAMAMOTO Takashi
Acked-by: Ben Pfaff
---
v5: rebase, no other changes.
ofproto/ofproto-dpif-xlate.c | 18 +
ofproto/ofproto-dpif-xlate.h |3 ++-
ofproto/ofproto-dpif.c | 58 +-
3 files
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
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 unmasked bits have non-zero values (as in
keys received from a datapath), or when the 'verbose' formatting is
requested those are still f
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
---
lib/meta-flow.c | 14 +++---
lib/odp-util.c |7 +++
lib/util.c |6 --
lib/util.h |4 ++-
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
---
lib/odp-util.c | 42 +++---
1 file changed, 27 inse
Signed-off-by: Jarno Rajahalme
---
v5: Using pattern with less code duplication suggested by Ben.
lib/odp-util.c | 487 ++
lib/odp-util.h |5 +-
ofproto/ofproto-dpif-xlate.c | 15 +-
tests/ofproto-dpif.at| 66 ++
tp_src and tp_dst fields were recently added to struct flow_tnl, but
parsing and printing was missing.
Signed-off-by: Jarno Rajahalme
---
lib/odp-util.c | 38 --
tests/bfd.at|6 ++--
tests/odp.at| 16 +--
tests/tunnel.at | 82 +++
The frag member in the Netlink interface is an uint8_t enumeration
type, not a bitrfield, so it should always be either fully masked or
not masked at all.
Signed-off-by: Jarno Rajahalme
---
lib/odp-util.c | 19 ++-
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/
Jesse,
I’ll send a new patch series soon, but here are the fixes to the comments below
for your viewing pleasure:
Jarno
diff --git a/datapath/actions.c b/datapath/actions.c
index 0cb7c9e..243b672 100644
--- a/datapath/actions.c
+++ b/datapath/actions.c
@@ -510,7 +510,7 @@ static int set_ipv4(
On Sep 5, 2014, at 2:26 PM, Jarno Rajahalme wrote:
>
> On Sep 5, 2014, at 2:12 PM, Jarno Rajahalme wrote:
>
case OVS_KEY_ATTR_IPV4:
>>> [...]
- if (ipv4_key->ipv4_frag != flow_key->ip.frag)
- return -EINVAL;
+
Thanks, applied all to master
On Fri, Sep 5, 2014 at 2:20 PM, Pravin Shelar wrote:
> On Thu, Sep 4, 2014 at 3:17 PM, Alex Wang wrote:
> > Add a short description of the module and its assumption.
> >
> > Signed-off-by: Alex Wang
>
>
> LGTM
> Acked-by: Pravin B Shelar
>
__
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
Acked-by: Pravin B Shelar
---
datapath/actions.c | 63 -
datapath/datapath.c | 6 +
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 en
Thx for pointing it out, I'll make a note in the comment.
On Fri, Sep 5, 2014 at 2:19 PM, Pravin Shelar wrote:
> On Thu, Sep 4, 2014 at 3:17 PM, Alex Wang wrote:
> > Many of the ovs_numa_*() functions abort the program when the
> > input cpu socket or core id is invalid. This commit relaxes
>
On Sep 5, 2014, at 2:12 PM, Jarno Rajahalme wrote:
>>>
>>> case OVS_KEY_ATTR_IPV4:
>> [...]
>>> - if (ipv4_key->ipv4_frag != flow_key->ip.frag)
>>> - return -EINVAL;
>>> + /* Non-writeable fields. */
>>> + if
They may or may not make a difference, but there's no reason not to
support passing them.
Signed-off-by: Ethan Jackson
---
utilities/ovs-dev.py | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/utilities/ovs-dev.py b/utilities/ovs-dev.py
index e454e18..3686391 10075
They have slightly different support characteristics, so it's nice to
easily switch between them for testing.
Signed-off-by: Ethan Jackson
---
utilities/ovs-dev.py | 18 ++
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/utilities/ovs-dev.py b/utilities/ovs-dev.py
These options don't make sense when building portable code, but when
using the dev script, OVS is built on the same system it's run on.
They make a small difference in the OVS DPDK testing, hence their
addition.
Signed-off-by: Ethan Jackson
---
utilities/ovs-dev.py | 6 +++---
1 file changed, 3
On Thu, Sep 4, 2014 at 3:17 PM, Alex Wang wrote:
> Signed-off-by: Alex Wang
LGTM
Acked-by: Pravin B Shelar
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
On Thu, Sep 4, 2014 at 3:17 PM, Alex Wang wrote:
> Add a short description of the module and its assumption.
>
> Signed-off-by: Alex Wang
LGTM
Acked-by: Pravin B Shelar
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/
On Thu, Sep 4, 2014 at 3:17 PM, Alex Wang wrote:
> 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
Due
On Thu, Sep 4, 2014 at 3:17 PM, Alex Wang wrote:
> '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'.
>
On Aug 11, 2014, at 5:39 PM, Jesse Gross wrote:
> On Mon, Aug 11, 2014 at 9:15 AM, Jarno Rajahalme
> wrote:
>> Masked set action allows more megaflow wildcarding. Masked set action
>> is now supported for all writeable key types, except for the tunnel
>> key.
>>
>> The set tunnel action is a
On Thu, Sep 4, 2014 at 12:28 AM, Simon Horman
wrote:
> On Tue, Sep 02, 2014 at 07:20:30PM -0700, Pravin Shelar wrote:
>> On Tue, Sep 2, 2014 at 6:55 PM, Jesse Gross wrote:
>> > On Mon, Sep 1, 2014 at 1:10 AM, Simon Horman
>> > wrote:
>> >> On Thu, Aug 28, 2014 at 10:12:49AM +0900, Simon Horman
Acked-by: Alin Gabriel Serdean
Acked-by: Ankur Sharma
-Original Message-
From: Eitan Eliahu [mailto:elia...@vmware.com]
Sent: Friday, September 05, 2014 7:39 PM
To: dev@openvswitch.org
Cc: Eitan Eliahu
Subject: [PATCH v3] Windows NetLink Socket - Support for asynchronous event
notifica
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 n the NL socket. The thread will read all all eve
Hi Alin,
I'm sorry I don't follow you on this one. Which style issue you refer to? I
would like to fix it before checking in.
Thanks,
Eitan
-Original Message-
From: Alin Serdean [mailto:aserd...@cloudbasesolutions.com]
Sent: Friday, September 05, 2014 11:03 AM
To: Eitan Eliahu; dev@ope
Hi Eitan
Beside some style issue in:
+#ifdef _WIN32
+/* Pend an I/O request in the driver. The driver completes the I/O whenever
+* an event or a packet is ready to be read. Once the I/O is completed
+* the overlapped structure event associated with the pending I/O will be set
+*/
Acked-by: Alin
On Aug 12, 2014, at 3:45 PM, Ben Pfaff wrote:
> On Mon, Aug 11, 2014 at 09:15:00AM -0700, Jarno Rajahalme wrote:
>> Signed-off-by: Jarno Rajahalme
>
> The amount of redundancy in the code at this point is starting to give
> me a headache. How about a pattern like this (provided as an
> increm
Hi Alin,
Thanks for review.
Acked-by: Ankur Sharma
Regards,
Ankur
From: dev on behalf of Eitan Eliahu
Sent: Friday, September 5, 2014 4:48 PM
To: dev@openvswitch.org
Subject: [ovs-dev] [PATCH v2] Windows NetLink Socket - Support for
asynchronous
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 n the NL socket. The thread will read all all eve
Hi Alin, thanks a lot for the review.
On the device name for the create file system call we need to use the following
definition from the interface header file:
#define OVS_DEVICE_NAME_USER TEXT(".\\OpenvSwitchDevice")
This is its purpose.
There is no GetLastError() for Linux. Good catch!
I
On 09/05/14 03:02, Scott Feldman wrote:
On Thu, Sep 04, 2014 at 09:30:45AM -0700, Scott Feldman wrote:
Correct, for the particular switch implementation we’re working with.
Do you have L2/3 working with this interface on said switch?
I am interested.
cheers,
jamal
___
On Sep 4, 2014, at 9:08 PM, Simon Horman wrote:
> On Thu, Sep 04, 2014 at 09:30:45AM -0700, Scott Feldman wrote:
>>
>> On Sep 4, 2014, at 2:04 AM, Simon Horman wrote:
>>
>>>
>>>
>>> [snip]
>>>
>>> In relation to ports and datapaths it seems to me that the API that
>>> has been developed ac
43 matches
Mail list logo