[ovs-dev] Buffer in openvswitch

2012-08-07 Thread mvpblc
Hello, For what I understand the openvSwitch works in store-and-forward mode using linux kernel. Can someone tell me where is the buffer and the files that are connected and do or treats the store-and-forward on openvswitch sources. Where is this done? Can someone tell me if is in mind an cut

Re: [ovs-dev] Buffer in openvswitch

2012-08-07 Thread Ben Pfaff
On Tue, Aug 07, 2012 at 02:21:20PM +0100, mvp...@iol.pt wrote: > For what I understand the openvSwitch works in store-and-forward mode > using linux kernel. > Can someone tell me where is the buffer and the files that are connected > and do or treats the store-and-forward on openvswitch sources.

Re: [ovs-dev] Buffer in openvswitch

2012-08-07 Thread mvpblc
Hello, but in finction: netdev_linux_listen(struct netdev *netdev_) on netdev_linux.c file inside lib, they have sockets open to the interfaces. Where it receive a packet and copy to memory. It reads the memory content only when packet reach the exact length of the packet, for example 1500 byt

Re: [ovs-dev] Buffer in openvswitch

2012-08-07 Thread Ben Pfaff
OK, it sounds like you answered your own questions. Fine. On Tue, Aug 07, 2012 at 04:01:05PM +0100, mvp...@iol.pt wrote: > Hello, > >but in finction: netdev_linux_listen(struct netdev *netdev_) on > netdev_linux.c file inside lib, they have sockets open to the interfaces. > Where it receive

Re: [ovs-dev] [PATCH] Adding checksum to ICMP packets created by OVS for testing.

2012-08-07 Thread Ben Pfaff
On Mon, Aug 06, 2012 at 11:55:15PM -0700, Mehak Mahajan wrote: > OVS provides a utility to create ICMP packets for the purpose of > testing using ovs-appctl netdev-dummy/receive. These packets created > by flow_compose() earlier did not have the ICMP checksum in them. > With this commit, the check

[ovs-dev] [controller 2/6] vconn: Fix vconn_get_version().

2012-08-07 Thread Ben Pfaff
It's documented to return -1 if the version isn't yet known, but in fact it returned 0. Signed-off-by: Ben Pfaff --- lib/vconn.c |4 ++-- lib/vconn.h |3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/vconn.c b/lib/vconn.c index eb848ba..8b53b06 100644 --- a/lib/v

[ovs-dev] [controller 4/6] learning-switch: Delay sending handshake until version negotiation is done.

2012-08-07 Thread Ben Pfaff
The learning-switch implementation needs to know the OpenFlow version in use to send the initial handshake messages (e.g. the feature request), but the version is not always available at the time that the code currently sends the handshake. This can cause an assertion failure later when ofputil_en

[ovs-dev] [controller 1/6] vconn: Ensure that vconn_run() is enough to complete a connection.

2012-08-07 Thread Ben Pfaff
Until now, it seems that all vconn users have immediately started reading messages from the connection. Today, however, I added a new user that only wants to read packets after the OpenFlow version is negotiated, so it never called vconn_recv() before that happened. It turns out that if you do th

[ovs-dev] [controller 5/6] learning-switch: Don't use exact-match on every field by default.

2012-08-07 Thread Ben Pfaff
OVS has all kinds of odd fields, e.g. registers, and it doesn't make sense to try to match on all of them. This commit changes learning-switch to only try to match on the fields defined by OpenFlow 1.0. That's still not minimal, but it's more reasonable. This commit should not have an immediatel

[ovs-dev] [controller 3/6] learning-switch: Make lswitch own its rconn.

2012-08-07 Thread Ben Pfaff
Until now, ovs-controller and the learning-switch code split responsibility for the OpenFlow connection. This commit moves all the responsibility into the learning-switch code. The rationale here is twofold. First, the split itself seems odd; I think there must have been a reason for it at one t

[ovs-dev] [controller 6/6] learning-switch: Normalize the flows that are sent to the switch.

2012-08-07 Thread Ben Pfaff
This suppresses a long-standing warning from ovs-vswitchd about non-normalized flows. Signed-off-by: Ben Pfaff --- lib/learning-switch.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/lib/learning-switch.c b/lib/learning-switch.c index e4287c4..c1cd909 100644 --- a/lib/

[ovs-dev] [controller 0/6] controller bugfixes

2012-08-07 Thread Ben Pfaff
This fixes a crashing bug in ovs-controller reported by Simon Horman, as well as a long-standing annoyance with lack of flow normalization. Ben Pfaff (6): vconn: Ensure that vconn_run() is enough to complete a connection. vconn: Fix vconn_get_version(). learning-switch: Make lswitch own its

Re: [ovs-dev] Buffer in openvswitch

2012-08-07 Thread Wes Felter
On 8/7/12 8:21 AM, mvp...@iol.pt wrote: Can someone tell me if is in mind an cut-through implementation for openvSwitch? I was thinking in do something like that. AFAIK, NICs only trigger an interrupt after the packet has been completely DMAed into memory, which makes cut-through impossible t

Re: [ovs-dev] [controller 2/6] vconn: Fix vconn_get_version().

2012-08-07 Thread Kyle Mestery (kmestery)
On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > It's documented to return -1 if the version isn't yet known, but in fact > it returned 0. > > Signed-off-by: Ben Pfaff Looks good to me. Thanks, Kyle ___ dev mailing list dev@openvswitch.org http://openv

Re: [ovs-dev] [controller 1/6] vconn: Ensure that vconn_run() is enough to complete a connection.

2012-08-07 Thread Kyle Mestery (kmestery)
On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > Until now, it seems that all vconn users have immediately started reading > messages from the connection. Today, however, I added a new user that > only wants to read packets after the OpenFlow version is negotiated, so > it never called vconn_recv()

Re: [ovs-dev] [controller 3/6] learning-switch: Make lswitch own its rconn.

2012-08-07 Thread Kyle Mestery (kmestery)
On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > Until now, ovs-controller and the learning-switch code split responsibility > for the OpenFlow connection. This commit moves all the responsibility into > the learning-switch code. > > The rationale here is twofold. First, the split itself seems odd

Re: [ovs-dev] [controller 4/6] learning-switch: Delay sending handshake until version negotiation is done.

2012-08-07 Thread Kyle Mestery (kmestery)
On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > The learning-switch implementation needs to know the OpenFlow version in > use to send the initial handshake messages (e.g. the feature request), but > the version is not always available at the time that the code currently > sends the handshake. This

Re: [ovs-dev] [controller 5/6] learning-switch: Don't use exact-match on every field by default.

2012-08-07 Thread Kyle Mestery (kmestery)
On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > OVS has all kinds of odd fields, e.g. registers, and it doesn't make sense > to try to match on all of them. This commit changes learning-switch to > only try to match on the fields defined by OpenFlow 1.0. That's still not > minimal, but it's more

Re: [ovs-dev] [controller 6/6] learning-switch: Normalize the flows that are sent to the switch.

2012-08-07 Thread Kyle Mestery (kmestery)
On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > This suppresses a long-standing warning from ovs-vswitchd about > non-normalized flows. > > Signed-off-by: Ben Pfaff Looks good to me. Thanks, Kyle ___ dev mailing list dev@openvswitch.org http://openvsw

Re: [ovs-dev] [classifier-opt 10/28] ofproto: Move ofpacts_check() calls from ofproto-dpif to ofproto.

2012-08-07 Thread Ben Pfaff
I think you and I might have slightly different models in mind. The model that I'm after at the moment is that the ofproto generic layer checks that a set of actions is valid (which can be done without knowing anything about the hardware) and then the implementation checks that it can actually imp

Re: [ovs-dev] [controller 6/6] learning-switch: Normalize the flows that are sent to the switch.

2012-08-07 Thread Ben Pfaff
On Tue, Aug 07, 2012 at 07:34:19PM +, Kyle Mestery (kmestery) wrote: > On Aug 7, 2012, at 1:50 PM, Ben Pfaff wrote: > > This suppresses a long-standing warning from ovs-vswitchd about > > non-normalized flows. > > > > Signed-off-by: Ben Pfaff > > > Looks good to me. Thanks for the reviews.

Re: [ovs-dev] [classifier-opt 10/28] ofproto: Move ofpacts_check() calls from ofproto-dpif to ofproto.

2012-08-07 Thread Ethan Jackson
I don't feel particularly strongly about it. The current implementation is fine with me. Ethan On Tue, Aug 7, 2012 at 12:40 PM, Ben Pfaff wrote: > I think you and I might have slightly different models in mind. The > model that I'm after at the moment is that the ofproto generic layer > checks

Re: [ovs-dev] [PATCH 11/24] ovs-controller: Make sure vconn is connected before making messages

2012-08-07 Thread Ben Pfaff
On Wed, Jul 25, 2012 at 09:05:58AM +0900, Simon Horman wrote: > On Tue, Jul 24, 2012 at 04:03:59PM -0700, Ben Pfaff wrote: > > On Mon, Jul 23, 2012 at 03:16:40PM +0900, Simon Horman wrote: > > > This is a rather unpleasant hack but I am unsure of how to rework things > > > such that ovs-controller

Re: [ovs-dev] [classifier-opt 10/28] ofproto: Move ofpacts_check() calls from ofproto-dpif to ofproto.

2012-08-07 Thread Ben Pfaff
OK, thanks. Perhaps when (if?) someone submits another ofproto provider to master, we can figure out what best suits the set of providers as a whole. On Tue, Aug 07, 2012 at 12:44:52PM -0700, Ethan Jackson wrote: > I don't feel particularly strongly about it. The current > implementation is fine

Re: [ovs-dev] [classifier-opt 10/28] ofproto: Move ofpacts_check() calls from ofproto-dpif to ofproto.

2012-08-07 Thread Ethan Jackson
> Perhaps when (if?) someone submits another ofproto provider to master, > we can figure out what best suits the set of providers as a whole. Yah it's hard to get the abstraction right when we only have deep knowledge of one implementation. Hopefully a significant open source secondary implementa

Re: [ovs-dev] [classifier-opt 10/28] ofproto: Move ofpacts_check() calls from ofproto-dpif to ofproto.

2012-08-07 Thread Ben Pfaff
On Tue, Aug 07, 2012 at 12:53:52PM -0700, Ethan Jackson wrote: > > Perhaps when (if?) someone submits another ofproto provider to master, > > we can figure out what best suits the set of providers as a whole. > > Yah it's hard to get the abstraction right when we only have deep > knowledge of one

Re: [ovs-dev] [classifier-opt 12/28] flow: Use bit-mask for DSCP and ECN bits, instead of FWW_* flags.

2012-08-07 Thread Ben Pfaff
I think you might be right about which way is a little prettier, but all this code gets deleted a few commits later so I don't think I'm going to tweak the style. Thanks, Ben. On Mon, Jul 30, 2012 at 03:12:37PM -0700, Ethan Jackson wrote: > In flow_wildcards_combine(), does it make sense to move

Re: [ovs-dev] [classifier-opt 19/28] flow: Replace flow_wildcards members by a single "struct flow".

2012-08-07 Thread Ben Pfaff
On Mon, Jul 30, 2012 at 06:10:22PM -0700, Ethan Jackson wrote: > In flow_wildcards_init_catchall() and flow_wildcards_init_exact() why > not just memset? Perhaps the appropriate time to make that change > would have been when in_port was changed to a mask come to think of > it. It's fine to leave

Re: [ovs-dev] [classifier-opt 21/28] flow: Simplify many functions for working with flows and wildcards.

2012-08-07 Thread Ben Pfaff
Good point, thanks, I've now removed the functions that are generic. On Mon, Jul 30, 2012 at 06:43:20PM -0700, Ethan Jackson wrote: > Oh forgot to mention. We should probably remove the FLOW_WC_SEQ build > assertions from a lot of these functions as they no longer need to > change when new fields

Re: [ovs-dev] [classifier-opt 12/28] flow: Use bit-mask for DSCP and ECN bits, instead of FWW_* flags.

2012-08-07 Thread Ethan Jackson
Sounds good. Ethan On Tue, Aug 7, 2012 at 1:31 PM, Ben Pfaff wrote: > I think you might be right about which way is a little prettier, but > all this code gets deleted a few commits later so I don't think I'm > going to tweak the style. > > Thanks, > > Ben. > > On Mon, Jul 30, 2012 at 03:12:37PM

Re: [ovs-dev] [classifier-opt 19/28] flow: Replace flow_wildcards members by a single "struct flow".

2012-08-07 Thread Ethan Jackson
Sounds reasonable. Ethan On Tue, Aug 7, 2012 at 1:41 PM, Ben Pfaff wrote: > On Mon, Jul 30, 2012 at 06:10:22PM -0700, Ethan Jackson wrote: >> In flow_wildcards_init_catchall() and flow_wildcards_init_exact() why >> not just memset? Perhaps the appropriate time to make that change >> would have

Re: [ovs-dev] [classifier-opt 19/28] flow: Replace flow_wildcards members by a single "struct flow".

2012-08-07 Thread Ben Pfaff
One more thought: it's pretty easy to get rid of flow_wildcards later if we don't want it; it's harder to reintroduce it. On Tue, Aug 07, 2012 at 01:45:04PM -0700, Ethan Jackson wrote: > Sounds reasonable. > > Ethan > > On Tue, Aug 7, 2012 at 1:41 PM, Ben Pfaff wrote: > > On Mon, Jul 30, 2012 a

Re: [ovs-dev] [classifier-opt 19/28] flow: Replace flow_wildcards members by a single "struct flow".

2012-08-07 Thread Ethan Jackson
> One more thought: it's pretty easy to get rid of flow_wildcards later > if we don't want it; it's harder to reintroduce it. Yep Yep, don't care that much either way, just wondered if you thought about it. You obviously have, so lets leave it for now. Ethan > > On Tue, Aug 07, 2012 at 01:45:04

Re: [ovs-dev] [classifier-opt 23/28] util: New function popcount().

2012-08-07 Thread Ben Pfaff
On Tue, Jul 31, 2012 at 10:40:13AM -0700, Ethan Jackson wrote: > Oh one more thing: > > This seems like the kind of thing that's both easy to get wrong, and > easy to unit test. Does it make sense to add one? Yes, I folded this in, thanks: diff --git a/tests/library.at b/tests/library.at index

Re: [ovs-dev] [classifier-opt 23/28] util: New function popcount().

2012-08-07 Thread Ethan Jackson
Awesome, thanks! Ethan On Tue, Aug 7, 2012 at 2:06 PM, Ben Pfaff wrote: > On Tue, Jul 31, 2012 at 10:40:13AM -0700, Ethan Jackson wrote: >> Oh one more thing: >> >> This seems like the kind of thing that's both easy to get wrong, and >> easy to unit test. Does it make sense to add one? > > Yes,

Re: [ovs-dev] [classifier-opt 25/28] classifier: Break cls_rule 'flow' and 'wc' members into new "struct match".

2012-08-07 Thread Ben Pfaff
On Mon, Aug 06, 2012 at 02:29:30PM -0700, Ethan Jackson wrote: > lib/match.c: > s/clr_match/match Thanks, fixed. > match_set_metadata_masked()'s prototype is too long by a character. Oops, I've broken the line now. > lib/ofp-util.c: > It's strange to me that ofputil_match_from_ofp10_m

Re: [ovs-dev] [classifier-opt 25/28] classifier: Break cls_rule 'flow' and 'wc' members into new "struct match".

2012-08-07 Thread Ethan Jackson
> I dropped the parameter and return value from > ofputil_match_from_ofp10_match(). After some thought, it seemed that > I only needed the priority calculation in one place (in > ofputil_decode_flow_mod()) so I inlined it there. The other caller didn't need to calculate it? Ethan > >> The inde

[ovs-dev] [PATCH 06/41] ofp-actions: Return action size

2012-08-07 Thread Simon Horman
Modify ofpacts_put_openflow11_actions() to return the length of actions appended. This will be used when encoding Packet Out messages for Open Flow 1.1 and 1.2. The motivation for this is to avoid open coding the size calculation which may end up being needed elsewhere too. Signed-off-by: Simon Ho

[ovs-dev] [PATCH 02/41] ofp-print: Open Flow 1.2 Flow Mod message tests

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Remove non-test portions as they have already been merged. Ben, did you intentionally omit the tests? If so, feel free to drop this patch. * Rename from "ofp-util: Allow encoding of Open Flow 1.2 Flow Mod Messages" to "ofp-print: Open Flow 1.2 Flow Mod

[ovs-dev] [PATCH 03/41] ofp-util: Allow encoding of Open Flow 1.2 Packet In Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual Rebase v7 * Manual Rebase * Use struct ofp12_packet_in instead of struct ofp11_packet_in v6 * No change v5 * No change v4 * No change v3 * Add protocol parameter to ofputil_encode_packet_in(). This allows packet_

[ovs-dev] [PATCH 01/41] ofp-util: ofputil_pull_ofp11_match: Allow OXM match

2012-08-07 Thread Simon Horman
* Allow OXM matches which specified in OpenFlow 1.2. Also allow them for OpenFlow 1.1 as there seems little reason not to. * Pass padded_match_len parameter which if on NULL will be set to the padded match len. This will be used when decoding flow statistics response messages. Signed-off-by

[ovs-dev] [PATCH 00/41 v10] Preliminary Open Flow 1.2 Message Support

2012-08-07 Thread Simon Horman
Hi Ben, Hi All, this series adds infrastructure and message encoding and decoding to allow OpenFlow 1.2 to be used to the extent that ovs-controller works as a learning-switch and similar logic implemented using Ryu[1]. Note that some previously posted hacks are required in order for Open vSwtich

[ovs-dev] [PATCH 09/41] ofp-util: Prepare Packet Out decoder for other Open Flow versions

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * No change v7 * Manual Rebase * Only use OFPERR_NXBRC_BAD_IN_PORT in the case of OFPRAW_OFPT10_PACKET_OUT v6 * No change v5 * No change v4 * No change v3 * Differentiate versions using oh->version rather than relying on

[ovs-dev] [PATCH 05/41] ofp-msgs: Update OFPRAW_OFPT_SET_CONFIG for OpenFlow 1.2

2012-08-07 Thread Simon Horman
This is sufficient to allow encoding and decoding of OpenFlow 1.2 Set Config messages as the format is the same as OpenFlow 1.0 and OpenFlow 1.2. Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * No change v7 * Initial Post --- lib/ofp-msgs.h | 2 +- 1 file changed, 1 inse

[ovs-dev] [PATCH 08/41] ofp-util: Allow encoding of Open Flow 1.1 and 1.2 Packet Out Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual Rebase * ofpacts_put_openflow11_actions() now returns the length of encoded actions, make use of this. v7 * Manual Rebase v6 * No change v5 * No change v4 * Manual rebase v3 * Correct title: this patch relates to

[ovs-dev] [PATCH 12/41] ofp-util: Allow encoding Open Flow 1.2 Flow Stats Request Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual rebase v7 * Omitted v6 * No change v5 * No change v4 * Manual rebase v3 * No change v2 * Use ofputil_put_match() Fix ofputil_encode_flow_stats_request --- lib/ofp-util.c | 18 +- 1 file changed,

[ovs-dev] [PATCH 13/41] ofp-util: Allow use of OF12 flow format

2012-08-07 Thread Simon Horman
This enables the use of the OF12 format, the prerequisites of which were added by "Add OFPUTIL_P_OF12 and NXFF_OPENFLOW12" and patches to fill out other functions that use OFPUTIL_P_OF12 directly. Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Initial post --- lib/ofp-ut

[ovs-dev] [PATCH 11/41] ofp-util: Allow encoding of Open Flow 1.2 Flow Removed messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual Rebase v7 * Omitted v6 * No change v5 * No change v4 * Manual rebase v3 * No change v2 * Use ofputil_put_match() --- lib/ofp-msgs.h | 3 +++ lib/ofp-util.c | 21 - 2 files changed, 23 inserti

[ovs-dev] [PATCH 10/41] ofp-util: Allow decoding of Open Flow 1.1 and 1.2 Packet Out Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Return error value returned by ofputil_port_from_ofp11() rather than OFPERR_OFPBMC_BAD_VALUE. - This fix, from v3, disappeared somewhere along the way * Add ofp-print test for Open Flow 1.2 - I'm not sure how to generate

[ovs-dev] [PATCH 14/41] ofp-util: Allow encoding of Open Flow 1.2 Port Mod Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual Rebase v7 * Omitted v6 * No change v5 * No change v4 * Manual rebase v3 * No change v2 * No change --- lib/ofp-util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ofp-util.c b/lib/o

[ovs-dev] [PATCH 04/41] ofp-util: Allow decoding of Open Flow 1.2 Packet In Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual rebase * Add ofp-print test v7 * Manual rebase * Use struct ofp12_packet_in instead of struct ofp11_packet_in v6 * No change v5 * Manual rebase v4 * No change v3 * Add OF1.2 entry to to ofputil_msg_types * Make OF1

[ovs-dev] [PATCH 07/41] ofp-util: Prepare Packet Out encoder for other Open Flow versions

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Resolve breakage caused by reordering patches in v8 v8 * Make use of enum ofp_version v7 * Manual Rebase v6 * No change v5 * No change v4 * Manual rebase v3 * Add protocol variable to do_probe(). Previously this was added by a separat

[ovs-dev] [PATCH 15/41] ofp-util: Allow decoding of Open Flow 1.2 Port Mod Message

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Initial post --- lib/ofp-msgs.h | 2 +- tests/ofp-print.at | 14 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/ofp-msgs.h b/lib/ofp-msgs.h index 05ef334..0683bc5 100644 --- a/lib/ofp-m

[ovs-dev] [PATCH 17/41] ofp-util: Prepare Flow Statistics Request Decoder for other Open Flow versions

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Initial post --- lib/ofp-util.c | 35 +++ 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/lib/ofp-util.c b/lib/ofp-util.c index 878d307..d5e8bbf 100644 --- a/lib/ofp-util.c +++ b

[ovs-dev] [PATCH 19/41] ofp-util: Allow encoding of Open Flow 1.2 Flow Statistics Response Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Manual Rebase v7 * Omitted v6 * No change v5 * No change v4 * Do not manually add header pad, it is handled by ofputil_postappend_stats_reply() v3 * Initial post fix --- lib/ofp-util.c | 23 ++- 1

[ovs-dev] [PATCH 22/41] ofp-msgs: Allow 1.0-1.2 range

2012-08-07 Thread Simon Horman
This is intended for use with OFPRAW_OFPST_TABLE_REQUEST in order for it to be symmetric with OpenFlow 1.0, 1.1 and 1.2 versions of OFPRAW_OFPST1TABLE_REPLY. OpenFlow 1.3 introduces yet another format for OFPRAW_OFPST1TABLE_REPLY. Signed-off-by: Simon Horman --- v10 * No change v9 * No change

[ovs-dev] [PATCH 23/41] ofp-msgs: Split OFPRAW_OFPST_TABLE_REPLY

2012-08-07 Thread Simon Horman
Split OFPRAW_OFPST_TABLE_REPLY into OpenFlow 1.0, 1.1 and 1.2 versions. This is preparation for allowing encoding and decoding of Open Flow 1.1 and 1.2 Table Stats Reply messages. Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Initial post --- lib/ofp-msgs.h | 12 +

[ovs-dev] [PATCH 18/41] ofp-util: Allow decoding of Open Flow 1.2 Flow Statistics Request Messages

2012-08-07 Thread Simon Horman
Allow decoding of Open Flow 1.1 and 1.2 flow and aggregate flow statistics request messages. Signed-off-by: Simon Horman --- v10 * No change v10 * Manual rebase v9 * No change v8 * Manual rebase * Add ofp-print test v7 * Omitted v6 * No change v5 * Manual rebase v4 * Use OFPG11_ANY in pl

[ovs-dev] [PATCH 16/41] ofp-msgs: Split OFPRAW_OFPST_FLOW_{REQUEST, REPLY}

2012-08-07 Thread Simon Horman
Split OFPRAW_OFPST_FLOW_{REQUEST,REPLY} into OpenFlow 1.0 and 1.1+ versions. This is in preparation for adding encoding and decoding of Open Flow 1.1 & 1.2 messages. Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Initial post --- lib/ofp-msgs.h | 14 ++ lib/

[ovs-dev] [PATCH 20/41] ofp-util: Allow decoding of Open Flow 1.2 Flow Statistics Response Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Manual rebase v9 * No change v8 * Manual rebase * Add ofp-print test v7 * Omitted v6 * No change v5 * Manual rebase * Use padded_match_len parameter of ofputil_pull_ofp12_match() to obtain the length of a match. Using the remaining length of the mes

[ovs-dev] [PATCH 21/41] ofp-msgs: Split OFPRAW_OFPST_AGGREGATE_REQUEST

2012-08-07 Thread Simon Horman
Split OFPRAW_OFPST_AGGREGATE_REQUEST into OpenFlow 1.0 and 1.1+ versions. This should be sufficient to allow adding encoding and decoding of Open Flow 1.1 and 1.2 Aggregate Stats Request messages. Encoding and decoding of Open Flow 1.1 and 1.2 Aggregate Stats Response messages works using the exi

[ovs-dev] [PATCH 25/41] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Table Statistics Request Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Set wildcards, match, write_setfields and apply_setfields based on a bitmap of (1 << OFPXMT_*) v8 * Manual rebase * Make use of enum ofp_version * Add ofp-tests v7 * Omitted v6 * No change v5 * Manual rebase * Add OFPST_TABLE entry for

[ovs-dev] [PATCH 27/41] ofp-msgs: Allow encoding and decoding of Open Flow 1.1 & 1.2 Barrier Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * No change v8 * Initial post --- lib/ofp-msgs.h | 4 ++-- tests/ofp-print.at | 32 ++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/lib/ofp-msgs.h b/lib/ofp-msgs.h index 7ef7c5a..752d12c 1

[ovs-dev] [PATCH 30/41] ofp-util: Pass vconn to fetch_port_by_features()

2012-08-07 Thread Simon Horman
Pass vconn to fetch_port_by_features() and callers. In some cases this will reduce the number of connections that ovs-ofputil sets up. It should not alter the behaviour of ovs-ofputil. Signed-off-by: Simon Horman --- v10 * No change v9 * Manual rebase v8 * Omitted v7 * Omitted v6 * No chan

[ovs-dev] [PATCH 26/41] ovs-ofctl: Use vconn as a parameter of dump_stats_transaction()

2012-08-07 Thread Simon Horman
In order to form a stats message for the prevailing OpenFlow version of a vconn the vconn needs to be open at the time the request is encoded. Thus there is no longer a case where it makes sense to use dump_stats_transaction() without a vconn already being open and available to pass as a parameter.

[ovs-dev] [PATCH 28/41] ofp-msgs: Split OFPRAW_OFPST_PORT_{REQUEST, REPLY}

2012-08-07 Thread Simon Horman
Split OFPRAW_OFPST_PORT_{REQUEST,REPLY} into OpenFlow 1.0 and 1.1+ versions. This prepares for encoding and decoding Open Flow 1.1 and 1.2 Port Stats Request and Reply messages. Signed-off-by: Simon Horman --- v10 * No change v9 * Update description - this only prepares for both encoding and

[ovs-dev] [PATCH 29/41] ovs-ofputil: Make str_to_port_no() aware of invalid ports

2012-08-07 Thread Simon Horman
Open Flow 1.1 and 1.2 make use of 32 bit ports, however Open vSwtich maps them to 16 bits. Make ovs-ofputl aware of this. Also, only accept ports that fit into 16 bits for Open Flow 1.0. Signed-off-by: Simon Horman --- v10 * No change v9 * Manual Rebase v8 * Omitted v7 * Omitted v6 * No ch

[ovs-dev] [PATCH 24/41] ofp-print: Enable display of Open Flow 1.1 & 1.2 Table Stats Reply Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Generate OFPST_TABLE reply - OF1.2 test to save rather a lot of lines in tests/ofp-print.at. v9 * No change v8 * Manual rebase v8 * Manual rebase * Make use of enum ofp_version * Add ofp-print test - Currently there is no Open Flow 1.1 test as I am un

[ovs-dev] [PATCH 31/41] ofp-util: Allow encoding of Open Flow 1.1 & 1.2 Port Statistics Reply Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Move print test to "ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port Reply Messages" v8 * Manual rebase * Make use of enum ofp_version * Add ofp-print test v7 * Omitted v6 * No change v5 * No change v4 * Initial post fix port tes

[ovs-dev] [PATCH 33/41] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Port Status Request Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Manual Rebase * Make use of enum ofp_version v8 * Omitted v7 * Omitted v6 * No change v5 * Initial Post --- ofproto/ofproto.c | 27 --- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/ofproto/ofprot

[ovs-dev] [PATCH 32/41] ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port Reply Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Make use of enum ofp_version * Add ofp-print test * Correct printing of port number for Open Flow 1.0 * Replace UINT64_MAX with htonll(UINT64_MAX) in ofp_print_port_stat() to correct byte-order problem detected by sparse v8 * Omitted v7 *

[ovs-dev] [PATCH 35/41] ovs-ofctl: Teach dump-ports about Open Flow 1.1 & 1.2

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Initial post --- utilities/ovs-ofctl.c | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c index 606a3f2..81df40c 100644 --- a/utilities/ovs-ofctl.c +++ b/ut

[ovs-dev] [PATCH 34/41] ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port Status Request Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * No change v9 * Manual Rebase * Make use of enum ofp_version * Change title from "ofp-print: Allow display of Open Flow 1.1 & 1.2 Port Status Request Messages" to "ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port Status Request Messages" * Add ofp-

[ovs-dev] [PATCH 38/41] ofp-util: Allow encoding of Open Flow 1.1 & 1.2 Queue Stats Reply Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Manual rebase * Make use of enum ofp_version v9 * Omitted v8 * Omitted v7 * Omitted v6 * No change v5 * Initial Post --- ofproto/ofproto.c | 40 ++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/ofp

[ovs-dev] [PATCH 36/41] ofp-msgs: Split OFPRAW_OFPST_QUEUE_{REQUEST, REPLY}

2012-08-07 Thread Simon Horman
Split OFPRAW_OFPST_QUEUE_{REQUEST,REPLY} into OpenFlow 1.0 and 1.1+ versions. This prepares for encoding and decoding Open Flow 1.1 and 1.2 Queue Stats Request and Reply messages. Signed-off-by: Simon Horman --- v10 * No change v10 * Initial Post --- lib/ofp-msgs.h| 14 ++

[ovs-dev] [PATCH 39/41] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Queue Stats Request Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Make use of enum ofp_version v9 * Omitted v8 * Omitted v7 * Omitted v6 * No change v5 * Initial Post --- ofproto/ofproto.c | 33 + 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/ofproto/ofproto.c b/ofprot

[ovs-dev] [PATCH 41/41] ovs-ofpctl: Enable queue-stats for Open Flow 1.1 & 1.2

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Manual rebase * Make use of enum ofp_version v9 * Omitted v8 * Omitted v7 * Omitted v6 * The queue_id variable in do_dump_aggregate() should be uint32_t not uint16_t. v5 * Initial Post --- utilities/ovs-ofctl.c | 43 ++

[ovs-dev] [PATCH 37/41] ofp-print: Enable display of Open Flow 1.1 & 1.2 Queue Status Reply Messages

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Make use of enum ofp_version * Add ofp-print test v9 * Omitted v8 * Omitted v7 * Omitted v6 * No change v5 * Initial Post --- lib/ofp-print.c| 63 -- tests/ofp-print.at | 56 ++

[ovs-dev] [PATCH 40/41] ovs-print: Enable display of Open Flow 1.1 & 1.2 Queue Stats Request

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v10 * Manual rebase * Make use of enum ofp_version * Change subject name from "ovs-print: Enable display of Open Flow 1.1 & 1.2 Queue Stats Response" to "ovs-print: Enable display of Open Flow 1.1 & 1.2 Queue Stats Request" * Add ofp-print test * Use ofputil_p

Re: [ovs-dev] [classifier-opt 25/28] classifier: Break cls_rule 'flow' and 'wc' members into new "struct match".

2012-08-07 Thread Ben Pfaff
On Tue, Aug 07, 2012 at 02:49:19PM -0700, Ethan Jackson wrote: > > I dropped the parameter and return value from > > ofputil_match_from_ofp10_match(). After some thought, it seemed that > > I only needed the priority calculation in one place (in > > ofputil_decode_flow_mod()) so I inlined it there

Re: [ovs-dev] [classifier-opt 25/28] classifier: Break cls_rule 'flow' and 'wc' members into new "struct match".

2012-08-07 Thread Ethan Jackson
Makes sense. Thanks. Ethan (iPhone) On Aug 7, 2012, at 14:53, Ben Pfaff wrote: > On Tue, Aug 07, 2012 at 02:49:19PM -0700, Ethan Jackson wrote: >>> I dropped the parameter and return value from >>> ofputil_match_from_ofp10_match(). After some thought, it seemed that >>> I only needed the prior

[ovs-dev] [PATCH] vconn: Properly line up description for "tcp:" and "ssl:" usage.

2012-08-07 Thread Justin Pettit
Signed-off-by: Justin Pettit --- lib/vconn.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/vconn.c b/lib/vconn.c index cbe3c77..da4d9ca 100644 --- a/lib/vconn.c +++ b/lib/vconn.c @@ -138,10 +138,10 @@ vconn_usage(bool active, bool passive, bool bootstrap OVS_UNU

Re: [ovs-dev] [PATCH] vconn: Properly line up description for "tcp:" and "ssl:" usage.

2012-08-07 Thread Ben Pfaff
On Tue, Aug 07, 2012 at 03:19:33PM -0700, Justin Pettit wrote: > Signed-off-by: Justin Pettit Looks good. I didn't compare the output, but I'll assume you did. ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev

[ovs-dev] Video cámara de 110gr por 33,28¤ / Escápate a Madrid por sólo 36¤ / Crema Reductora por 26¤

2012-08-07 Thread GlobalBono
Cabestan. Layout Doble Asegúrate de no perderte ninguna oferta, añade ofer...@globalbono.com a tu lista de contactos. Si no ves correctamente las imágenes, pulsa [ http://email.globalbono.com/E07082012110854.cfm?WL=955&WS=208833_8707685&WA=399 ] aquí [ http://email.globalbono.com/Go/index.cfm

Re: [ovs-dev] [PATCH] vconn: Properly line up description for "tcp:" and "ssl:" usage.

2012-08-07 Thread Justin Pettit
On Aug 7, 2012, at 3:21 PM, Ben Pfaff wrote: > On Tue, Aug 07, 2012 at 03:19:33PM -0700, Justin Pettit wrote: >> Signed-off-by: Justin Pettit > > Looks good. > > I didn't compare the output, but I'll assume you did. Yep. Thanks. I pushed this. --Justin __

Re: [ovs-dev] [classifier-opt 26/28] classifier: Prepare for "struct cls_rule" needing to be destroyed.

2012-08-07 Thread Ben Pfaff
It's a good idea. There's one case, in collect_rules_strict(), where it's nice to avoid the repeated overhead of converting the same match to a cls_rule repeatedly, so I just added a wrapper classifier_find_match_exactly() and used that in the other cases. Thanks, Ben. On Mon, Aug 06, 2012 at 0

Re: [ovs-dev] [PATCH] tests: Test that ofp10_match bytes that should be ignored really are.

2012-08-07 Thread Ben Pfaff
Thank you. I applied this to master. On Mon, Jul 30, 2012 at 02:16:37PM -0700, Mehak Mahajan wrote: > Hey Ben, > > Looks good to me. > > thanx! > mehak > > On Fri, Jul 27, 2012 at 1:23 PM, Ben Pfaff wrote: > > > Would someone review this please? It should not be hard. > > > > Thanks, > > >

[ovs-dev] [PATCH] Bump up the supported kernel versions to include 3.5.x.

2012-08-07 Thread Kyle Mestery
Signed-off-by: Kyle Mestery --- datapath/datapath.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datapath/datapath.c b/datapath/datapath.c index 7a7dc4c..e98c84b 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -61,8 +61,8 @@ #include "vport-internal_dev.h

[ovs-dev] [PATCH] vlog: Ignore return value of some write() calls.

2012-08-07 Thread Justin Pettit
A couple of calls to write() would generate warnings when the "-Wunused-result" compiler option is enabled. This change ignores the return value, since we can't do anything about it in logging code. Signed-off-by: Justin Pettit --- lib/vlog.c |4 ++-- 1 files changed, 2 insertions(+), 2 del

Re: [ovs-dev] [PATCH] vlog: Ignore return value of some write() calls.

2012-08-07 Thread Ben Pfaff
On Tue, Aug 07, 2012 at 03:49:00PM -0700, Justin Pettit wrote: > A couple of calls to write() would generate warnings when the > "-Wunused-result" compiler option is enabled. This change ignores the > return value, since we can't do anything about it in logging code. > > Signed-off-by: Justin Pet

Re: [ovs-dev] [PATCH] vlog: Ignore return value of some write() calls.

2012-08-07 Thread Justin Pettit
On Aug 7, 2012, at 4:08 PM, Ben Pfaff wrote: > On Tue, Aug 07, 2012 at 03:49:00PM -0700, Justin Pettit wrote: >> A couple of calls to write() would generate warnings when the >> "-Wunused-result" compiler option is enabled. This change ignores the >> return value, since we can't do anything abou

[ovs-dev] [PATCH] timeval: On 64-bit systems refresh time whenever it is requested.

2012-08-07 Thread Leo Alterman
64-bit glibc appears to avoid syscalls for clock_gettime(), so we can get higher resolution timing and avoid having a timer firing off SIGALRM without introducing extra overhead. Signed-off-by: Leo Alterman --- lib/timeval.c | 46 -- 1 file changed,

Re: [ovs-dev] [PATCH] timeval: On 64-bit systems refresh time whenever it is requested.

2012-08-07 Thread Ed Maste
> > +/* On Linux IA64 systems, glibc avoids using syscalls for clock_gettime(). > I assume you mean x86-64 or one of the equivalent names here, not IA64. > +#ifndef __LP64__ > +#define CACHE_TIME 1 > +#endif > This will disable the syscall mitigation for 64-bit FreeBSD as well, which is not (ye

Re: [ovs-dev] [PATCH 11/24] ovs-controller: Make sure vconn is connected before making messages

2012-08-07 Thread Simon Horman
On Tue, Aug 07, 2012 at 12:46:12PM -0700, Ben Pfaff wrote: > On Wed, Jul 25, 2012 at 09:05:58AM +0900, Simon Horman wrote: > > On Tue, Jul 24, 2012 at 04:03:59PM -0700, Ben Pfaff wrote: > > > On Mon, Jul 23, 2012 at 03:16:40PM +0900, Simon Horman wrote: > > > > This is a rather unpleasant hack but

Re: [ovs-dev] [PATCH 00/41 v10] Preliminary Open Flow 1.2 Message Support

2012-08-07 Thread Simon Horman
On Wed, Aug 08, 2012 at 06:49:35AM +0900, Simon Horman wrote: > Hi Ben, Hi All, > > this series adds infrastructure and message encoding and decoding > to allow OpenFlow 1.2 to be used to the extent that ovs-controller > works as a learning-switch and similar logic implemented using Ryu[1]. > Note

[ovs-dev] [PATCH 07/41 v11] ofp-util: Prepare Packet Out encoder for other Open Flow versions

2012-08-07 Thread Simon Horman
Signed-off-by: Simon Horman --- v11 * Manual rebase v10 * No change v9 * Resolve breakage caused by reordering patches in v8 v8 * Make use of enum ofp_version v7 * Manual Rebase v6 * No change v5 * No change v4 * Manual rebase v3 * Add protocol variable to do_probe(). Previously this w

[ovs-dev] Threaded userspace datapath

2012-08-07 Thread Ed Maste
The original developer of the BSD port (Gaetano Catalli) also implemented a threaded version of the userspace datapath to increase performance. As with the original port, the threading work was done against Open vSwitch 1.1.0pre2. Giuseppe Lettieri and I have ported it forward, and it's functiona