All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Thomas Graf <tgraf@suug.ch>
Cc: John Fastabend <john.fastabend@gmail.com>,
	Jamal Hadi Salim <jhs@mojatatu.com>,
	Pablo Neira Ayuso <pablo@netfilter.org>,
	simon.horman@netronome.com, sfeldma@gmail.com,
	netdev@vger.kernel.org, davem@davemloft.net,
	gerlitz.or@gmail.com, andy@greyhouse.net, ast@plumgrid.com
Subject: Re: [net-next PATCH v3 00/12] Flow API
Date: Fri, 23 Jan 2015 17:16:05 +0100	[thread overview]
Message-ID: <20150123161605.GN2065@nanopsycho.orion> (raw)
In-Reply-To: <20150123160058.GN25797@casper.infradead.org>

Fri, Jan 23, 2015 at 05:00:58PM CET, tgraf@suug.ch wrote:
>On 01/23/15 at 04:53pm, Jiri Pirko wrote:
>> Fri, Jan 23, 2015 at 04:34:55PM CET, john.fastabend@gmail.com wrote:
>> >What I don't have a lot of use for at the moment is an xflows that runs
>> >in software? Conceptually it sounds fine but why would I want to mirror
>> >hardware limitations into software? And if I make it completely generic
>> >it becomes u32 more or less. I could create an optimized version of the
>> >hardware dataplane in userspace which sits somewhere between u32 and the
>> >other classifiers on flexility and maybe gains some performance but I'm
>> >at a loss as to why this is useful. I would rather spend my time getting
>> >better performance out of u32 and dropping qdisc_lock completely then
>> >writing some partially useful filter for software.
>> 
>> Well, even software implementation has limitations. Take ovs kernel
>> datapath as example. You can use your graphs to describe exactly what
>> ovs can handle. And after that you could use xflows api to set it up as
>> well as your rocker offload. That to me seems lie a very nice feature to
>> have.
>
>What is the value of this? The OVS kernel datapath is already built to
>fall back to user space if the kernel datapath does not support a
>specific feature.


As I wrote earlier, the value is that userspace can easily use single
xflows api to take care of all ways to handle flows (ovs kernel dp,
rocker, other device, u32 tc filter + actions, you name it)


    my flow managing app 
          |
uspc      |
  --------|----------------------------------------------------
krnl      |
       tc xflows api
          |  |  |
          |  |  ---------------------------------------------------
          |  |                                                    |
          |  ------------------                                other xflows backend
          |                   |
     ovs xflows backend     rocker driver xflows backend
          |                   |
         ovs dp               |
krnl	                      |
  ----------------------------|--------------------------------
hw                            |
                           rocker switch

  parent reply	other threads:[~2015-01-23 16:16 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-20 20:26 [net-next PATCH v3 00/12] Flow API John Fastabend
2015-01-20 20:26 ` [net-next PATCH v3 01/12] net: flow_table: create interface for hw match/action tables John Fastabend
2015-01-22  4:37   ` Simon Horman
2015-01-20 20:27 ` [net-next PATCH v3 02/12] net: flow_table: add rule, delete rule John Fastabend
2015-01-20 20:27 ` [net-next PATCH v3 03/12] net: flow: implement flow cache for get routines John Fastabend
2015-01-20 20:27 ` [net-next PATCH v3 04/12] net: flow_table: create a set of common headers and actions John Fastabend
2015-01-20 20:59   ` John W. Linville
2015-01-20 22:10     ` John Fastabend
2015-01-20 20:28 ` [net-next PATCH v3 05/12] net: flow_table: add validation functions for rules John Fastabend
2015-01-20 20:28 ` [net-next PATCH v3 06/12] net: rocker: add pipeline model for rocker switch John Fastabend
2015-01-20 20:29 ` [net-next PATCH v3 07/12] net: rocker: add set rule ops John Fastabend
2015-01-20 20:29 ` [net-next PATCH v3 08/12] net: rocker: add group_id slices and drop explicit goto John Fastabend
2015-01-20 20:30 ` [net-next PATCH v3 09/12] net: rocker: add multicast path to bridging John Fastabend
2015-01-20 20:30 ` [net-next PATCH v3 10/12] net: rocker: add cookie to group acls and use flow_id to set cookie John Fastabend
2015-01-20 20:31 ` [net-next PATCH v3 11/12] net: rocker: have flow api calls set cookie value John Fastabend
2015-01-20 20:31 ` [net-next PATCH v3 12/12] net: rocker: implement delete flow routine John Fastabend
2015-01-22 12:52 ` [net-next PATCH v3 00/12] Flow API Pablo Neira Ayuso
2015-01-22 13:37   ` Thomas Graf
2015-01-22 14:00     ` Pablo Neira Ayuso
2015-01-22 15:00       ` Jamal Hadi Salim
2015-01-22 15:13         ` Thomas Graf
2015-01-22 15:28           ` Jamal Hadi Salim
2015-01-22 15:37             ` Thomas Graf
2015-01-22 15:44               ` Jamal Hadi Salim
2015-01-23 10:10                 ` Thomas Graf
2015-01-23 10:24                   ` Jiri Pirko
2015-01-23 11:08                     ` Thomas Graf
2015-01-23 11:39                       ` Jiri Pirko
2015-01-23 12:28                         ` Thomas Graf
2015-01-23 13:43                           ` Jiri Pirko
2015-01-23 14:07                             ` Thomas Graf
2015-01-23 15:25                               ` Jiri Pirko
2015-01-23 15:43                                 ` John Fastabend
2015-01-23 15:56                                   ` Jiri Pirko
2015-01-23 15:49                                 ` Thomas Graf
2015-01-23 16:00                                   ` Jiri Pirko
2015-01-23 15:34                               ` John Fastabend
2015-01-23 15:53                                 ` Jiri Pirko
2015-01-23 16:00                                   ` Thomas Graf
2015-01-23 16:08                                     ` John Fastabend
2015-01-23 16:16                                     ` Jiri Pirko [this message]
2015-01-24 13:04                                       ` Jamal Hadi Salim
2015-01-23 17:46                                 ` Thomas Graf
2015-01-23 19:59                                   ` John Fastabend
2015-01-23 23:16                                     ` Thomas Graf
2015-01-24 13:22                                   ` Jamal Hadi Salim
2015-01-24 13:34                                     ` Thomas Graf
2015-01-24 13:01                                 ` Jamal Hadi Salim
2015-01-26  8:26                                   ` Simon Horman
2015-01-26 12:26                                     ` Jamal Hadi Salim
2015-01-27  4:28                                       ` David Ahern
2015-01-27  4:58                                         ` Andy Gospodarek
2015-01-27 15:54                                           ` Jamal Hadi Salim
2015-01-24 12:36                         ` Jamal Hadi Salim
2015-01-22 15:48               ` Jiri Pirko
2015-01-22 17:58                 ` Thomas Graf
2015-01-22 16:49               ` Pablo Neira Ayuso
2015-01-22 17:10                 ` John Fastabend
2015-01-22 17:44                 ` Thomas Graf
2015-01-24 12:34                   ` Jamal Hadi Salim
2015-01-24 13:48                     ` Thomas Graf
2015-01-23  9:00                 ` David Miller
2015-01-22 16:58           ` John Fastabend
2015-01-23 10:49             ` Thomas Graf
2015-01-23 16:42               ` John Fastabend
2015-01-24 12:29             ` Jamal Hadi Salim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150123161605.GN2065@nanopsycho.orion \
    --to=jiri@resnulli.us \
    --cc=andy@greyhouse.net \
    --cc=ast@plumgrid.com \
    --cc=davem@davemloft.net \
    --cc=gerlitz.or@gmail.com \
    --cc=jhs@mojatatu.com \
    --cc=john.fastabend@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pablo@netfilter.org \
    --cc=sfeldma@gmail.com \
    --cc=simon.horman@netronome.com \
    --cc=tgraf@suug.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.