Re: [ovs-dev] [mpls v2 1/2] Implement OpenFlow support for MPLS, for up to 3 labels.

2014-01-08 Thread Simon Horman
On Wed, Jan 08, 2014 at 02:36:03PM -0500, Jesse Gross wrote: > On Tue, Jan 7, 2014 at 11:03 PM, Simon Horman wrote: > > On Tue, Jan 07, 2014 at 09:30:54PM -0500, Jesse Gross wrote: > >> I was talking about the case where there is a single pass and you have > >> mult

[ovs-dev] [PATCH/RFC] ofproto: Drop packet if actions create unkown MPLS label stack

2014-01-08 Thread Simon Horman
danger of subsequent actions making invalid assumptions about the packet as a result of the skipped actions. As suggested by Jesse Gross. Cc: Jesse Gross Signed-off-by: Simon Horman --- This is an incremental patch for "Implement OpenFlow support for MPLS, for up to 3 labels" intended t

[ovs-dev] [PATCH/RFC v2] ofproto: Drop packet if actions create unkown MPLS label stack

2014-01-09 Thread Simon Horman
danger of subsequent actions making invalid assumptions about the packet as a result of the skipped actions. As suggested by Jesse Gross. Cc: Jesse Gross Signed-off-by: Simon Horman --- v2 * Set ctx->exit * Clear odp_actions in compose_mpls_pop_action() to be consistent with compose_mpl

[ovs-dev] [PATCH 1/8] odp-util: Include '/' before mask when formatting MPLS LSE

2014-01-14 Thread Simon Horman
This corrects what appears to be a minor error in "Implement OpenFlow support for MPLS, for up to 3 labels." Signed-off-by: Simon Horman --- lib/odp-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/odp-util.c b/lib/odp-util.c index 8a408c9..520b314 100644

[ovs-dev] [PATCH 4/8] ofproto-dpif: Probe datapath for MPLS stack depth supported

2014-01-14 Thread Simon Horman
This is an proposed enhancement to "Implement OpenFlow support for MPLS, for up to 3 labels." It is in preparation for not adding flows to the datapath which have more MPLS LSEs than the datapath supports. Signed-off-by: Simon Horman --- ofproto/ofproto-d

[ovs-dev] [PATCH 7/8] ofproto-dpif-xlate: Do not use of more MPLS LSEs than the datapath can supply

2014-01-14 Thread Simon Horman
This is an proposed enhancement to "Implement OpenFlow support for MPLS, for up to 3 labels." Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-xlate.c | 26 +++--- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/ofproto/ofproto-dpif-xlate.c

[ovs-dev] [PATCH 5/8] ofproto-dpif-xlate: Add probed MPLS stack depth of dpif to xbridge

2014-01-14 Thread Simon Horman
This is an proposed enhancement to "Implement OpenFlow support for MPLS, for up to 3 labels." It is in preparation for not adding flows to the datapath which have more MPLS LSEs than the datapath supports. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-xlate.c | 8 +++

[ovs-dev] [PATCH 2/8] ofproto-dpif: Update tests for masked BoS bit

2014-01-14 Thread Simon Horman
The BoS bit of each LSE is masked by flow_count_mpls_labels() This corrects what appears to be a minor inconsistency in "Implement OpenFlow support for MPLS, for up to 3 labels." Signed-off-by: Simon Horman --- tests/ofproto-dpif.at | 4 ++-- 1 file changed, 2 insertions(+), 2

[ovs-dev] [PATCH 6/8] ofproto-dpif-xlate: Do not add more MPLS LSEs than the datapath can handle

2014-01-14 Thread Simon Horman
tapath can accept in a match. In future it may be possible to use recirculation to handle such cases. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-xlate.c | 25 +++-- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ofproto/ofproto-dpif-xlate.c b/ofpro

[ovs-dev] [PATCH 3/8] ofproto-dpif-xlate: Correct out-by one in logging of MPLS action errors

2014-01-14 Thread Simon Horman
The number of LSEs supported is ARRAY_SIZE(flow->mpls_lse) not ARRAY_SIZE(flow->mpls_lse) - 1. This corrects an inconsistency added my me to "Implement OpenFlow support for MPLS, for up to 3 labels." Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-xlate.c | 4 ++-- 1

[ovs-dev] [PATCH 0/8] Proposed improvements to "Implement OpenFlow support for MPLS, for up to 3 labels"

2014-01-14 Thread Simon Horman
rt for matching multiple MPLS labels at once."). The first 3 patches of this series correct some minor problems that I came across. The remaining 5 patches are my first attempt at handling the situation where the datapath and ovs-vswtichd support different maximum MPLS label stack depths.

[ovs-dev] [PATCH 8/8] ofproto-dpif: Do not add more MPLS labels to mask than the datapath can handle

2014-01-14 Thread Simon Horman
abels." Signed-off-by: Simon Horman --- lib/dpif-netdev.c | 3 ++- lib/odp-util.c| 13 - lib/odp-util.h| 3 ++- ofproto/ofproto-dpif-upcall.c | 5 - ofproto/ofproto-dpif.c| 6 ++ ofproto/ofproto-dpif.h| 2 +

[ovs-dev] [PATCH v5 1/3] netdev_class: Pass a struct ofpbuf * to rx_recv()

2014-01-15 Thread Simon Horman
tag obtained from auxdata. Co-authored-by: Ben Pfaff Signed-off-by: Simon Horman --- v5 * Updated documentation of rx_recv to text suggested by Ben Pfaff. v4 * On error return a positive error code rather than a negative one * Correct error in BSD changes: arg.retval rather than retval is

[ovs-dev] [PATCH v5 2/3] lib: Add tpid parameter to eth_push_vlan()

2014-01-15 Thread Simon Horman
This is in preparation for pushing vlan tags using the TPID provided by the kernel via auxdata. Signed-off-by: Simon Horman --- v5 * No change v4 * First post --- lib/cfm.c| 2 +- lib/flow.c | 2 +- lib/odp-execute.c| 2 +- lib/packets.c

[ovs-dev] [PATCH v5 0/3] netdev-linux: Read packet auxdata to obtain vlan_tid and vlan_tpid

2014-01-15 Thread Simon Horman
Changes between v1 and v2: * Update netdev_class to provide an ofpbuf * argument to rx_recv() Simon Horman (3): netdev_class: Pass a struct ofpbuf * to rx_recv() lib: Add tpid parameter to eth_push_vlan() netdev-linux: Read packet auxdata to obtain vlan_tid include/sparse/sys/socket.h | 1

[ovs-dev] [PATCH v5 3/3] netdev-linux: Read packet auxdata to obtain vlan_tid

2014-01-15 Thread Simon Horman
is set then it is added to the packet. Adding the vlan_tid makes use of headroom available in the buffer parameter of rx_recv. Co-authored-by: Ben Pfaff Signed-off-by: Simon Horman -- v5 * As provided by Ben Pfaff - Include local copy of struct tpacket_auxdata and related #defines to

[ovs-dev] [PATCH v4 REPOST] ofproto: Honour Table Mod settings for table-miss handling

2014-01-15 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- This is the remaining unmerged patch of the series "[PATCH v3 0/3] ofproto: Honour Table Mod set

Re: [ovs-dev] [PATCH 4/8] ofproto-dpif: Probe datapath for MPLS stack depth supported

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 03:50:31PM -0800, Ben Pfaff wrote: > On Wed, Jan 15, 2014 at 04:13:21PM +0900, Simon Horman wrote: > > This is an proposed enhancement to > > "Implement OpenFlow support for MPLS, for up to 3 labels." > > > > It is in preparation

Re: [ovs-dev] [PATCH v5 3/3] netdev-linux: Read packet auxdata to obtain vlan_tid

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 03:09:04PM -0800, Ben Pfaff wrote: > On Wed, Jan 15, 2014 at 05:17:02PM +0900, Simon Horman wrote: > > If VLAN acceleration is used when the kernel receives a packet > > then the outer-most VLAN tag will not be present in the packet > > when it is rec

Re: [ovs-dev] [PATCH 6/8] ofproto-dpif-xlate: Do not add more MPLS LSEs than the datapath can handle

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 04:10:43PM -0800, Ben Pfaff wrote: > On Wed, Jan 15, 2014 at 04:13:23PM +0900, Simon Horman wrote: > > This is an proposed enhancement to > > "Implement OpenFlow support for MPLS, for up to 3 labels." > > > > This makes the conservativ

Re: [ovs-dev] [PATCH 6/8] ofproto-dpif-xlate: Do not add more MPLS LSEs than the datapath can handle

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 04:35:24PM -0800, Ben Pfaff wrote: > On Fri, Jan 17, 2014 at 09:28:29AM +0900, Simon Horman wrote: > > On Thu, Jan 16, 2014 at 04:10:43PM -0800, Ben Pfaff wrote: > > > On Wed, Jan 15, 2014 at 04:13:23PM +0900, Simon Horman wrote: > > > > This

Re: [ovs-dev] [PATCH 7/8] ofproto-dpif-xlate: Do not use of more MPLS LSEs than the datapath can supply

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 04:30:24PM -0800, Ben Pfaff wrote: > On Wed, Jan 15, 2014 at 04:13:24PM +0900, Simon Horman wrote: > > This is an proposed enhancement to > > "Implement OpenFlow support for MPLS, for up to 3 labels." > > > > Signed-off-by: Simon Horm

Re: [ovs-dev] [PATCH 8/8] ofproto-dpif: Do not add more MPLS labels to mask than the datapath can handle

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 04:46:23PM -0800, Ben Pfaff wrote: > On Wed, Jan 15, 2014 at 04:13:25PM +0900, Simon Horman wrote: > > The key is sourced from the datapath so should not > > have more labels than it can handle. > > > > dpif-netdev supports as many LSEs as can fi

Re: [ovs-dev] [PATCH 0/8] Proposed improvements to "Implement OpenFlow support for MPLS, for up to 3 labels"

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 04:50:45PM -0800, Ben Pfaff wrote: > On Wed, Jan 15, 2014 at 04:13:17PM +0900, Simon Horman wrote: > > This series provides some proposed improvements to your patchset which > > includes "Implement OpenFlow support for MPLS, for up to 3 labels."

Re: [ovs-dev] [PATCH 8/8] ofproto-dpif: Do not add more MPLS labels to mask than the datapath can handle

2014-01-16 Thread Simon Horman
On Thu, Jan 16, 2014 at 05:28:53PM -0800, Ben Pfaff wrote: > On Fri, Jan 17, 2014 at 09:59:49AM +0900, Simon Horman wrote: > > On Thu, Jan 16, 2014 at 04:46:23PM -0800, Ben Pfaff wrote: > > > On Wed, Jan 15, 2014 at 04:13:25PM +0900, Simon Horman wrote: > > > > The ke

[ovs-dev] [PATCH v5] ofproto: Honour Table Mod settings for table-miss handling

2014-01-22 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v4, v5 * Rebase v3 * Remove bogus fall-through comment in OFPTC_TABLE_MISS_CONTROLLER case in

[ovs-dev] [PATCH v5 REPOST] ofproto: Honour Table Mod settings for table-miss handling

2014-01-28 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v4, v5 * Rebase v3 * Remove bogus fall-through comment in OFPTC_TABLE_MISS_CONTROLLER case in

[ovs-dev] [PATCH] ofproto-dpif-xlate: Remove unused fitnessp pararameter from xlate_receive

2014-01-28 Thread Simon Horman
Some functions pass a non-NULL value as this parameter but none of those function uses the value xlate_receive() returns there. So simply remove the parameter all together. Also remove the now unused key_fitness field of struct flow_miss. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif

[ovs-dev] [PATCH 0/2] MPLS push fixes for blp/mpls

2014-01-28 Thread Simon Horman
in this situation. 2) Update the test suite to expect a userspace action instead of a drop. This test only passes with a fix for 1) in place. Simon Horman (2): ofproto-dpif-xlate: Do not push LSE to flow if its label stack is full ofproto-dpif: Test for A MPLS pop on a packet whose l

[ovs-dev] [PATCH 2/2] ofproto-dpif: Test for A MPLS pop on a packet whose label stack going to userspace

2014-01-28 Thread Simon Horman
Update the test for an MPLS pop on on a packet whose label stack going to userspace to test that it goes to userspace, which is currently the case, rather than being dropped, which was the case earlier. Signed-off-by: Simon Horman --- tests/ofproto-dpif.at | 30 +- 1

[ovs-dev] [PATCH 1/2] ofproto-dpif-xlate: Do not push LSE to flow if its label stack is full

2014-01-28 Thread Simon Horman
If a pop is composed on a flow whose label stack is already full it should not call flow_push_mpls() as that function can't do anything useful (it aborts) given that the label stack is full. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-xlate.c | 1 + 1 file changed, 1 insertion(+)

Re: [ovs-dev] [PATCH 8/8] ofproto-dpif: Do not add more MPLS labels to mask than the datapath can handle

2014-01-29 Thread Simon Horman
On Fri, Jan 17, 2014 at 01:01:29PM -0800, Ben Pfaff wrote: > On Fri, Jan 17, 2014 at 11:33:45AM +0900, Simon Horman wrote: > > On Thu, Jan 16, 2014 at 05:28:53PM -0800, Ben Pfaff wrote: > > > On Fri, Jan 17, 2014 at 09:59:49AM +0900, Simon Horman wrote: > > > > On T

Re: [ovs-dev] MPLS progress

2014-02-03 Thread Simon Horman
Hi Ben, On Mon, Feb 03, 2014 at 03:27:16PM -0800, Ben Pfaff wrote: > Earlier today, I applied your 2-patch series to the mpls branch > earlier. > > Then, I squashed all the patches on that branch, except that I dropped > "Add OpenFlow support for matching multiple MPLS labels at once." (we > can

Re: [ovs-dev] [PATCH] Always insert MPLS labels after VLAN tags.

2014-02-04 Thread Simon Horman
LAN and MPLS combinations and I am happy to say that it passes. I will post them shortly as "MPLS + VLAN tests". In the mean time Acked-by: Simon Horman > --- > include/linux/openvswitch.h |8 > lib/odp-util.c |4 > lib/ofp-act

[ovs-dev] [PATCH] MPLS + VLAN tests

2014-02-04 Thread Simon Horman
Originally part of "odp: Allow VLAN actions after MPLS actions" by Joe Stringer. Co-authored-by: Joe Stringer Signed-off-by: Simon Horman --- tests/ofproto-dpif.at | 389 ++ 1 file changed, 389 insertions(+) diff --git a/tests/ofproto

Re: [ovs-dev] MPLS progress

2014-02-04 Thread Simon Horman
On Tue, Feb 04, 2014 at 10:45:03AM -0800, Ben Pfaff wrote: > On Mon, Feb 03, 2014 at 04:53:45PM -0800, Ben Pfaff wrote: > > On Tue, Feb 04, 2014 at 09:52:40AM +0900, Simon Horman wrote: > > > On Mon, Feb 03, 2014 at 03:27:16PM -0800, Ben Pfaff wrote: > > > > Earlier

[ovs-dev] [PATCH v2.53] datapath: Add basic MPLS support to kernel

2014-02-05 Thread Simon Horman
labels after VLAN tags", which was posed by Ben and I believe he is planning to merge. to aid review this patch and its dependency are available in git at: https://github.com/horms/openvswitch devel/mpls-v2.53 Simon Horman (1): datapath: Add basic MPLS support to kernel OPENFLOW-1.1+

[ovs-dev] [PATCH v2.53] datapath: Add basic MPLS support to kernel

2014-02-05 Thread Simon Horman
: Simon Horman --- v2.53 * Push MPLS labels after VLAN tags - This is consistent with OF1.2 and plans for OF1.3.4, and OF1.5+. It is inconsistent with OF1.4, which appears to be an aberration v2.52 * Do not guard __skb_network_protocol with KERNEL_VERSION(3.11.0) It was not guarded before

[ovs-dev] [PATCH v6] ofproto: Honour Table Mod settings for table-miss handling

2014-02-05 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v4 - v6 * Rebase v3 * Remove bogus fall-through comment in OFPTC_TABLE_MISS_CONTROLLER case in

Re: [ovs-dev] [PATCH] FAQ: Describe the state of MPLS in Open vSwitch.

2014-02-06 Thread Simon Horman
On Thu, Feb 06, 2014 at 08:50:39PM -0800, Ben Pfaff wrote: > Signed-off-by: Ben Pfaff > CC: Simon Horman This looks very nice to me and I believe the only missing piece is the kernel datapath support, which I have posted v2.53 of to the mailing list for Jesse's review. Acked-by: S

Re: [ovs-dev] [PATCH v2.53] datapath: Add basic MPLS support to kernel

2014-02-09 Thread Simon Horman
On Fri, Feb 07, 2014 at 08:15:49AM -0800, Ben Pfaff wrote: > On Wed, Feb 05, 2014 at 05:54:38PM +0900, Simon Horman wrote: > > * Ben has explained to me that there has been a change of direction > > at the ONF with regards to MPLS and VLAN tag ordering. As per > > his

Re: [ovs-dev] [PATCH 4/4] tests: Add MPLS push on MPLS test.

2014-02-11 Thread Simon Horman
Hi Joe, On Fri, Feb 07, 2014 at 04:39:55PM -0800, Joe Stringer wrote: > Signed-off-by: Joe Stringer > --- > This test currently fails, and for some reason we're seeing a VLAN > tagged packet arrive at the monitor. The expected result is not 100% > correct, but it's a lot closer than what OVS is c

[ovs-dev] [PATCH v2 2/2] packets: Always set ethertype in push_mpls()

2014-02-11 Thread Simon Horman
similar test by Joe Stringer. Cc: Joe Stringer Signed-off-by: Simon Horman --- v2 * First Post --- lib/packets.c | 5 +++-- tests/ofproto-dpif.at | 35 +++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/lib/packets.c b/lib/packets.c index

[ovs-dev] [PATCH v2 0/2] MPLS push on MPLS packet

2014-02-11 Thread Simon Horman
): tests: Add MPLS push on MPLS test. Simon Horman (1): packets: Always set ethertype in push_mpls() lib/packets.c | 5 ++-- tests/ofproto-dpif.at | 68 +++ 2 files changed, 71 insertions(+), 2 deletions(-) -- 1.8.5.2

[ovs-dev] [PATCH v2 1/2] tests: Add MPLS push on MPLS test.

2014-02-11 Thread Simon Horman
From: Joe Stringer Signed-off-by: Joe Stringer Co-Authored-By: Simon Horman Signed-off-by: Simon Horman --- v2 [Simon Horman] * Ethtype of (MPLS) input packet should be an MPLS type rather than a VLAN type (0x8100) * Input packet only contains an L2 header and MPLS label stack entry

Re: [ovs-dev] [PATCH 4/4] tests: Add MPLS push on MPLS test.

2014-02-11 Thread Simon Horman
On Tue, Feb 11, 2014 at 05:06:53PM -0800, Joe Stringer wrote: > On 11 February 2014 16:53, Simon Horman wrote: > > > > I believe that the reason you are seeing a VLAN tagged packet come out is > > that you are sending a VLAN tagged packet in. This is because of > >

[ovs-dev] [PATCH v2.54] datapath: Add basic MPLS support to kernel

2014-02-11 Thread Simon Horman
: Simon Horman --- v2.54 * Do not allow push MPLS in the presence of VLANs * Remove support for push MPLS in the presence of VLANs from actions.c v2.53 * Push MPLS labels after VLAN tags - This is consistent with OF1.2 and plans for OF1.3.4, and OF1.5+. It is inconsistent with OF1.4, which

[ovs-dev] [PATCH v2.54] datapath: Add basic MPLS support to kernel

2014-02-11 Thread Simon Horman
at: https://github.com/horms/openvswitch devel/mpls-v2.54 Simon Horman (1): datapath: Add basic MPLS support to kernel OPENFLOW-1.1+ | 12 - datapath/Modules.mk | 1 + datapath/actions.c | 119

[ovs-dev] [PATCH] packet: Make set_ethertype() static

2014-02-11 Thread Simon Horman
Make set_ethertype() static as it is not used outside of packet.c Signed-off-by: Simon Horman --- lib/packets.c | 2 +- lib/packets.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/packets.c b/lib/packets.c index 43134dc..7238f42 100644 --- a/lib/packets.c +++ b/lib

Re: [ovs-dev] [PATCH 4/6] lib/odp-util: Add new ODP actions for recirculation

2014-02-12 Thread Simon Horman
Hi Andy, On Tue, Feb 04, 2014 at 04:36:22PM -0800, Andy Zhou wrote: > > Signed-off-by: Andy Zhou > --- > include/linux/openvswitch.h | 26 ++ > lib/dpif-netdev.c |2 ++ > lib/dpif.c |2 ++ > lib/odp-execute.c |2 ++ > li

[ovs-dev] [PATCH/RFC v18 2/6] flow: add count_mpls_labels()

2014-02-12 Thread Simon Horman
Add count_mpls_labels() which counts LSEs present in an array. This is a more general form of flow_count_mpls_labels(). This is in preparation for using count_mpls_labels() in parse_odp_key_mask_attr() where no struct flow is available. Signed-off-by: Simon Horman --- lib/flow.c | 36

[ovs-dev] [PATCH/RFC v18 1/6] ofproto-dpif: Break out MPLS controller tests into their own test

2014-02-12 Thread Simon Horman
This makes maintaining the controller test slightly easier by splitting it in two. Based on a similar patch by Joe Stringer. Cc: Joe Stringer Signed-off-by: Simon Horman --- tests/ofproto-dpif.at | 352 ++ 1 file changed, 185 insertions(+), 167

[ovs-dev] [PATCH/RFC v18 3/6] Break out rule_dpif_choose_miss_rule

2014-02-12 Thread Simon Horman
Signed-off-by: Simon Horman --- ofproto/ofproto-dpif.c | 26 +- ofproto/ofproto-dpif.h | 4 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 7b3e1eb..8606226 100644 --- a/ofproto/ofproto-dpif.c

[ovs-dev] [PATCH/RFC v18 4/6] flow: Add mf_is_l3_or_higher()

2014-02-12 Thread Simon Horman
This is in preparation for adding recirculation where it will be used to test if load, move and set_field actions require recirculation to be performed first. Signed-off-by: Simon Horman --- lib/meta-flow.h | 8 1 file changed, 8 insertions(+) diff --git a/lib/meta-flow.h b/lib/meta

[ovs-dev] [PATCH/RFC v18 6/6] Test hack

2014-02-12 Thread Simon Horman
A quick hack to allow the learn test to pass. I need to investigate the root-cause of its failure. Signed-off-by: Simon Horman --- tests/ofproto-dpif.at | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index bca44de..cecf5ac 100644 --- a/tests

[ovs-dev] [PATCH/RFC v18 0/6] Packet recirculation for MPLS

2014-02-12 Thread Simon Horman
xecute_actions rfc1 * Initial post Patch List and Diffstat: Joe Stringer (2): ofproto-dpif: Add 'force-miss-model' configuration Add MPLS recirculation tests Simon Horman (2): Add packet recirculation Allow multiple levels of MPLS push and pop datapath/actions.c

Re: [ovs-dev] [PATCH 0/6] Bond port megaflow using recirculation

2014-02-12 Thread Simon Horman
On Tue, Feb 11, 2014 at 03:01:27PM -0800, Ben Pfaff wrote: > On Tue, Feb 04, 2014 at 04:36:18PM -0800, Andy Zhou wrote: > > This patch adds the necessary infrastructure for the next patch series. > > recirculation logic is still work in progress. It is not enabled. There > > should > > be no beha

Re: [ovs-dev] [PATCH v5 REPOST] ofproto: Honour Table Mod settings for table-miss handling

2014-02-12 Thread Simon Horman
On Mon, Feb 03, 2014 at 05:12:12PM -0800, Ben Pfaff wrote: > On Wed, Jan 29, 2014 at 12:53:03PM +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-behaviou

[ovs-dev] [PATCH v7] ofproto: Honour Table Mod settings for table-miss handling

2014-02-12 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v7 * As suggested by Ben Pfaff - Used simplified loop/case logic in rule_dpif_lookup_from_table

Re: [ovs-dev] [PATCH 0/6] Bond port megaflow using recirculation

2014-02-13 Thread Simon Horman
On Thu, Feb 13, 2014 at 08:32:11AM -0800, Ben Pfaff wrote: > On Wed, Feb 12, 2014 at 05:12:05PM +0900, Simon Horman wrote: > > One thing that concerns me with using special tables and the like is that > > it may not work well in conjunction with goto table and resubmit.

Re: [ovs-dev] [PATCH] tests: Add support for automatically running Ryu tests against OVS.

2014-02-14 Thread Simon Horman
quot;check-oftest" target and the > > --enable-coverage configure option into INSTALL. > > > > Signed-off-by: Ben Pfaff Thanks for this, it looks good to me. Reviewed-by: Simon Horman > By the way, I've run these tests several times as part of developing > th

[ovs-dev] [PATCH] ofp-actions: Consider pop MPLS to non-MPLS ethtype as consistent

2014-02-16 Thread Simon Horman
considered inconsistent or disallowed for other OpenFlow versions. This was found using Ryu tests via the new make check-ryu target. It allows all of the "POP_MPLS"[1] tests to pass where they previously failed. [1] http://osrg.github.io/ryu-certification/switch/ovs Signed-off-by: Si

Re: [ovs-dev] [PATCH] ofp-actions: Consider pop MPLS to non-MPLS ethtype as consistent

2014-02-16 Thread Simon Horman
On Mon, Feb 17, 2014 at 10:06:55AM +0900, Simon Horman wrote: > Remove the restriction that pop MPLS to an ethtype is > considered inconsistent. > > As it happens this is allowed for OpenFlow 1.0, and thus > the tests in the Open vSwtich test-suite, by virtue of > inconsis

Re: [ovs-dev] [PATCH 1/2] tests/run-ryu: Fix log file names

2014-02-17 Thread Simon Horman
On Mon, Feb 17, 2014 at 05:14:16PM +0900, YAMAMOTO Takashi wrote: > Signed-off-by: YAMAMOTO Takashi Tested-by: Simon Horman > --- > tests/run-ryu | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/run-ryu b/tests/run-ryu > index 678980f..b

Re: [ovs-dev] [PATCH 2/2] tests/run-ryu: Fix setup for Ryu tests

2014-02-17 Thread Simon Horman
On Mon, Feb 17, 2014 at 05:14:17PM +0900, YAMAMOTO Takashi wrote: > Tweak our configuration to match with Ryu tests' single-bridge assumption. > > Signed-off-by: YAMAMOTO Takashi Tested-by: Simon Horman > --- > tests/run-ryu | 32 +++- &

Re: [ovs-dev] [PATCH] ofp-actions: Consider pop MPLS to non-MPLS ethtype as consistent

2014-02-19 Thread Simon Horman
On Tue, Feb 18, 2014 at 10:43:27AM -0800, Jarno Rajahalme wrote: > > On Feb 16, 2014, at 5:11 PM, Simon Horman wrote: > > > On Mon, Feb 17, 2014 at 10:06:55AM +0900, Simon Horman wrote: > >> Remove the restriction that pop MPLS to an ethtype is > >> consider

[ovs-dev] [PATCH] ofp-actions: Correct pop MPLS ethtype as consistency test

2014-02-19 Thread Simon Horman
ofpact_from_nxast(). This was found using Ryu tests via the new make check-ryu target. It allows all of the "POP_MPLS"[1] tests to pass where they previously failed. [1] http://osrg.github.io/ryu-certification/switch/ovs Cc: Jarno Rajahalme Signed-off-by: Simon Horman --- lib/ofp-act

[ovs-dev] [PATCH v8] ofproto: Honour Table Mod settings for table-miss handling

2014-02-19 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v8 * Rebase v7 * As suggested by Ben Pfaff - Used simplified loop/case logic in

[ovs-dev] [PATCH v8] ofproto: Honour Table Mod settings for table-miss handling

2014-02-19 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v8 * Rebase v7 * As suggested by Ben Pfaff - Used simplified loop/case logic in

Re: [ovs-dev] [PATCH v8] ofproto: Honour Table Mod settings for table-miss handling

2014-02-19 Thread Simon Horman
Apologies for sending this twice, both posts contain the same patch, so please ignore one of them. On Thu, Feb 20, 2014 at 11:17:41AM +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

[ovs-dev] [PATCH] tests/run-ryu: Correct logfile reporting

2014-02-19 Thread Simon Horman
$logfile is already prefixed by "$sandbox/" and suffixed by ".log" so do not duplicate this prefix and suffix combination when appending $logfile to $logs. Cc: YAMAMOTO Takashi Signed-off-by: Simon Horman --- tests/run-ryu | 2 +- 1 file changed, 1 insertion(+), 1 delet

[ovs-dev] [PATCH v8 repost] ofproto: Honour Table Mod settings for table-miss handling

2014-02-26 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v8 * Rebase v7 * As suggested by Ben Pfaff - Used simplified loop/case logic in

[ovs-dev] [PATCH v8 repost 2] ofproto: Honour Table Mod settings for table-miss handling

2014-03-11 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v8 * Rebase v7 * As suggested by Ben Pfaff - Used simplified loop/case logic in

[ovs-dev] [PATCH 0/4] ofproto: Support OF version-specific table-miss behaviours

2014-03-11 Thread Simon Horman
" To aid review this series and its dependency are available in git at https://github.com/horms/openvswitch.git devel/table_miss Simon Horman (4): ofp-util: Use enum ofp_table_config in struct ofputil_table_mod connmgr: Remove unnecessary reason fixup logic ofproto

[ovs-dev] [PATCH 4/4] ofproto: Support OF version-specific table-miss behaviours

2014-03-11 Thread Simon Horman
packet_in message to all pre-OF1.3 controllers. This covers both the case where there are only pre-OF1.3 controllers and there are both pre-OF1.3 and OF1.3+ controllers. Signed-off-by: Simon Horman --- OPENFLOW-1.1+ | 7 -- ofproto/connmgr.c | 62

[ovs-dev] [PATCH 3/4] ofproto-dpip: Set generated_by_table_miss for miss rule

2014-03-11 Thread Simon Horman
that rule is internal then it is the miss rule. This allows generated_by_table_miss for miss rules. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-xlate.c | 5 - ofproto/ofproto-dpif.c | 12 ++-- ofproto/ofproto-dpif.h | 2 +- ofproto/ofproto-provider.h

[ovs-dev] [PATCH 2/4] connmgr: Remove unnecessary reason fixup logic

2014-03-11 Thread Simon Horman
ime affect of this change. This patch does not remove pin->generated_by_table_miss, although it is now set but never used, as I plan to use when implementing the OpenFlow1.3 drop-on-miss behaviour described above. Cc: YAMAMOTO Takashi Signed-off-by: Simon Horman --- ofprot

[ovs-dev] [PATCH 1/4] ofp-util: Use enum ofp_table_config in struct ofputil_table_mod

2014-03-11 Thread Simon Horman
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 ind

Re: [ovs-dev] [PATCH 2/4] connmgr: Remove unnecessary reason fixup logic

2014-03-11 Thread Simon Horman
expect there to be any > > run-time affect of this change. > > > > This patch does not remove pin->generated_by_table_miss, although it > > is now set but never used, as I plan to use when implementing the > > OpenFlow1.3 drop-on-miss behaviour described above. &g

Re: [ovs-dev] [PATCH v8 repost 2] ofproto: Honour Table Mod settings for table-miss handling

2014-03-11 Thread Simon Horman
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-behaviou

[ovs-dev] [PATCH v9] ofproto: Honour Table Mod settings for table-miss handling

2014-03-11 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v9 * As suggested by Ben Pfaff - Reverse consolidation of xlate_table_action() and rule_dpif_lookup

Re: [ovs-dev] [PATCH 2/4] connmgr: Remove unnecessary reason fixup logic

2014-03-12 Thread Simon Horman
ropped rather than forwarded to OpenFlow1.3 controllers when a > >> > miss > >> > occurs and an alternate behaviour has not been selected using Table Mod. > >> > I > >> > plan to address this in subsequent patches. > >> > > >&g

[ovs-dev] [PATCH v2 0/3] ofproto: Support OF version-specific table-miss behaviours

2014-03-12 Thread Simon Horman
packet-in reason fixup * Rebase The last patch in this series depends on "[PATCH v9 repost] ofproto: Honour Table Mod settings for table-miss handling" To aid review this series and its dependency are available in git at https://github.com/horms/openvswitch.git devel/table_miss-v2 Simon

[ovs-dev] [PATCH v2 1/3] ofproto-dpif: Add table-miss flow tests

2014-03-12 Thread Simon Horman
Cc: YAMAMOTO Takashi Signed-off-by: Simon Horman -- v2 * First post --- tests/ofproto-dpif.at | 84 +++ 1 file changed, 84 insertions(+) diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index a7da1f7..9081f30 100644 --- a/tests/ofproto

[ovs-dev] [PATCH v2 2/3] ofproto-dpif: Differentiate between different miss types in packet in

2014-03-12 Thread Simon Horman
such misses. Signed-off-by: Simon Horman -- v2 * First post --- ofproto/connmgr.c | 3 ++- ofproto/connmgr.h | 11 ++- ofproto/fail-open.c | 2 +- ofproto/ofproto-dpif-upcall.c | 2 +- ofproto/ofproto-dpif-xlate.c | 18 -- ofproto

[ovs-dev] [PATCH v2 3/3] ofproto: Support OF version-specific table-miss behaviours

2014-03-12 Thread Simon Horman
packet_in message to all pre-OF1.3 controllers. This covers both the case where there are only pre-OF1.3 controllers and there are both pre-OF1.3 and OF1.3+ controllers. Signed-off-by: Simon Horman --- * Rebase - Co-exist with wire_reason() - Based on v9 of "ofproto: Honour Tabl

[ovs-dev] [PATCH v2.55] datapath: Add basic MPLS support to kernel

2014-03-14 Thread Simon Horman
against unknown tag ordering. to aid review this patch is available in git at: https://github.com/horms/openvswitch devel/mpls-v2.55 Simon Horman (1): datapath: Add basic MPLS support to kernel OPENFLOW-1.1+ | 4 - datapath/Modules.mk

[ovs-dev] [PATCH v2.55] datapath: Add basic MPLS support to kernel

2014-03-14 Thread Simon Horman
: Simon Horman --- v2.55 * Use a whitelist of ethtypes where mpls_push may be used rather than a blacklist of ethtypes where mpls_push may not be used. This is a more restrictive and more conservative approach that guarantees that the tag order is known and defined. The new whitelist is

[ovs-dev] [PATCH] [RFC] flow: Do not clear L3+ fields of flow in flow_push_mpls()

2014-03-14 Thread Simon Horman
include of L2, L3 and L4 fields. However, if the flow is cleared in flow_push_mpls() then the mask that is synthesised from it will not include L3 and L4 fields. This seems incorrect and the kernel datapath complains about this mismatch. Signed-off-by: Simon Horman --- lib/flow.c | 5 - 1 file

Re: [ovs-dev] [bond megaflow v2 2/5] lib/flow: add dp_hash and recirc_id to struct flow

2014-03-18 Thread Simon Horman
On Tue, Mar 11, 2014 at 04:56:18PM -0700, Andy Zhou wrote: > Signed-off-by: Andy Zhou > > --- > v1->v2: No major changes [snip] > diff --git a/lib/flow.h b/lib/flow.h > index 8165bcf..8e1349d 100644 > --- a/lib/flow.h > +++ b/lib/flow.h > @@ -37,7 +37,7 @@ struct pkt_metadata; > /* This seque

Re: [ovs-dev] [bond megaflow v2 5/5] ofproto/bond: Implement bond megaflow using recirculation

2014-03-19 Thread Simon Horman
On Tue, Mar 11, 2014 at 04:56:21PM -0700, Andy Zhou wrote: > Infrastructure to enable megaflow support for bond ports using > recirculation. This patch adds the following features: > * Generate RECIRC action when bond can benefit from recirculation. > * Populate post recirculation rules in table 25

[ovs-dev] [PATCH v9 repost] ofproto: Honour Table Mod settings for table-miss handling

2014-03-19 Thread Simon Horman
create a situation where this loop covers ~255 tables which is very expensive as the lookup for each table involves taking locks, amongst other things. Cc: Andy Zhou Signed-off-by: Simon Horman --- v9 * As suggested by Ben Pfaff - Reverse consolidation of xlate_table_action() and rule_dpif_lookup

Re: [ovs-dev] [PATCH v2.55] datapath: Add basic MPLS support to kernel

2014-03-19 Thread Simon Horman
On Fri, Mar 14, 2014 at 04:12:39PM +0900, Simon Horman wrote: > Hi Pravin, Hi Jesse, Hi All, > > I have updated this patch so that: > > * The datapath rejects push MPLS actions in the presence of VLAN tags. > > I have done this by white-listing the following: &

Re: [ovs-dev] [bond megaflow v2 4/5] dpif-netdev: user space datapath recirculation

2014-03-20 Thread Simon Horman
On Tue, Mar 11, 2014 at 04:56:20PM -0700, Andy Zhou wrote: > 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

[ovs-dev] [PATCH/RFC] ofproto-dpif-upcall: Filter translated mask using flow

2014-03-20 Thread Simon Horman
#x27;. In particular this filters out mpls_lse mask bits set on non-MPLS flows. This avoids flows being premeturely evicted from the datapath because their calculated mask is too specific. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif-upcall.c | 29 ++--- 1 file c

Re: [ovs-dev] MPLS patches

2014-03-23 Thread Simon Horman
On Thu, Mar 20, 2014 at 03:11:23PM -0700, Ben Pfaff wrote: > Going through patchwork, I got very confused about whether several > MPLS patches from mid-February were still current and ended up > marking them "Deferred". Would you mind doing a repost of all the > current MPLS patches? I'd really l

[ovs-dev] [PATCH v3] ofproto: Support OF version-specific table-miss behaviours

2014-03-25 Thread Simon Horman
packet_in message to all pre-OF1.3 controllers. This covers both the case where there are only pre-OF1.3 controllers and there are both pre-OF1.3 and OF1.3+ controllers. Signed-off-by: Simon Horman --- * v3 - Rebase + Based on merged version of "ofproto: Honour Table Mod set

[ovs-dev] [PATCH/RFC 4/8] ofproto-dpif: Add recirc_id field to struct rule_dpif

2014-03-25 Thread Simon Horman
to be translated. Signed-off-by: Simon Horman --- ofproto/ofproto-dpif.c | 27 +++ ofproto/ofproto-dpif.h | 1 + 2 files changed, 28 insertions(+) diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 05f7bca..f239735 100644 --- a/ofproto/ofproto-dpif.c +++ b

[ovs-dev] [PATCH/RFC 2/8] odp-util: Add odp_put_recirc_action() helper

2014-03-25 Thread Simon Horman
Add odp_put_recirc_action() helper and use it in compose_output_action__(). This is in preparation for using the same helper as part of support for using recirculation in conjunction series of actions including with MPLS actions that are currently not able to be translated. Signed-off-by: Simon

[ovs-dev] [PATCH/RFC 6/8] ofp-actions: Allow pop_mpls on MPLS packets

2014-03-25 Thread Simon Horman
With recirculation in place this should be safe. XXX: What if recirculation is disabled??? Signed-off-by: Simon Horman --- lib/ofp-actions.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c index d552f9c..b59281a 100644 --- a/lib/ofp-actions.c

<    3   4   5   6   7   8   9   10   11   12   >