Re: [ovs-dev] [PATCH ovs V1 0/9] Introducing HW offload support for openvswitch

2016-11-03 Thread Simon Horman
Hi Paul, thanks for this very interesting work. I hope we can see offload support present in OvS in the not too distant future. Looking over the patches I have a few high-level comments: * Please run the code through ./utilities/checkpatch.py * Please consider referring to flower or tc-flower in

Re: [ovs-dev] [PATCH ovs RFC 0/9] Introducing HW offload support for openvswitch

2016-10-13 Thread Simon Horman
On Wed, Oct 12, 2016 at 01:36:44PM -0700, Pravin Shelar wrote: > Sorry for jumping in a bit late. I have couple of high level comments below. > > On Thu, Oct 6, 2016 at 10:10 AM, Rony Efraim wrote: > > From: Joe Stringer [mailto:j...@ovn.org] Sent: Thursday, October 06, 2016 > > 5:06 AM ... >

Re: [ovs-dev] [PATCH/RFC 00/12] Programming Open vSwitch (-like) flows into hardware using SwitchDev

2016-09-29 Thread Simon Horman
Hi Or, On Wed, Sep 28, 2016 at 04:54:40PM +0300, Or Gerlitz wrote: > On Wed, Sep 28, 2016 at 3:42 PM, Simon Horman > wrote: > > > A different approach, not implemented by this patch-set, is for user-space > > to program flows into hardware by some other means, for examp

[ovs-dev] [PATCH/RFC 12/12] hack: rocker: no ip frag match

2016-09-28 Thread Simon Horman
-off-by: Simon Horman --- drivers/net/ethernet/rocker/rocker_ofdpa.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ethernet/rocker/rocker_ofdpa.c b/drivers/net/ethernet/rocker/rocker_ofdpa.c index 3b441359a3a7..2f20f1ded5bf 100644 --- a/drivers/net/ethernet/rocker/rocker_ofdpa.c

[ovs-dev] [PATCH/RFC 11/12] openvswitch: Support programming of flows into hardware

2016-09-28 Thread Simon Horman
) supports tracking tcp_flags and b) by implication parses L4 headers. If that is a requirement of allowing Open vSwitch flows to be programmed into hardware, then so be it. But if it is a hard requirement then it may eliminate some hardware options. Signed-off-by: Simon Horman --- include/uapi

[ovs-dev] [PATCH/RFC 10/12] openvswitch: make get_dp_rcu() available outside datapath.c

2016-09-28 Thread Simon Horman
. Signed-off-by: Simon Horman --- net/openvswitch/datapath.c | 4 +++- net/openvswitch/datapath.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 4d67ea856067..365d480031d3 100644 --- a/net/openvswitch/datapath.c +++ b

[ovs-dev] [PATCH/RFC 09/12] openvswitch: Add key_attrs to struct sw_flow_match

2016-09-28 Thread Simon Horman
This is in preparation for using key_attrs outside of their current context to allow quickly checking which attributes are set. This is in turn in preparation for prototyping programming Open vSwitch (-like) flows into hardware. Signed-off-by: Simon Horman --- net/openvswitch/flow.h

[ovs-dev] [PATCH/RFC 05/12] rocker: Support Open vSwitch (-like) flow stats

2016-09-28 Thread Simon Horman
Prototype an implementation of the new switchdev_port_obj_get SDO for the SWITCHDEV_OBJ_OVS_FLOW object type. This allows retrieval of statistics for Open vSwitch (-like) flows which have been programmed into hardware. Signed-off-by: Simon Horman --- drivers/net/ethernet/rocker/rocker.h

[ovs-dev] [PATCH/RFC 04/12] rocker: Add Open vSwitch (-like) flow support

2016-09-28 Thread Simon Horman
Prototype programming of Open vSwitch (-like) flows into hardware by implementing SWITCHDEV_OBJ_OVS_FLOW type objects in the rocker_port_obj_{add,del} SDO, a new object type that was added by an earlier patch in that forms part of this prototype. Signed-off-by: Simon Horman --- drivers/net

[ovs-dev] [PATCH/RFC 08/12] rocker: Support Open vSwitch (-like) flow stats in OF-DPA world

2016-09-28 Thread Simon Horman
Prototype an implementation of the new switchdev_port_obj_get SDO for the SWITCHDEV_OBJ_OVS_FLOW object type. This allows retrieval of statistics for Open vSwitch (-like) flows which have been programmed into hardware. Signed-off-by: Simon Horman --- drivers/net/ethernet/rocker/rocker_hw.h

[ovs-dev] [PATCH/RFC 07/12] rocker: switchdev Add Open vSwitch (-like) flow support to OF-DPA world

2016-09-28 Thread Simon Horman
. Signed-off-by: Simon Horman --- drivers/net/ethernet/rocker/rocker_ofdpa.c | 261 + 1 file changed, 261 insertions(+) diff --git a/drivers/net/ethernet/rocker/rocker_ofdpa.c b/drivers/net/ethernet/rocker/rocker_ofdpa.c index fcad907baecf..6669f2ba2f97 100644 --- a

[ovs-dev] [PATCH/RFC 03/12] switchdev: Add support for getting port object details

2016-09-28 Thread Simon Horman
in with sufficient detail to allow it to be looked up and the driver may then fill in other details of the object. A follow up patch will prototype using this new SDO to retrieve statistics for Open vSwitch (-like) flows that have been programmed into hardware. Signed-off-by: Simon Horman

[ovs-dev] [PATCH/RFC 06/12] rocker: Add helper to check ports belong to the same rocker switch

2016-09-28 Thread Simon Horman
This will be used by a follow-up patch to add Add Open vSwitch (-like) flow support to the OF-DPA rocker world. Signed-off-by: Simon Horman --- drivers/net/ethernet/rocker/rocker.h | 4 drivers/net/ethernet/rocker/rocker_main.c | 15 +++ 2 files changed, 19 insertions

[ovs-dev] [PATCH/RFC 02/12] switchdev: Add Open vSwitch (-like) flow object support

2016-09-28 Thread Simon Horman
switchdev is an appropriate mechanism for programming Open vSwitch (-like) flows into hardware. The data structures can be tweaked/reworked as needed. Signed-off-by: Simon Horman --- include/net/switchdev.h | 39 +++ net/switchdev/switchdev.c | 58

[ovs-dev] [PATCH/RFC 01/12] sw_flow: make struct sw_flow_key available outside of net/openvswitch/

2016-09-28 Thread Simon Horman
struct sw_flow_key which have ovs in their name. Some consideration could be given to: * Renaming them to make them more generic * Providing a trimmed-down structure. * Using an alternate structure Signed-off-by: Simon Horman --- include/linux/sw_flow.h | 100

[ovs-dev] [PATCH/RFC 00/12] Programming Open vSwitch (-like) flows into hardware using SwitchDev

2016-09-28 Thread Simon Horman
there is some scope to share infrastructure in the kernel. Simon Horman (12): sw_flow: make struct sw_flow_key available outside of net/openvswitch/ switchdev: Add Open vSwitch (-like) flow object support switchdev: Add support for getting port object details rocker: Add Open vSwitch

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-26 Thread Simon Horman
On Thu, Aug 25, 2016 at 05:33:57PM -0700, Joe Stringer wrote: > On 25 August 2016 at 03:08, Simon Horman wrote: > > Please find my working patch below. > > > > From: Simon Horman > > Subject: [PATCH] system-traffic: Exercise GSO > > > > Exercise GSO for:

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-25 Thread Simon Horman
On Tue, Aug 23, 2016 at 10:51:47AM +0200, Simon Horman wrote: > On Mon, Aug 22, 2016 at 02:47:42PM -0700, Joe Stringer wrote: > > On 22 August 2016 at 04:04, Simon Horman wrote: > > > On Wed, Aug 10, 2016 at 10:17:30AM -0700, Joe Stringer wrote: > > >> On 10 Augu

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-23 Thread Simon Horman
On Mon, Aug 22, 2016 at 02:47:42PM -0700, Joe Stringer wrote: > On 22 August 2016 at 04:04, Simon Horman wrote: > > On Wed, Aug 10, 2016 at 10:17:30AM -0700, Joe Stringer wrote: > >> On 10 August 2016 at 03:20, Simon Horman > >> wrote: > >> > On Tue, A

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-22 Thread Simon Horman
On Wed, Aug 10, 2016 at 10:17:30AM -0700, Joe Stringer wrote: > On 10 August 2016 at 03:20, Simon Horman wrote: > > On Tue, Aug 09, 2016 at 08:47:40AM -0700, pravin shelar wrote: > >> On Mon, Aug 8, 2016 at 8:17 AM, Simon Horman > >> wrote: > >> > Light

Re: [ovs-dev] NSH Option 2 implementation

2016-08-11 Thread Simon Horman
Hi Jan, On Thu, Aug 11, 2016 at 12:58:44PM +, Jan Scheurich wrote: > Hi Simon > > > > The implicit push_eth action introduced by Simon in his L3 tunnel port > > > patch mainly ensures the presence of the 14 byte MAC header on ports > > > where this is a must for syntactic interpretation of th

Re: [ovs-dev] NSH Option 2 implementation

2016-08-11 Thread Simon Horman
Hi Jan, On Thu, Aug 11, 2016 at 11:04:22AM +, Jan Scheurich wrote: > > > [Jan] Should sending a packet after push_nsh to an output port be > > > allowed in general? For a VXLAN-GPE tunnel port this is OK, but my > > > expectation was that one must explicitly do push_eth (followed by > > > set_

Re: [ovs-dev] [RFC PATCH v2 02/13] Format NSH keys to readable strings

2016-08-10 Thread Simon Horman
Hi Jan, On Wed, Aug 10, 2016 at 12:21:08PM +, Jan Scheurich wrote: > > -Original Message- > > From: Simon Horman [mailto:simon.hor...@netronome.com] > > Sent: Wednesday, 10 August, 2016 12:14 > > > > > > My suggestion for the action set execution

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-10 Thread Simon Horman
On Tue, Aug 09, 2016 at 08:47:40AM -0700, pravin shelar wrote: > On Mon, Aug 8, 2016 at 8:17 AM, Simon Horman > wrote: ... > > Hi Pravin, > > > > I have made an attempt to implement your suggestion to the extent that > > I understand it. The following is an in

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-10 Thread Simon Horman
On Mon, Aug 08, 2016 at 05:28:39PM +0200, Jiri Benc wrote: > On Mon, 8 Aug 2016 17:17:17 +0200, Simon Horman wrote: > > +bool skb_mac_header_present(struct sk_buff *skb) > > +{ > > + return skb->dev->type == ARPHRD_ETHER || > > + (skb->dev->type

Re: [ovs-dev] [RFC PATCH v2 02/13] Format NSH keys to readable strings

2016-08-10 Thread Simon Horman
On Mon, Jul 18, 2016 at 11:21:11PM +, Jan Scheurich wrote: > Hi Johnson, > > > From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Yang, Yi > > Sent: Monday, 18 July, 2016 12:37 > > > > On Mon, Jul 18, 2016 at 03:15:13PM +0900, Simon Horman wrote: > &

Re: [ovs-dev] [RFC PATCH v2 02/13] Format NSH keys to readable strings

2016-08-10 Thread Simon Horman
On Mon, Jul 18, 2016 at 08:20:42PM +, Jan Scheurich wrote: > > From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Simon Horman > > Sent: Monday, 18 July, 2016 14:14 > > > > > > Simon, very good guide, do push_eth and pop_eth also need to follow &g

Re: [ovs-dev] [RFC PATCH v2 1/5] Add NSH fields for Openvswitch flow key

2016-08-09 Thread Simon Horman
On Wed, Jul 13, 2016 at 01:36:14AM +0800, Johnson Li wrote: > Openvswitch could use the fields of Network Serivce Header(NSH) > as key to steer traffic to the Virtual Network Functions(VNF). > The key will contain fields for NSH base header, service path > header and context header for MD type 1. F

Re: [ovs-dev] [RFC PATCH v2 06/13] Parse NSH header in function flow_extract in user space

2016-08-09 Thread Simon Horman
On Wed, Jul 13, 2016 at 01:27:53AM +0800, Johnson Li wrote: > Signed-off-by: Johnson Li > > diff --git a/lib/flow.c b/lib/flow.c > index a4c1215..cdeccfc 100644 > --- a/lib/flow.c > +++ b/lib/flow.c > @@ -439,6 +439,46 @@ invalid: > arp_buf[1] = eth_addr_zero; > } > > +static int > +parse

Re: [ovs-dev] [RFC PATCH v2 04/13] Add APIs to set NSH keys for match fields

2016-08-09 Thread Simon Horman
On Wed, Jul 13, 2016 at 01:27:19AM +0800, Johnson Li wrote: > Signed-off-by: Johnson Li > > diff --git a/include/openvswitch/match.h b/include/openvswitch/match.h > index c955753..4c79da3 100644 > --- a/include/openvswitch/match.h > +++ b/include/openvswitch/match.h > @@ -40,6 +40,18 @@ struct ma

Re: [ovs-dev] [RFC PATCH v2 3/5] parse NSH key in key_extract of openvswitch

2016-08-09 Thread Simon Horman
On Wed, Jul 13, 2016 at 01:36:30AM +0800, Johnson Li wrote: > Parse the Network Service Header to fullfill the fields in the > struct sw_flow_key. > > Signed-off-by: Johnson Li > > diff --git a/datapath/flow.c b/datapath/flow.c > index fd09cec..debac6f 100644 > --- a/datapath/flow.c > +++ b/data

Re: [ovs-dev] [RFC PATCH v2 00/13] Add Network Service Header Support

2016-08-09 Thread Simon Horman
Hi Jesse, On Wed, Jul 13, 2016 at 07:35:59AM -0700, Jesse Gross wrote: > On Wed, Jul 13, 2016 at 4:04 AM, Brady Allen Johnson > wrote: > > I wanted to mention though, currently the type 2 metadata (MD2) isnt a top > > priority for us. It looks like its already been investigated how to use some >

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-08-08 Thread Simon Horman
On Wed, Jul 20, 2016 at 11:06:37AM -0700, pravin shelar wrote: > On Tue, Jul 19, 2016 at 5:02 PM, Simon Horman > wrote: > > On Mon, Jul 18, 2016 at 03:34:52PM -0700, pravin shelar wrote: > >> On Sun, Jul 17, 2016 at 9:50 PM, Simon Horman > >> wrote: > >> &g

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-07-19 Thread Simon Horman
On Mon, Jul 18, 2016 at 03:34:52PM -0700, pravin shelar wrote: > On Sun, Jul 17, 2016 at 9:50 PM, Simon Horman > wrote: > > [CC Jiri Benc for portion regarding GRE] > > > > Hi Pravin, > > > > On Fri, Jul 15, 2016 at 02:07:37PM -0700, pravin shelar wrote: &

Re: [ovs-dev] [RFC PATCH v2 02/13] Format NSH keys to readable strings

2016-07-18 Thread Simon Horman
On Mon, Jul 18, 2016 at 06:37:04PM +0800, Yang, Yi wrote: > On Mon, Jul 18, 2016 at 03:15:13PM +0900, Simon Horman wrote: > > Hi Johnson, > > > > On Wed, Jul 13, 2016 at 01:28:48AM +0800, Johnson Li wrote: > > > Signed-off-by: Johnson Li > > > > * Re

Re: [ovs-dev] [RFC PATCH v2 02/13] Format NSH keys to readable strings

2016-07-17 Thread Simon Horman
Hi Johnson, On Wed, Jul 13, 2016 at 01:28:48AM +0800, Johnson Li wrote: > Signed-off-by: Johnson Li * Regarding the action set (which we discussed briefly off-list): I think that you need to update ofpacts_execute_action_set(), though possibly not in this patch, for push/pop_nsh to be usabl

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-07-17 Thread Simon Horman
[CC Jiri Benc for portion regarding GRE] Hi Pravin, On Fri, Jul 15, 2016 at 02:07:37PM -0700, pravin shelar wrote: > On Wed, Jul 13, 2016 at 12:31 AM, Simon Horman > wrote: > > Hi Pravin, > > > > On Thu, Jul 07, 2016 at 01:54:15PM -0700, pravin shelar wrote: > >>

Re: [ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-07-13 Thread Simon Horman
Hi Pravin, On Thu, Jul 07, 2016 at 01:54:15PM -0700, pravin shelar wrote: > On Wed, Jul 6, 2016 at 10:59 AM, Simon Horman > wrote: ... > > diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c > > index 12e8a8942a42..0001f651c934 100644 > > --- a/n

Re: [ovs-dev] [PATCH v12 2/3] userspace: add layer 3 flow and switching support

2016-07-13 Thread Simon Horman
On Wed, Jul 06, 2016 at 07:58:56PM +0200, Simon Horman wrote: [snip] > --- a/lib/odp-util.c > +++ b/lib/odp-util.c ... > @@ -4614,14 +4623,38 @@ odp_key_to_pkt_metadata(const struct nlattr *key, > size_t key_len, > md->in_port.odp_port = nl_att

Re: [ovs-dev] [PATCH net-next v11 3/6] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-07-13 Thread Simon Horman
On Thu, Jul 07, 2016 at 01:52:25PM -0700, pravin shelar wrote: > On Wed, Jul 6, 2016 at 10:59 AM, Simon Horman > wrote: > > * Set skb protocol based on contents of packet. I have observed this is > > necessary to get actual protocol of a packet when it is injected into an >

Re: [ovs-dev] [PATCH] ofproto: Fix consistent hashing

2016-07-11 Thread Simon Horman
gned-off-by: Liran Schour Acked-by: Simon Horman > --- > ofproto/ofproto-dpif-xlate.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c > index 1977b6b..655033d 100644 > --- a/ofpro

Re: [ovs-dev] [PATCH net-next v11 4/6] openvswitch: add support to push and pop mpls for layer3 packets

2016-07-10 Thread Simon Horman
On Thu, Jul 07, 2016 at 01:52:47PM -0700, pravin shelar wrote: > On Wed, Jul 6, 2016 at 10:59 AM, Simon Horman > wrote: > > Allow push and pop mpls actions to act on layer 3 packets by teaching > > them not to access non-existent L2 headers of such packets. > > > &g

[ovs-dev] [PATCH net-next v11 3/6] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-07-06 Thread Simon Horman
implemented by a subsequent patch depends on protocol and mac_len being set correctly on receive. Signed-off-by: Simon Horman --- v11 * Do not set mac_len. Instead of relying on mac_len follow-up patches now use skb_unset_mac_header() v10 * Set mac_len v9 * New patch --- net/openvswitch

[ovs-dev] [PATCH net-next v11 5/6] openvswitch: add layer 3 flow/port support

2016-07-06 Thread Simon Horman
at is not supported in mainline Linux. I (Simon) plan to follow up with support for non-TEB GRE ports based on work by Thomas Morin. Cc: Thomas Morin Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman --- v11 [Simon Horman] * Consolidate setting of eth.key in key_extract. * Limit scope o

[ovs-dev] [PATCH net-next v11 6/6] openvswitch: use ipgre tunnel rather than gretap tunnel

2016-07-06 Thread Simon Horman
This allows GRE tunnels to send and receive both layer 2 packets (packets with an ethernet header) and layer 3 packets (packets without an ethernet header). Signed-off-by: Simon Horman --- v11 * Make use of skb_mac_header_was_set() to avoid needing to calculate mac_len v10 * Handle case of l3

[ovs-dev] [PATCH net-next v11 4/6] openvswitch: add support to push and pop mpls for layer3 packets

2016-07-06 Thread Simon Horman
Allow push and pop mpls actions to act on layer 3 packets by teaching them not to access non-existent L2 headers of such packets. Signed-off-by: Simon Horman --- v11 * group l2 code in pop_mpls() v10 * Limit scope of hdr in {push,pop}_mpls() v9 * New Patch --- include/uapi/linux/openvswitch.h

[ovs-dev] [PATCH net-next v11 1/6] net: introduce skb_transport_header_was_set()

2016-07-06 Thread Simon Horman
differentiate such packets from those with an Ethernet header. Signed-off-by: Simon Horman --- v11 * New patch --- include/linux/skbuff.h | 5 + 1 file changed, 5 insertions(+) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 638b0e004310..669d63b038f6 100644 --- a/include

[ovs-dev] [PATCH net-next v11 0/6] openvswitch: support for layer 3 encapsulated packets

2016-07-06 Thread Simon Horman
mailing list as: "[PATCH v12 0/3] userspace: Support for layer 3 encapsulated packets" Lorand Jakab (1): openvswitch: add layer 3 flow/port support Simon Horman (5): net: introduce skb_transport_header_was_set() gre: unset mac header for non-TEB packets received by ip

[ovs-dev] [PATCH net-next v11 2/6] gre: unset mac header for non-TEB packets received by ipgre device

2016-07-06 Thread Simon Horman
unset rather than reset mach header for non-TEB packets received by an ipgre device. This allows skb_transport_header_was_set to be subsequently used to differentiate TEB and non-TEB packets recieved on an ipgre device. Signed-off-by: Simon Horman --- v11 * New patch --- net/ipv4/ip_gre.c | 2

[ovs-dev] [PATCH v12 1/3] userspace: add support for pop_eth and push_eth actions

2016-07-06 Thread Simon Horman
From: Lorand Jakab These actions will allow L2->L3 and L3->L2 switching, and are supposed to be added to flows installed in the datapath transparently by ovs-vswitchd. Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman --- v12 [Simon Horman] * Rebase * Provide commit_ether_action(

[ovs-dev] [PATCH v12 3/3] userspace: add non-tap (l3) support to GRE vports

2016-07-06 Thread Simon Horman
that this attribute is only used in userspace as there appears to be no need for it to be used in the kernel datapath. It is envisaged that this attribute may be used for other encapsulation protocols that support both layer3 and layer2 inner-packets. Signed-off-by: Simon Horman --- v12

[ovs-dev] [PATCH v12 2/3] userspace: add layer 3 flow and switching support

2016-07-06 Thread Simon Horman
ions. Added new prerequisite MFP_ETHERNET for fields MFF_ETH_SRC, MFF_ETH_DST, MFF_VLAN_TCI, MFF_DL_VLAN, MFF_VLAN_VID and MFF_DL_VLAN_PCP. L3 packets are differentiated from L2 packets by the absence of the OVS_KEY_ATTR_ETHERNET attribute in the flow key. Signed-off-by: Lorand Jakab Signed-off-by: Simon

[ovs-dev] [PATCH v12 0/3] userspace: Support for layer 3 encapsulated packets

2016-07-06 Thread Simon Horman
ayer 3 flow and switching support Simon Horman (1): userspace: add non-tap (l3) support to GRE vports build-aux/extract-ofp-fields | 1 + datapath/linux/compat/include/linux/openvswitch.h | 17 ++ include/openvswitch/flow.h| 23 ++- include/open

Re: [ovs-dev] [PATCH v10 5/5] userspace: add non-tap (l3) support to GRE vports

2016-06-22 Thread Simon Horman
On Wed, Jun 08, 2016 at 01:10:54PM -0700, Ben Pfaff wrote: > On Wed, Jun 01, 2016 at 02:04:57PM +0900, Simon Horman wrote: > > On Tue, May 31, 2016 at 08:20:24PM -0700, Ben Pfaff wrote: > > > There's a change to tnl_port_show() to "Skip ports with duplicate 'port&#

Re: [ovs-dev] [PATCH net-next v10 2/5] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-06-22 Thread Simon Horman
On Tue, Jun 21, 2016 at 09:30:17AM -0700, pravin shelar wrote: > On Mon, Jun 20, 2016 at 7:25 PM, Simon Horman > wrote: > > [Cc Jiri Benc] > > > > On Sat, Jun 18, 2016 at 06:38:54PM -0700, pravin shelar wrote: > >> On Thu, Jun 16, 2016 at 10:53 PM, Simon Horman &

Re: [ovs-dev] [PATCH net-next v10 2/5] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-06-20 Thread Simon Horman
[Cc Jiri Benc] On Sat, Jun 18, 2016 at 06:38:54PM -0700, pravin shelar wrote: > On Thu, Jun 16, 2016 at 10:53 PM, Simon Horman > wrote: > > On Tue, Jun 07, 2016 at 03:45:27PM -0700, pravin shelar wrote: > >> On Mon, Jun 6, 2016 at 8:08 PM, Simon Horman > >> wrot

Re: [ovs-dev] [PATCH net-next v10 4/5] openvswitch: add layer 3 flow/port support

2016-06-16 Thread Simon Horman
On Tue, Jun 07, 2016 at 03:45:58PM -0700, pravin shelar wrote: > On Mon, Jun 6, 2016 at 7:46 PM, Simon Horman > wrote: > > On Thu, Jun 02, 2016 at 03:02:18PM -0700, pravin shelar wrote: > >> On Wed, Jun 1, 2016 at 11:24 PM, Simon Horman > >> wrote: [...] >

Re: [ovs-dev] [PATCH net-next v10 2/5] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-06-16 Thread Simon Horman
On Tue, Jun 07, 2016 at 03:45:27PM -0700, pravin shelar wrote: > On Mon, Jun 6, 2016 at 8:08 PM, Simon Horman > wrote: > > On Thu, Jun 02, 2016 at 03:01:47PM -0700, pravin shelar wrote: > >> On Wed, Jun 1, 2016 at 11:24 PM, Simon Horman > >> wrote: > >> &g

Re: [ovs-dev] [PATCH net-next v10 2/5] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-06-06 Thread Simon Horman
On Thu, Jun 02, 2016 at 03:01:47PM -0700, pravin shelar wrote: > On Wed, Jun 1, 2016 at 11:24 PM, Simon Horman > wrote: > > * Set skb protocol based on contents of packet. I have observed this is > > necessary to get actual protocol of a packet when it is injected into an >

Re: [ovs-dev] [PATCH net-next v10 3/5] openvswitch: add support to push and pop mpls for layer3 packets

2016-06-06 Thread Simon Horman
On Thu, Jun 02, 2016 at 03:02:00PM -0700, pravin shelar wrote: > On Wed, Jun 1, 2016 at 11:24 PM, Simon Horman > wrote: > > Allow push and pop mpls actions to act on layer 3 packets by teaching > > them not to access non-existent L2 headers of such packets. > > > &g

Re: [ovs-dev] [PATCH net-next v10 4/5] openvswitch: add layer 3 flow/port support

2016-06-06 Thread Simon Horman
On Thu, Jun 02, 2016 at 03:02:18PM -0700, pravin shelar wrote: > On Wed, Jun 1, 2016 at 11:24 PM, Simon Horman > wrote: [...] > > diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c > > index 15f130e4c22b..5567529904fa 100644 > > --- a/net/openvswitch

[ovs-dev] [PATCH v11 5/5] userspace: add non-tap (l3) support to GRE vports

2016-06-01 Thread Simon Horman
that this attribute is only used in userspace as there appears to be no need for it to be used in the kernel datapath. It is envisaged that this attribute may be used for other encapsulation protocols that support both layer3 and layer2 inner-packets. Signed-off-by: Simon Horman --- v11

[ovs-dev] [PATCH net-next v10 5/5] openvswitch: use ipgre tunnel rather than gretap tunnel

2016-06-01 Thread Simon Horman
This allows GRE tunnels to send and receive both layer 2 packets (packets with an ethernet header) and layer 3 packets (packets without an ethernet header). Signed-off-by: Simon Horman --- v10 * Handle case of l3 only packets on vport-netdev * Use ARPHRD_NONE for ipgre interfaces as per recent

[ovs-dev] [PATCH net-next v10 3/5] openvswitch: add support to push and pop mpls for layer3 packets

2016-06-01 Thread Simon Horman
Allow push and pop mpls actions to act on layer 3 packets by teaching them not to access non-existent L2 headers of such packets. Signed-off-by: Simon Horman --- v10 * Limit scope of hdr in {push,pop}_mpls() v9 * New Patch --- net/openvswitch/actions.c | 19 --- 1 file changed

[ovs-dev] [PATCH v11 4/5] userspace: extend layer 3 support to cover non-IP packets

2016-06-01 Thread Simon Horman
packets which are technically layer 2.5 rather than 3 but the distinction seems unimportant here. This relies on datapaths setting OVS_KEY_ATTR_PACKET_ETHERTYPE to the ethernet type corresponding to the protocol of layer 3 packets on a flow miss. Signed-off-by: Simon Horman Acked-by: Ben Pfaff

[ovs-dev] [PATCH v11 3/5] userspace: add layer 3 support to packet metadata

2016-06-01 Thread Simon Horman
OVS_KEY_ATTR_PACKET_ETHERTYPE to indicate network protocol. Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman Acked-by: Ben Pfaff --- v11 [Simon Horman] * Do not allow setting of OVS_KEY_ATTR_PACKET_ETHERTYPE field. This does not seem necessary and is not used at this time. If it

[ovs-dev] [PATCH v11 0/5] userspace: Support for layer 3 encapsulated packets

2016-06-01 Thread Simon Horman
ce: add support for pop_eth and push_eth actions userspace: add layer 3 flow and switching support userspace: add layer 3 support to packet metadata Simon Horman (2): userspace: extend layer 3 support to cover non-IP packets userspace: add non-tap (l3) support to GRE vports build-aux

[ovs-dev] [PATCH net-next v10 4/5] openvswitch: add layer 3 flow/port support

2016-06-01 Thread Simon Horman
at is not supported in mainline Linux. I (Simon) plan to follow up with support for non-TEB GRE ports based on work by Thomas Morin. Cc: Thomas Morin Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman --- v10 [Simon Horman] * Move outermost VLAN into skb metadata in pop_eth and leave any

[ovs-dev] [PATCH v11 2/5] userspace: add layer 3 flow and switching support

2016-06-01 Thread Simon Horman
ions. Added new prerequisite MFP_ETHERNET for fields MFF_ETH_SRC, MFF_ETH_DST, MFF_VLAN_TCI, MFF_DL_VLAN, MFF_VLAN_VID and MFF_DL_VLAN_PCP. Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman Acked-by: Ben Pfaff --- v11 [Simon Horman] * Rebase * Remove spurious duplication of FLOW_MAX_MPLS_LABELS

[ovs-dev] [PATCH net-next v10 0/5] openvswitch: support for layer 3 encapsulated packets

2016-06-01 Thread Simon Horman
mailing list as: "[PATCH v11 0/5] userspace: Support for layer 3 encapsulated packets" Changes since the previous posting are noted in the changelogs of individual patches. Lorand Jakab (1): openvswitch: add layer 3 flow/port support Simon Horman (4): net: add skb_vlan_ac

[ovs-dev] [PATCH net-next v10 2/5] openvswitch: set skb protocol and mac_len when receiving on internal device

2016-06-01 Thread Simon Horman
implemented by a subsequent patch depends on protocol and mac_len being set correctly on receive. Signed-off-by: Simon Horman --- v10 * Set mac_len v9 * New patch --- net/openvswitch/vport-internal_dev.c | 4 1 file changed, 4 insertions(+) diff --git a/net/openvswitch/vport-internal_dev.c

[ovs-dev] [PATCH v11 1/5] userspace: add support for pop_eth and push_eth actions

2016-06-01 Thread Simon Horman
From: Lorand Jakab These actions will allow L2->L3 and L3->L2 switching, and are supposed to be added to flows installed in the datapath transparently by ovs-vswitchd. Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman --- v11 [Simon Horman] * Omit type field from push_eth action,

[ovs-dev] [PATCH net-next v10 1/5] net: add skb_vlan_accel helper

2016-06-01 Thread Simon Horman
. Signed-off-by: Simon Horman --- v10 [Simon Horman] * New patch --- include/linux/skbuff.h | 1 + net/core/skbuff.c | 28 +++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index ee38a4127475

Re: [ovs-dev] [PATCH v10 5/5] userspace: add non-tap (l3) support to GRE vports

2016-05-31 Thread Simon Horman
On Tue, May 31, 2016 at 08:20:24PM -0700, Ben Pfaff wrote: > On Wed, May 04, 2016 at 04:34:25PM +0900, Simon Horman wrote: > > Add support for layer 3 GRE vports (non-tap aka non-VTEP). > > > > This makes use of a vport mode configuration for the existing (tap/VTEP) > &

Re: [ovs-dev] [PATCH v10 3/5] userspace: add layer 3 support to packet metadata

2016-05-31 Thread Simon Horman
On Tue, May 31, 2016 at 01:52:55PM -0700, Ben Pfaff wrote: > On Wed, May 04, 2016 at 04:34:23PM +0900, Simon Horman wrote: > > From: Lorand Jakab > > > > This is needed for sending a packet back to the datapath after a miss > > upcall was processed. The presence of a

Re: [ovs-dev] [PATCH v10 2/5] userspace: add layer 3 flow and switching support

2016-05-31 Thread Simon Horman
On Tue, May 31, 2016 at 08:49:56AM -0700, Ben Pfaff wrote: > On Wed, May 04, 2016 at 04:34:22PM +0900, Simon Horman wrote: > > From: Lorand Jakab > > > > This commit relaxes the assumption that all packets have an Ethernet > > header, and adds support for layer 3 flows

Re: [ovs-dev] [PATCH v3] xlate: Skip recirculation for output and set actions

2016-05-26 Thread Simon Horman
On Wed, May 25, 2016 at 10:34:31AM +0900, Simon Horman wrote: > Until 8bf009bf8ab4 ("xlate: Always recirculate after an MPLS POP to a > non-MPLS ethertype.") the translation code took some care to only > recirculate as a result of a pop_mpls action if necessary. This was >

[ovs-dev] [PATCH v3] xlate: Skip recirculation for output and set actions

2016-05-24 Thread Simon Horman
ainability by special casing set and output actions such that recirculation may be avoided. This partially reverts the above mentioned commit. In particular most of the C code outside of do_xlate_actions(). Signed-off-by: Simon Horman Acked-by: Jarno Rajahalme --- * Lightly tested using test-sui

Re: [ovs-dev] [PATCH] xlate: Skip recirculation for output and set actions

2016-05-24 Thread Simon Horman
On Tue, May 24, 2016 at 12:36:02PM -0700, Jarno Rajahalme wrote: > One comment below, otherwise looks good, > > Acked-by: Jarno Rajahalme [...] > > On May 24, 2016, at 12:29 AM, Simon Horman > > wrote: > > > > Until 8bf009bf8ab4 ("xlate: Always reci

[ovs-dev] [PATCH] xlate: Skip recirculation for output and set actions

2016-05-24 Thread Simon Horman
ainability by special casing set and output actions such that recirculation may be avoided. This partially reverts the above mentioned commit. In particular most of the C code outside of do_xlate_actions(). Signed-off-by: Simon Horman --- * Lightly tested using test-suite portion of this

Re: [ovs-dev] [PATCH] xlate: Skip recirculation for output and set actions

2016-05-23 Thread Simon Horman
On Mon, May 23, 2016 at 08:56:46PM -0700, Ben Pfaff wrote: > On Tue, May 24, 2016 at 12:43:59PM +0900, Simon Horman wrote: > > Hi Ben, > > > > On Tue, Apr 12, 2016 at 12:39:51PM -0700, Ben Pfaff wrote: > > > On Mon, Apr 04, 2016 at 05:16:35PM +0900, Simon Horman wro

Re: [ovs-dev] [PATCH] xlate: Skip recirculation for output and set actions

2016-05-23 Thread Simon Horman
Hi Ben, On Tue, Apr 12, 2016 at 12:39:51PM -0700, Ben Pfaff wrote: > On Mon, Apr 04, 2016 at 05:16:35PM +0900, Simon Horman wrote: > > Until 8bf009bf8ab4 ("xlate: Always recirculate after an MPLS POP to a > > non-MPLS ethertype.") the translation code took some care to

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-20 Thread Simon Horman
On Fri, May 20, 2016 at 11:20:04AM +0200, Jiri Benc wrote: > On Fri, 20 May 2016 18:12:05 +0900, Simon Horman wrote: [...] > > 3. With regards to the mirroring part of your question, I need to check > >on that and possibly its broken. But my thinking is that a mirroring >

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-20 Thread Simon Horman
On Fri, May 20, 2016 at 10:39:39AM +0200, Jiri Benc wrote: > On Fri, 20 May 2016 17:16:13 +0900, Simon Horman wrote: > > My understanding is that currently OvS handles access ports using a > > push_vlan action. > > When needed (i.e. when the packet goes to a non-access port),

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-20 Thread Simon Horman
On Fri, May 20, 2016 at 05:11:23PM +0900, Simon Horman wrote: > On Fri, May 20, 2016 at 10:00:28AM +0200, Jiri Benc wrote: > > On Fri, 20 May 2016 14:29:01 +0900, Simon Horman wrote: > > > The second option does seem rather tempting although I'm not sure > > > t

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-20 Thread Simon Horman
On Fri, May 20, 2016 at 10:00:28AM +0200, Jiri Benc wrote: > On Fri, 20 May 2016 14:29:01 +0900, Simon Horman wrote: > > The second option does seem rather tempting although I'm not sure > > that it actually plays out in the access-port scenario at this time. > > We supp

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-19 Thread Simon Horman
Hi Jiri, On Tue, May 17, 2016 at 04:32:50PM +0200, Jiri Benc wrote: > Looking through the patchset again, this time more deeply. Sorry for > the delay. No need to be sorry, good things take time. > On Wed, 4 May 2016 16:36:30 +0900, Simon Horman wrote: > > +struct ovs_

Re: [ovs-dev] [PATCH v10 0/5] userspace: Support for layer 3 encapsulated packets

2016-05-18 Thread Simon Horman
On Wed, May 18, 2016 at 05:28:52PM -0700, Ben Pfaff wrote: > On Wed, May 04, 2016 at 04:34:20PM +0900, Simon Horman wrote: > > This series implements support for layer 3 encapsulated packets. At the > > core of this change is removing the assumption that all packets/flows have >

Re: [ovs-dev] [PATCH v9 net-next 5/7] openvswitch: add layer 3 support to ovs_packet_cmd_execute()

2016-05-17 Thread Simon Horman
On Tue, May 17, 2016 at 04:51:08PM +0200, Jiri Benc wrote: > On Wed, 4 May 2016 16:36:31 +0900, Simon Horman wrote: > > + /* Packets from user space for execution only have metadata key > > +* attributes. OVS_KEY_ATTR_PACKET_ETHERTYPE is then used to specify > > +

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-17 Thread Simon Horman
On Tue, May 17, 2016 at 04:43:20PM +0200, Jiri Benc wrote: > On Thu, 12 May 2016 07:46:52 +0900, Simon Horman wrote: > > If we can live with a bogus skb->mac_len value that is sufficient for > > ovs_flow_key_extract.() and set correctly by key_extract() (which happens >

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-11 Thread Simon Horman
On Wed, May 11, 2016 at 04:09:28PM +0200, Jiri Benc wrote: > On Wed, 11 May 2016 12:06:35 +0900, Simon Horman wrote: > > Is this close to what you had in mind? > > Yes but see below. > > > @@ -739,17 +729,17 @@ int ovs_flow_key_extract(const struct ip_tunnel_info &g

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-10 Thread Simon Horman
Hi Jiri, On Tue, May 10, 2016 at 02:06:18PM +0200, Jiri Benc wrote: > On Mon, 9 May 2016 17:18:20 +0900, Simon Horman wrote: > > On Fri, May 06, 2016 at 11:35:04AM +0200, Jiri Benc wrote: > > > In addition, we should check whether mac_len > 0 and in such case, > >

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-10 Thread Simon Horman
Hi Jiri, On Wed, May 11, 2016 at 10:50:09AM +0900, Simon Horman wrote: [...] > > > Its possible that I've overlooked something but as things stand I think > > > things look like this: > > > > > > * ovs_flow_key_extract() keys off dev->type and

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-10 Thread Simon Horman
Hi Jiri, On Tue, May 10, 2016 at 02:01:06PM +0200, Jiri Benc wrote: > On Mon, 9 May 2016 17:04:22 +0900, Simon Horman wrote: > > It seems to be caused by the following: > > > > 1. __ipgre_rcv() calls skb_pop_mac_header() which > >sets skb->mac_header to the s

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-09 Thread Simon Horman
On Fri, May 06, 2016 at 11:35:04AM +0200, Jiri Benc wrote: > On Wed, 4 May 2016 16:36:30 +0900, Simon Horman wrote: > > +static int push_eth(struct sk_buff *skb, struct sw_flow_key *key, > > + const struct ovs_action_push_eth *ethh) > > +{ > > + i

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-09 Thread Simon Horman
On Fri, May 06, 2016 at 11:25:14AM +0200, Jiri Benc wrote: > On Fri, 6 May 2016 14:57:07 +0900, Simon Horman wrote: > > On Thu, May 05, 2016 at 10:37:08AM -0700, pravin shelar wrote: > > > On transmit side you are using mac_len to detect l3 packet, why not do > > > sa

Re: [ovs-dev] [PATCH v9 net-next 7/7] openvswitch: use ipgre tunnel rather than gretap tunnel

2016-05-05 Thread Simon Horman
[CC Jiri Benc] On Thu, May 05, 2016 at 02:45:15PM -0700, pravin shelar wrote: > On Wed, May 4, 2016 at 12:36 AM, Simon Horman > wrote: > > This allows GRE tunnels to send and receive both > > layer 2 packets (packets with an ethernet header) and > > layer 3 packets (pac

Re: [ovs-dev] [PATCH v9 net-next 4/7] openvswitch: add layer 3 flow/port support

2016-05-05 Thread Simon Horman
[CC Jiri Benc] On Thu, May 05, 2016 at 10:37:08AM -0700, pravin shelar wrote: > On Wed, May 4, 2016 at 12:36 AM, Simon Horman > wrote: > > From: Lorand Jakab > > > > Implementation of the pop_eth and push_eth actions in the kernel, and > > layer 3 flow support. &g

Re: [ovs-dev] [PATCH v9 net-next 3/7] openvswitch: add support to push and pop mpls for layer3 packets

2016-05-05 Thread Simon Horman
On Thu, May 05, 2016 at 10:35:52AM -0700, pravin shelar wrote: > On Wed, May 4, 2016 at 12:36 AM, Simon Horman > wrote: > > Allow push and pop mpls actions to act on layer 3 packets by teaching > > them not to access non-existent L2 headers of such packets. > > > &g

[ovs-dev] [PATCH v9 net-next 5/7] openvswitch: add layer 3 support to ovs_packet_cmd_execute()

2016-05-04 Thread Simon Horman
adata, containing 0 for layer 2 packets and the Ethertype for layer 3 packets. Signed-off-by: Lorand Jakab Signed-off-by: Simon Horman --- v9 [Simon Horman] * Rebase v8 [Lorand Jakab] v7 [Lorand Jakab] * New patch --- include/uapi/linux/openvswitch.h | 2 ++ net/openvswitch/datapath.c

  1   2   3   4   5   6   7   8   9   10   >