From: Jiri Pirko <jiri@resnulli.us>
To: Thomas Graf <tgraf@suug.ch>
Cc: netdev@vger.kernel.org, davem@davemloft.net,
nhorman@tuxdriver.com, andy@greyhouse.net, dborkman@redhat.com,
ogerlitz@mellanox.com, jesse@nicira.com, jpettit@nicira.com,
joestringer@nicira.com, john.r.fastabend@intel.com,
jhs@mojatatu.com, sfeldma@gmail.com, f.fainelli@gmail.com,
roopa@cumulusnetworks.com, linville@tuxdriver.com,
simon.horman@netronome.com, shrijeet@gmail.com,
gospo@cumulusnetworks.com, bcrl@kvack.org
Subject: Re: Flows! Offload them.
Date: Thu, 26 Feb 2015 14:17:50 +0100 [thread overview]
Message-ID: <20150226131750.GE1973@nanopsycho.lan> (raw)
In-Reply-To: <20150226125143.GB23050@casper.infradead.org>
Thu, Feb 26, 2015 at 01:51:43PM CET, tgraf@suug.ch wrote:
>On 02/26/15 at 08:42am, Jiri Pirko wrote:
>> Hello everyone.
>>
>> I would like to discuss big next step for switch offloading. Probably
>> the most complicated one we have so far. That is to be able to offload flows.
>> Leaving nftables aside for a moment, I see 2 big usecases:
>> - TC filters and actions offload.
>> - OVS key match and actions offload.
>>
>> I think it might sense to ignore OVS for now. The reason is ongoing efford
>> to replace OVS kernel datapath with TC subsystem. After that, OVS offload
>> will not longer be needed and we'll get it for free with TC offload
>> implementation. So we can focus on TC now.
>>
>> Here is my list of actions to achieve some results in near future:
>> 1) finish cls_openflow classifier and iproute part of it
>
>I still think that you should consider renaming this or merging
>it with cls_flow. I don't see any relation to OpenFlow in what
>you proposed in the last RFC.
cls_flow does something different. I believe that it is not a good idea
to merge it with cls_openflow.
Relation to OpenFlow is that the cls follows the specification in what
fields of pks should be used for matching.
But I get your point. cls_openflow is the working name. I have no
problem in changing it so something different.
>
>> 2) extend switchdev API for TC cls and acts offloading (using John's flow api?)
>> 3) use rocker to provide offload for cls_openflow and couple of selected actions
>> 4) improve cls_openflow performance (hashtables etc)
>> 5) improve TC subsystem performance in both slow and fast path
>> -RTNL mutex and qdisc lock removal/reduction, lockless stats update.
>> 6) implement "named sockets" (working name) and implement TC support for that
>> -ingress qdisc attach, act_mirred target
>> 7) allow tunnels (VXLAN, Geneve, GRE) to be created as named sockets
>> 8) implement TC act_mpls
>> 9) suggest to switch OVS userspace from OVS genl to TC API
>
>I think everybody agrees to unifying code paths and getting rid
>of parallism assuming that it does not introduce a performance
>regression for flow setup rate, throughput, and scale.
Great. I sure plan to focus on performance (on both fast and slow path).
>
>I would also include Linux bridge in this effort as it's also
>based on programmable flows and would thus also benefit from
>the implemented offload functionality.
Well I would leave the bridge alone for now. We are able to offload fdbs
there now easily. But I'm open to the discussion for the future.
Thanks!
Jiri
next prev parent reply other threads:[~2015-02-26 13:17 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 7:42 Flows! Offload them Jiri Pirko
2015-02-26 8:38 ` Simon Horman
2015-02-26 9:16 ` Jiri Pirko
2015-02-26 13:33 ` Thomas Graf
2015-02-26 15:23 ` John Fastabend
2015-02-26 20:16 ` Neil Horman
2015-02-26 21:11 ` John Fastabend
2015-02-27 1:17 ` Neil Horman
2015-02-27 8:53 ` Jiri Pirko
2015-02-27 16:00 ` John Fastabend
2015-02-26 21:52 ` Simon Horman
2015-02-27 1:22 ` Neil Horman
2015-02-27 1:52 ` Tom Herbert
2015-03-02 13:49 ` Andy Gospodarek
2015-03-02 16:54 ` Scott Feldman
2015-03-02 18:06 ` Andy Gospodarek
[not found] ` <CAGpadYEC3-5AdkOG66q0vX+HM0c6EU-C0ZT=sKGe7rZRHsYYKg@mail.gmail.com>
2015-03-02 22:13 ` Scott Feldman
2015-03-02 22:43 ` Andy Gospodarek
2015-03-02 22:49 ` Florian Fainelli
2015-02-27 8:41 ` Thomas Graf
2015-02-27 12:59 ` Neil Horman
2015-03-01 9:36 ` Arad, Ronen
2015-03-01 14:05 ` Neil Horman
2015-03-02 14:16 ` Jamal Hadi Salim
2015-03-01 9:47 ` Arad, Ronen
2015-03-01 17:20 ` Neil Horman
[not found] ` <CAGpadYGrjfkZqe0k7D05+cy3pY=1hXZtQqtV0J-8ogU80K7BUQ@mail.gmail.com>
2015-02-26 15:39 ` John Fastabend
[not found] ` <CAGpadYHfNcDR2ojubkCJ8-nJTQkdLkPsAwJu0wOKU82bLDzhww@mail.gmail.com>
2015-02-26 16:33 ` Thomas Graf
2015-02-26 16:53 ` John Fastabend
2015-02-27 13:33 ` Jamal Hadi Salim
2015-02-27 15:23 ` John Fastabend
2015-03-02 13:45 ` Jamal Hadi Salim
2015-02-26 17:38 ` David Ahern
2015-02-26 16:04 ` Tom Herbert
2015-02-26 16:17 ` Jiri Pirko
2015-02-26 18:15 ` Tom Herbert
2015-02-26 19:05 ` Thomas Graf
2015-02-27 9:00 ` Jiri Pirko
2015-02-28 20:02 ` David Miller
2015-02-28 21:31 ` Jiri Pirko
2015-02-26 18:16 ` Scott Feldman
2015-02-26 11:22 ` Sowmini Varadhan
2015-02-26 11:39 ` Jiri Pirko
2015-02-26 15:42 ` Sowmini Varadhan
2015-02-27 13:15 ` Named sockets WAS(Re: " Jamal Hadi Salim
2015-02-26 12:51 ` Thomas Graf
2015-02-26 13:17 ` Jiri Pirko [this message]
2015-02-26 19:32 ` Florian Fainelli
2015-02-26 20:58 ` John Fastabend
2015-02-26 21:45 ` Florian Fainelli
2015-02-26 23:06 ` John Fastabend
2015-02-27 18:37 ` Neil Horman
2015-02-27 14:01 ` Driver level interface WAS(Re: " 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=20150226131750.GE1973@nanopsycho.lan \
--to=jiri@resnulli.us \
--cc=andy@greyhouse.net \
--cc=bcrl@kvack.org \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=f.fainelli@gmail.com \
--cc=gospo@cumulusnetworks.com \
--cc=jesse@nicira.com \
--cc=jhs@mojatatu.com \
--cc=joestringer@nicira.com \
--cc=john.r.fastabend@intel.com \
--cc=jpettit@nicira.com \
--cc=linville@tuxdriver.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=ogerlitz@mellanox.com \
--cc=roopa@cumulusnetworks.com \
--cc=sfeldma@gmail.com \
--cc=shrijeet@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.