[ovs-dev] [recirc datapath V4 4/5] datapath: add hash action

2014-04-18 Thread Andy Zhou
Signed-off-by: Andy Zhou V3->v4: * Rehash the hash with hash_basis * always accept dp_hash mask * add mask to ovs_nla_put_flow() API V2->V3: * rename dp_hash to ovs_flow_hash * Simplify netlink message error checking logic * other cleanups --- data

Re: [ovs-dev] [PATCH] ofproto-dpif-upcall: Don't use stack garbage

2014-04-18 Thread Jarno Rajahalme
Acked-by: Jarno Rajahalme On Apr 17, 2014, at 7:19 PM, YAMAMOTO Takashi wrote: > Catched by "learning action - self-modifying flow with hard_timeout" > test case. > > The bug introduced by commit b256dc52. > ("ofproto-dpif-xlate: Cache xlate_actions() effects.") > > Signed-off-by: YAMAMOTO Ta

Re: [ovs-dev] [PATCH 1/5] lib/flow: Introduce miniflow_extract().

2014-04-18 Thread Jarno Rajahalme
Pushed, thanks for the prompt review! Jarno On Apr 18, 2014, at 2:32 AM, YAMAMOTO Takashi wrote: >> miniflow_extract() extracts packet headers directly to a miniflow, >> which is a compressed form of the struct flow. This does not require >> a large struct to be cleared to begin with, and ac

Re: [ovs-dev] [PATCH] lib/ofp-util: Restore the check for minus sign in port number strings.

2014-04-18 Thread Jarno Rajahalme
Thanks for the review, pushed with this error message line (it fit to one line better :-): VLOG_WARN("Negative value %s is not a valid port number.", s); Jarno On Apr 17, 2014, at 11:11 PM, Justin Pettit wrote: > It might be useful to print the port string that was handed to it, since

Re: [ovs-dev] [PATCH 2/5] lib/flow: Add miniflow accessors and miniflow_get_tcp_flags().

2014-04-18 Thread Jarno Rajahalme
On Apr 18, 2014, at 2:28 AM, YAMAMOTO Takashi wrote: >> Add inlined generic accessors for miniflow integer type fields, and a >> new miniflow_get_tcp_flags() usinge these. These will be used in a >> later patch. >> >> Some definitions also used in lib/packets.h had to be moved there to >> reso

Re: [ovs-dev] [PATCH 3/5] lib/flow: Possibly faster miniflow_hash_in_minimask()

2014-04-18 Thread Jarno Rajahalme
On Apr 18, 2014, at 2:32 AM, YAMAMOTO Takashi wrote: >> Upcoming patches add classifier lookups using miniflows, this is >> heavily used for it. >> >> Signed-off-by: Jarno Rajahalme > > Reviewed-by: YAMAMOTO Takashi Pushed, thanks! Jarno ___ de

Re: [ovs-dev] [PATCH 4/5] classifier: Support miniflow as a key.

2014-04-18 Thread Jarno Rajahalme
On Apr 18, 2014, at 2:32 AM, YAMAMOTO Takashi wrote: >> Support struct miniflow as a key for datapath flow lookup. >> >> The new classifier interface classifier_lookup_miniflow_first() takes >> a miniflow as a key and stops at the first match with no regard to >> flow prioritites. This works o

Re: [ovs-dev] [PATCH 5/5] dpif-netdev: Use miniflow as a flow key.

2014-04-18 Thread Jarno Rajahalme
On Apr 18, 2014, at 2:26 AM, YAMAMOTO Takashi wrote: >> Use miniflow as a flow key in the userspace datapath classifier. The >> miniflow is expanded for upcalls, but for existing datapath flows, the >> key need not be expanded. >> >> Signed-off-by: Jarno Rajahalme > > Reviewed-by: YAMAMOTO T

Re: [ovs-dev] [recirc datapath V4 3/5] openvswitch.h: rename hash action definition

2014-04-18 Thread Jesse Gross
On Fri, Apr 18, 2014 at 2:50 AM, Andy Zhou wrote: > Rename hash_bias to hash_basis to make it consistent with similar > usages. > > Signed-off-by: Andy Zhou Acked-by: Jesse Gross ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/

Re: [ovs-dev] [recirc datapath V4 4/5] datapath: add hash action

2014-04-18 Thread Jesse Gross
On Fri, Apr 18, 2014 at 2:51 AM, Andy Zhou wrote: > diff --git a/datapath/actions.c b/datapath/actions.c > index 82cfd2d..87a8a40 100644 > --- a/datapath/actions.c > +++ b/datapath/actions.c > @@ -460,6 +460,20 @@ static int sample(struct datapath *dp, struct sk_buff > *skb, >

Re: [ovs-dev] [PATCH 1/2] DPI plugin addition proposal v2

2014-04-18 Thread Justin Pettit
It looks like this patch still slow-paths packets until the classification is done.  As I stated last time[1], this is a non-starter because of the impact it will have on performance.  As such, I'm not going to review any patches or comment on future ones that do this.  If you want to integrate

Re: [ovs-dev] [recirc datapath V4 4/5] datapath: add hash action

2014-04-18 Thread Andy Zhou
On Fri, Apr 18, 2014 at 9:28 AM, Jesse Gross wrote: > On Fri, Apr 18, 2014 at 2:51 AM, Andy Zhou wrote: >> diff --git a/datapath/actions.c b/datapath/actions.c >> index 82cfd2d..87a8a40 100644 >> --- a/datapath/actions.c >> +++ b/datapath/actions.c >> @@ -460,6 +460,20 @@ static int sample(struct

Re: [ovs-dev] [recirc datapath V4 4/5] datapath: add hash action

2014-04-18 Thread Jesse Gross
On Fri, Apr 18, 2014 at 10:39 AM, Andy Zhou wrote: > On Fri, Apr 18, 2014 at 9:28 AM, Jesse Gross wrote: >> I don't understand the other change about accepting a hash mask even >> when there isn't a hash value. Can you explain this? > It is not necessary now. I was thinking of the case Pravin sug

Re: [ovs-dev] [recirc datapath V4 4/5] datapath: add hash action

2014-04-18 Thread Andy Zhou
On Fri, Apr 18, 2014 at 10:52 AM, Jesse Gross wrote: > On Fri, Apr 18, 2014 at 10:39 AM, Andy Zhou wrote: >> On Fri, Apr 18, 2014 at 9:28 AM, Jesse Gross wrote: >>> I don't understand the other change about accepting a hash mask even >>> when there isn't a hash value. Can you explain this? >> It

[ovs-dev] [PATCH 06/11] daemon-windows: Create pidfiles with option --pidfile.

2014-04-18 Thread Gurucharan Shetty
In Windows, we cannot delete a file that has been opened. We use this feature to "lock" the pidfile. Signed-off-by: Gurucharan Shetty --- lib/daemon-windows.c | 79 ++ lib/daemon.h |8 - 2 files changed, 86 insertions(+), 1 deleti

[ovs-dev] [PATCH 08/11] netdev: Initialize netdev_class_mutex.

2014-04-18 Thread Gurucharan Shetty
ovsdb-server on windows crashes without it. Signed-off-by: Gurucharan Shetty --- lib/netdev.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/netdev.c b/lib/netdev.c index 4736a97..71d3f83 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -70,7 +70,8 @@ static struct s

[ovs-dev] [PATCH 01/11] tests: Define a variable "IS_WIN32" for tests.

2014-04-18 Thread Gurucharan Shetty
Signed-off-by: Gurucharan Shetty --- tests/atlocal.in |3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/atlocal.in b/tests/atlocal.in index 06e7384..8267554 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -77,4 +77,7 @@ Linux) FreeBSD|NetBSD) LOOPBACK_INTERFACE=lo0

[ovs-dev] [PATCH 07/11] daemon-windows: Recognize --no-chdir option for windows.

2014-04-18 Thread Gurucharan Shetty
The option won't have any effect on the running of the daemon. Recognizing the option lets us avoid if else conditions in unit tests. Signed-off-by: Gurucharan Shetty --- lib/daemon.h |5 + 1 file changed, 5 insertions(+) diff --git a/lib/daemon.h b/lib/daemon.h index 0b7dc5f..8ac777f 1

[ovs-dev] [PATCH 04/11] daemon-windows: Rename service variables.

2014-04-18 Thread Gurucharan Shetty
Sa far, we are using variable 'detach' to indicate whether the option "--service" has been set. We were using variable 'detached' to indicate that the daemon is being called from the Windows services manager. An upcoming commit introduces command line option "--detach" for daemons running on Windo

[ovs-dev] [PATCH 05/11] daemon-windows: Implement --detach option for Windows.

2014-04-18 Thread Gurucharan Shetty
When "--detach" is specified, a daemon will create a new process with the same command line options as the parent. Additionally, an undocumented command line option "--pipe-handle" is passed to child. Once the child is ready to handle external commands, it communicates to the parent that it is read

[ovs-dev] [PATCH 02/11] stream: Introduce [p]windows_[p]stream_class.

2014-04-18 Thread Gurucharan Shetty
On Linux, we heavily use --remote=punix:* to listen for connections through unix domain sockets. We also use, unix:* to connect to a daemon that is listening on unix domain sockets. Many times, we create default unix domain sockets for listening and many utilities connect to these sockets by defaul

[ovs-dev] [PATCH 11/11] testsuite.at: Workaround for carriage returns on windows.

2014-04-18 Thread Gurucharan Shetty
In unit tests, we compare text written in logs or stdout/stderr to figure out the success or failure of tests. In Windows, since new line is represented by CR+LF, autoconf tests run in MinGW environment fail. Asking diff to ignore trailing carriage returns is one way to solve the problem Suggeste

[ovs-dev] [PATCH 10/11] testsuite.at: kill for windows.

2014-04-18 Thread Gurucharan Shetty
We use kill to cleanup processes from pidfiles. Windows has a 'taskkill' which does something similar. We can check if the process with a PID exists with 'tasklist'. Both tasklist and taskkill return 0 for both success and failure. So, we will have to grep to see if there is a o/p. A typical o/p o

[ovs-dev] [PATCH 03/11] unixctl: Use [p]windows_[p]stream_class for windows.

2014-04-18 Thread Gurucharan Shetty
Now that we have a separate [p]stream_class for hiding kernel assigned TCP port inside a file meant for unix domain sockets in windows, use the new infrastructure provided. Signed-off-by: Gurucharan Shetty --- lib/unixctl.c | 67 +++-- 1 file

[ovs-dev] [PATCH 09/11] testsuite.at: pwd for windows.

2014-04-18 Thread Gurucharan Shetty
On MinGW, "pwd -W" gives the present working directory in the form of windows path (i.e C:/temp instead of /c/temp). When we pass the directory path to daemons as arguments, we should be passing it in the form of windows path. Suggested-by: Ben Pfaff Signed-off-by: Gurucharan Shetty --- tests/t

Re: [ovs-dev] [recirc datapath V4 4/5] datapath: add hash action

2014-04-18 Thread Andy Zhou
The incremental change follows: diff --git a/datapath/actions.c b/datapath/actions.c index fdcd576..921310a 100644 --- a/datapath/actions.c +++ b/datapath/actions.c @@ -468,10 +468,11 @@ static void execute_hash(struct sk_buff *skb, const struct nlattr *attr) /* OVS_HASH_ALG_L4 is the only p

[ovs-dev] [PATCH 03/10] ofproto: Use classifer cursor API to collect vlan usage.

2014-04-18 Thread Jarno Rajahalme
This was the only place in OVS code that accessed classifier internal data structures directly. Use the classifier cursor API instead, so that following patches can hide classifier internal data structures. Note: There seems to be no test case to verify that this vlan usage collection is implemen

[ovs-dev] [PATCH 04/10] lib/classifier: Hide more of the internal data structures.

2014-04-18 Thread Jarno Rajahalme
It is better not to expose definitions not needed by users. Signed-off-by: Jarno Rajahalme --- lib/classifier.c| 134 --- lib/classifier.h| 65 --- tests/test-classifier.c |6 +-- 3 files changed, 115 insertio

[ovs-dev] [PATCH 05/10] lib/flow: Optimize minimask_has_extra() and minimask_is_catchall()

2014-04-18 Thread Jarno Rajahalme
We only need to iterate over the bits masked by the 'b' in minimask_has_extra(), since for zeroes in 'b' there can be no 'extra' wildcards in 'a', as 'b' has already wildcarded all the bits. minimask_is_catchall() can be simplified by the invariant that mask's map never has 1-bits for all-zero val

[ovs-dev] [PATCH 10/10] lib/classifier: Support variable sized miniflows.

2014-04-18 Thread Jarno Rajahalme
Change the classifier to allocate variable sized miniflows and minimasks in cls_match and cls_subtable, respectively. Do not duplicate the mask in cls_rule any more. miniflow_clone and miniflow_move can now take variably sized miniflows as source. The destination is assumed to be regularly sized

[ovs-dev] [PATCH 07/10] classifier: Use array for subtables instead of a list.

2014-04-18 Thread Jarno Rajahalme
Using a linear array allows more efficient memory access for lookups. Signed-off-by: Jarno Rajahalme --- lib/classifier.c | 239 +- 1 file changed, 182 insertions(+), 57 deletions(-) diff --git a/lib/classifier.c b/lib/classifier.c index e48f

[ovs-dev] [PATCH 08/10] lib/classifier: Separate cls_rule internals from the API.

2014-04-18 Thread Jarno Rajahalme
Keep an internal representation of a rule separate from the one embedded into user's structs. This allows for further memory optimization in the classifier. Signed-off-by: Jarno Rajahalme --- lib/classifier.c| 211 +-- lib/classifier.h

[ovs-dev] [PATCH 02/10] lib: Inline functions used in classifier_lookup

2014-04-18 Thread Jarno Rajahalme
Signed-off-by: Jarno Rajahalme --- lib/classifier.c| 181 ++- lib/flow.c | 155 lib/flow.h | 38 -- lib/hindex.c| 13 lib/hindex.h| 1

[ovs-dev] [PATCH 06/10] lib: Add prefetch support (for GCC)

2014-04-18 Thread Jarno Rajahalme
Define OVS_PREFETCH() and OVS_PREFETCH_WRITE() using builtin prefetch for GCC, and ovs_prefetch_range() for prefetching a range of addresses. Signed-off-by: Jarno Rajahalme --- lib/compiler.h |8 lib/util.h | 14 ++ 2 files changed, 22 insertions(+) diff --git a/l

[ovs-dev] [PATCH 01/10] lib/flow: Simplify miniflow accessors, add ipv6 support.

2014-04-18 Thread Jarno Rajahalme
Add new macro MINIFLOW_MAP(FIELD) that returns the map covering the given struct flow field. Change the miniflow accessors to macros so that they can take the field name directly. Use these to add ipv6 suppoort to miniflow_hash_5tuple(). Add ipv6 support to flow_hash_5tuple() as well so that the

[ovs-dev] [PATCH 09/10] lib/flow: Maintain miniflow offline values explicitly.

2014-04-18 Thread Jarno Rajahalme
This allows use of miniflows that have all of their values inline. Signed-off-by: Jarno Rajahalme --- lib/classifier.c | 36 +++-- lib/dpif-netdev.c | 32 ++- lib/flow.c| 91 ++--- lib/flow.h|

[ovs-dev] [PATCH 00/10] classifier: Optimize memory access.

2014-04-18 Thread Jarno Rajahalme
This series: - Inlines critical functions that are only used by the classifier. - Hides classifier internals from the API, adding a 'cls_match' that contains the private parts of 'cls_rule'. - Changes the subtable list to a linear array that enables prefetching. - Always inlines the miniflows and

Re: [ovs-dev] [recirc datapath V4 1/5] ofproto-dpif: Rule lookup starts from table zero for non-recirc datapath

2014-04-18 Thread Jarno Rajahalme
On Apr 18, 2014, at 2:50 AM, Andy Zhou wrote: > Currently, all packet lookup starts from internal table for possible > matching of post recirculation rules. This is not necessary for > datapath that does not support recirculation. > > This patch adds the ability to steering rule lookup starting

Re: [ovs-dev] [recirc datapath V4 1/5] ofproto-dpif: Rule lookup starts from table zero for non-recirc datapath

2014-04-18 Thread Andy Zhou
On Fri, Apr 18, 2014 at 12:59 PM, Jarno Rajahalme wrote: > > On Apr 18, 2014, at 2:50 AM, Andy Zhou wrote: > >> Currently, all packet lookup starts from internal table for possible >> matching of post recirculation rules. This is not necessary for >> datapath that does not support recirculation.

Re: [ovs-dev] [recirc datapath V4 2/5] odp-util: Always generate key/mask pair in netlink for recirc_id

2014-04-18 Thread Jarno Rajahalme
On Apr 18, 2014, at 2:50 AM, Andy Zhou wrote: ... > @@ -2681,9 +2681,9 @@ unencap: > * capable of being expanded to allow for that much space. */ > void > odp_flow_key_from_flow(struct ofpbuf *buf, const struct flow *flow, > - odp_port_t odp_in_port) > +

Re: [ovs-dev] [PATCH V9 1/3] dpif-linux: Implement the API functions to allow multiple handler threads read upcall.

2014-04-18 Thread Ethan Jackson
Acked-by: Ethan Jackson On Thu, Apr 17, 2014 at 5:41 PM, Alex Wang wrote: > Signed-off-by: Alex Wang > > --- > V8 -> v9: > - move the fat-lock acquisition inside the if-statement in dpif_linux_run(). > - fix an error: dpif_linux_recv_purge() should acquire wrlock. > > V7 -> V8: > - rebase. > >

Re: [ovs-dev] [PATCH V9 2/3] dpif-linux: Pass 'struct dpif_linux *' to internal static functions.

2014-04-18 Thread Ethan Jackson
Acked-by: Ethan Jackson On Thu, Apr 17, 2014 at 5:41 PM, Alex Wang wrote: > This commit reformats the dpif-linux module so that all internal > static functions take 'struct dpif_linux *' as input argument. > This will allow the adding of thread-safety annotations. > > Signed-off-by: Alex Wang

Re: [ovs-dev] [PATCH V9 3/3] dpif-linux: Add thread-safety annotations.

2014-04-18 Thread Ethan Jackson
Acked-by: Ethan Jackson On Thu, Apr 17, 2014 at 5:41 PM, Alex Wang wrote: > Signed-off-by: Alex Wang > > --- > V9: > - add thread-safety annotations. > --- > lib/dpif-linux.c | 60 > +- > 1 file changed, 46 insertions(+), 14 deletions(-)

Re: [ovs-dev] [PATCH V9 3/3] dpif-linux: Add thread-safety annotations.

2014-04-18 Thread Alex Wang
Thx, applied three patches, On Fri, Apr 18, 2014 at 1:55 PM, Ethan Jackson wrote: > Acked-by: Ethan Jackson > > > On Thu, Apr 17, 2014 at 5:41 PM, Alex Wang wrote: > > Signed-off-by: Alex Wang > > > > --- > > V9: > > - add thread-safety annotations. > > --- > > lib/dpif-linux.c | 60 > +++

Re: [ovs-dev] [recirc datapath V4 1/5] ofproto-dpif: Rule lookup starts from table zero for non-recirc datapath

2014-04-18 Thread Jarno Rajahalme
> On Apr 18, 2014, at 1:09 PM, Andy Zhou wrote: > >> On Fri, Apr 18, 2014 at 12:59 PM, Jarno Rajahalme >> wrote: >> >>> On Apr 18, 2014, at 2:50 AM, Andy Zhou wrote: >>> >>> Currently, all packet lookup starts from internal table for possible >>> matching of post recirculation rules. This i

[ovs-dev] [PATCH RFC V9] ofproto-dpif-upcall: Remove the dispatcher thread.

2014-04-18 Thread Alex Wang
With the foundation laid in previous commits, this commit removes the 'dispatcher' thread by allowing 'handler' threads to read upcalls directly from dpif. This commit significantly simplifies the flow miss handling code and brings slight improvement to flow setup rate. Signed-off-by: Alex Wang

Re: [ovs-dev] [recirc datapath V4 2/5] odp-util: Always generate key/mask pair in netlink for recirc_id

2014-04-18 Thread Andy Zhou
Good point. I agree it looks odd. How about the following incremental: diff --git a/lib/odp-util.c b/lib/odp-util.c index 9d49198..8e95c9e 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -2481,21 +2481,17 @@ ovs_to_odp_frag_mask(uint8_t nw_frag_mask) } static void -odp_flow_key_from_flow__

Re: [ovs-dev] [recirc datapath V4 2/5] odp-util: Always generate key/mask pair in netlink for recirc_id

2014-04-18 Thread Jarno Rajahalme
LGTM, Acked-by: Jarno Rajahalme > On Apr 18, 2014, at 2:32 PM, Andy Zhou wrote: > > Good point. I agree it looks odd. How about the following incremental: > > diff --git a/lib/odp-util.c b/lib/odp-util.c > index 9d49198..8e95c9e 100644 > --- a/lib/odp-util.c > +++ b/lib/odp-util.c > @@ -248

Re: [ovs-dev] [recirc datapath V4 5/5] datapath: add recirc action

2014-04-18 Thread Jesse Gross
On Fri, Apr 18, 2014 at 2:51 AM, Andy Zhou wrote: > diff --git a/datapath/actions.c b/datapath/actions.c > index 87a8a40..fdcd576 100644 > --- a/datapath/actions.c > +++ b/datapath/actions.c > +static int execute_recirc(struct datapath *dp, struct sk_buff *skb, > +c

Re: [ovs-dev] [PATCH RFC V9] ofproto-dpif-upcall: Remove the dispatcher thread.

2014-04-18 Thread Ethan Jackson
> + *- "flow_dumper" thread that reads the kernel flow table and dispatches Lost the initial "A" here. > struct upcall { > -struct list list_node; /* For queuing upcalls. */ > +bool is_valid; /* If the upcall can be used. */ > struct flow_miss *flow_mi

Re: [ovs-dev] [PATCH RFC V9] ofproto-dpif-upcall: Remove the dispatcher thread.

2014-04-18 Thread Alex Wang
On Fri, Apr 18, 2014 at 4:51 PM, Ethan Jackson wrote: > > + *- "flow_dumper" thread that reads the kernel flow table and > dispatches > > Lost the initial "A" here. Thx, > struct upcall { > > -struct list list_node; /* For queuing upcalls. */ > > +bool is_valid;

Re: [ovs-dev] [PATCH RFC V9] ofproto-dpif-upcall: Remove the dispatcher thread.

2014-04-18 Thread Alex Wang
Thx, applied, Nothing better than applying 100th patch on Friday,~ At this rate, if everyone stop applying patches, it would take me 8 yrs to match your number of commits, and 40+yrs to match Ben's record. ;D On Fri, Apr 18, 2014 at 5:10 PM, Alex Wang wrote: > > > > On Fri, Apr 18, 2014 at

Re: [ovs-dev] [PATCH] ofproto-dpif-upcall: Don't use stack garbage

2014-04-18 Thread Joe Stringer
Thanks for catching this. It is also used later on to set xin.may_learn, does that matter too? On 19 April 2014 03:22, Jarno Rajahalme wrote: > Acked-by: Jarno Rajahalme > > On Apr 17, 2014, at 7:19 PM, YAMAMOTO Takashi > wrote: > > > Catched by "learning action - self-modifying flow with har

[ovs-dev] [PATCHv11] ofproto-dpif-upcall: Remove the flow_dumper thread.

2014-04-18 Thread Joe Stringer
From: Ethan Jackson Previously, we had a separate flow_dumper thread that fetched flows from the datapath to distribute to revalidator threads. This patch takes the logic for dumping and pushes it into the revalidator threads, resulting in simpler code with similar performance to the current code

[ovs-dev] Can OVS have multiple ip addresses?

2014-04-18 Thread Junguk Cho
In FAQ, there is way of configuring one ip address to OVS like this. ifconfig eth0 0.0.0.0 ifconfig br0 192.168.128.5 There are some sentences. "If your only connection to the machine running OVS is through the IP address in question, then you would want to run all of these commands on a

Re: [ovs-dev] Can OVS have multiple ip addresses?

2014-04-18 Thread Justin Pettit
On April 18, 2014 at 7:50:46 PM, Junguk Cho (jman...@gmail.com) wrote: > In FAQ, there is way of configuring one ip address to OVS like this. > > ifconfig eth0 0.0.0.0 > ifconfig br0 192.168.128.5 > > > There are some sentences. > > "If your only connection to the machine running OVS is throug

Re: [ovs-dev] [PATCH] lib/ofp-util: Restore the check for minus sign in port number strings.

2014-04-18 Thread YAMAMOTO Takashi
> Commit 33ab38d9 (meta-flow: Simplify mf_from_ofp_port_string()) > inadvertently removed a check for minus sign at the beginning of a > port number string introduced by commit 05dddba (meta-flow: Don't > allow negative port numbers). This check is still needed, so put it > back, but to ofputil_po

[ovs-dev] [PATCH 1/2] DPI plugin addition proposal v2

2014-04-18 Thread Franck BAUDIN
This message and any attachments (the "message") are confidential, intended solely for the addressees. If you are not the intended recipient, please notify the sender immediately by e-mail and delete this message from your system. In this case, you are not authorized to use, copy this message a

Re: [ovs-dev] [PATCH 5/5] dpif-netdev: Use miniflow as a flow key.

2014-04-18 Thread YAMAMOTO Takashi
> Use miniflow as a flow key in the userspace datapath classifier. The > miniflow is expanded for upcalls, but for existing datapath flows, the > key need not be expanded. > > Signed-off-by: Jarno Rajahalme Reviewed-by: YAMAMOTO Takashi > @@ -2144,8 +2157,9 @@ dp_execute_cb(void *aux_, struct

Re: [ovs-dev] [PATCH 2/5] lib/flow: Add miniflow accessors and miniflow_get_tcp_flags().

2014-04-18 Thread YAMAMOTO Takashi
> Add inlined generic accessors for miniflow integer type fields, and a > new miniflow_get_tcp_flags() usinge these. These will be used in a > later patch. > > Some definitions also used in lib/packets.h had to be moved there to > resolve circular include dependencies. Similarly, some inline > f

Re: [ovs-dev] [PATCH 3/5] lib/flow: Possibly faster miniflow_hash_in_minimask()

2014-04-18 Thread YAMAMOTO Takashi
> Upcoming patches add classifier lookups using miniflows, this is > heavily used for it. > > Signed-off-by: Jarno Rajahalme Reviewed-by: YAMAMOTO Takashi ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

Re: [ovs-dev] [PATCH 4/5] classifier: Support miniflow as a key.

2014-04-18 Thread YAMAMOTO Takashi
> Support struct miniflow as a key for datapath flow lookup. > > The new classifier interface classifier_lookup_miniflow_first() takes > a miniflow as a key and stops at the first match with no regard to > flow prioritites. This works only if the classifier has no > conflicting rules (as is the c

Re: [ovs-dev] [PATCH 1/5] lib/flow: Introduce miniflow_extract().

2014-04-18 Thread YAMAMOTO Takashi
> miniflow_extract() extracts packet headers directly to a miniflow, > which is a compressed form of the struct flow. This does not require > a large struct to be cleared to begin with, and accesses less memory. > These performance benefits should allow this to be used in the DPDK > datapath. > >

[ovs-dev] [recirc datapath V4 1/5] ofproto-dpif: Rule lookup starts from table zero for non-recirc datapath

2014-04-18 Thread Andy Zhou
Currently, all packet lookup starts from internal table for possible matching of post recirculation rules. This is not necessary for datapath that does not support recirculation. This patch adds the ability to steering rule lookup starting table based on whether datapath supports recirculation. S

[ovs-dev] [recirc datapath V4 3/5] openvswitch.h: rename hash action definition

2014-04-18 Thread Andy Zhou
Rename hash_bias to hash_basis to make it consistent with similar usages. Signed-off-by: Andy Zhou --- include/linux/openvswitch.h | 4 ++-- lib/dpif-netdev.c| 2 +- lib/odp-util.c | 2 +- ofproto/ofproto-dpif-xlate.c | 4 ++-- ofproto/ofproto-dpif-xlate.h | 2 +- 5 fi

[ovs-dev] [recirc datapath V4 2/5] odp-util: Always generate key/mask pair in netlink for recirc_id

2014-04-18 Thread Andy Zhou
Currently netlink flow (and mask) recirc_id attribute is only serialized when the recirc_id value is non-zero. For this logic to work correctly, the interpretation of the missing recirc_id depends on whether the datapath supports recirculation. This patch remove the ambiguity of the meaning of mis

[ovs-dev] [recirc datapath V4 5/5] datapath: add recirc action

2014-04-18 Thread Andy Zhou
Recirculation implementation for Linux kernel data path. Signed-off-by: Andy Zhou --- V3 -> v4: * OVS_CB input_port may be NULL for ovs_packet_cmd_execute() * always accept recirc_id mask * Always generate recirc_id netlink message for recirc enabled