From: Thomas Graf <tgraf@suug.ch>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>,
Jiri Pirko <jiri@resnulli.us>, netdev <netdev@vger.kernel.org>,
David Miller <davem@davemloft.net>,
Neil Horman <nhorman@tuxdriver.com>,
Andy Gospodarek <andy@greyhouse.net>,
dborkman <dborkman@redhat.com>, ogerlitz <ogerlitz@mellanox.com>,
jesse <jesse@nicira.com>, pshelar <pshelar@nicira.com>,
azhou <azhou@nicira.com>, Ben Hutchings <ben@decadent.org.uk>,
Stephen Hemminger <stephen@networkplumber.org>,
jeffrey.t.kirsher@intel.com, vyasevic <vyasevic@redhat.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
John Fastabend <john.r.fastabend@intel.com>,
Eric Dumazet <edumazet@google.com>,
Scott Feldman <sfeldma@cumulusnetworks.com>,
Roopa Prabhu <roopa@cumulusnetworks.com>,
John Linville <linville@tuxdriver.com>, dev <dev@openvswitch.org>
Subject: Re: [patch net-next RFC v2 0/6] introduce infrastructure for support of switch chip datapath
Date: Thu, 27 Mar 2014 17:20:48 +0000 [thread overview]
Message-ID: <20140327172048.GC13573@casper.infradead.org> (raw)
In-Reply-To: <CAGVrzcYE9uuD0Gxd5-OND4p5ieikYFchhpBm=ZiK5GaMqiQVyA@mail.gmail.com>
On 03/27/14 at 09:27am, Florian Fainelli wrote:
> 2014-03-27 4:02 GMT-07:00 Thomas Graf <tgraf@suug.ch>:
> > There is definitely need beyond an ndo that is capable of
> > adding flows. You mention routes. Another example would be
> > devices capable of offloading iptables & nft rules.
>
> Those devices usually require (at least for Broadcom) an entity
> identifying the flows and uploading flows offloading rules to the
> hardware. Although I do not think it hurts to keep those in mind to
> come up with the right design, my feeling is that they will require
> more intrusive modifications at the socket, route and forwarding path
> level if we want the Linux kernel to offer a consistent API across
> different hardware variations.
I absolutely agree. This is where the challenging bits start to
appear ;-) I don't want to speak for Jiri but my understanding is
that the flow focused approach early on is entirely because it is
the easiest case to solve. Taking OVS as an example has the
advantage of already being guarded by OpenFlow abstraction which
by nature is very device oriented.
> It is not clear to me at this point whether we want those special
> offloading devices to appear as separate net_device with specific
> flags to advertise their offloading features (NAT, IP routing...) or
> something else?
One lesson that could serve as an example which differs from TOE is
the offloading provided by recent FC HBAs. The device looks like a
regular SCSI device to the kernel but offers a full DCB engine to
allow for FCoE. The DCB bits can and must be configured. By not
representing that engine with a net_device we cannot configure the
engine through the Netlink interface dcbnl. dcbnl can certainly be
extended to allow taking a scsi id of some sort instead of a ifindex
but it's far from ideal.
My take on this is that if it makes sense to use rtnl or ethtool
to configure these offload engines then let's just go with a
globally visible net_device and improve our capabilities system.
> > But wouldn't you want to introduce an additional ndo to
> > cover these?
>
> I would start with making sure everyone is on the same page regarding
> switches before we start building the conversation on NAT/IP-routing
> offloading, but it is good that you mention it.
Agreed
next prev parent reply other threads:[~2014-03-27 17:20 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-26 16:31 [patch net-next RFC v2 0/6] introduce infrastructure for support of switch chip datapath Jiri Pirko
2014-03-26 16:31 ` [patch net-next RFC v2 1/6] net: make packet_type->ak_packet_priv generic Jiri Pirko
2014-03-26 16:31 ` [patch net-next RFC v2 2/6] skbuff: add "missed_flow" flag Jiri Pirko
[not found] ` <1395851472-10524-3-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-03-26 16:59 ` Alexei Starovoitov
2014-03-26 17:25 ` [ovs-dev] " Jiri Pirko
2014-03-27 10:31 ` Nicolas Dichtel
[not found] ` <5333FE0E.2090008-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-27 10:34 ` Jiri Pirko
2014-03-31 20:39 ` Neil Jerram
2014-03-26 16:31 ` [patch net-next RFC v2 3/6] openvswitch: split flow structures into ovs specific and generic ones Jiri Pirko
2014-03-26 16:31 ` [patch net-next RFC v2 4/6] net: introduce switchdev API Jiri Pirko
2014-03-27 11:23 ` Thomas Graf
[not found] ` <20140327112339.GB1615-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-03-27 11:26 ` Jiri Pirko
[not found] ` <1395851472-10524-5-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-03-31 20:47 ` Neil Jerram
2014-03-31 20:55 ` Neil Jerram
[not found] ` <1395851472-10524-1-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-03-26 16:31 ` [patch net-next RFC v2 5/6] openvswitch: Introduce support for switchdev based datapath Jiri Pirko
2014-03-26 16:31 ` [patch net-next RFC v2 6/6] net: introduce dummy switch Jiri Pirko
2014-03-26 21:44 ` [patch net-next RFC v2 0/6] introduce infrastructure for support of switch chip datapath Jamal Hadi Salim
[not found] ` <53334A3F.6020105-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-03-26 21:57 ` Florian Fainelli
[not found] ` <CAGVrzcaOph7=2WfMzTfqtwFkN1fu5uKJAH59aF7mqD4MwL7iOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-27 7:23 ` Jiri Pirko
2014-03-27 7:21 ` Jiri Pirko
[not found] ` <20140327072107.GC2845-RDzucLLXGGI88b5SBfVpbw@public.gmane.org>
2014-03-27 10:27 ` Jamal Hadi Salim
2014-03-27 11:02 ` Thomas Graf
2014-03-27 11:17 ` Jamal Hadi Salim
[not found] ` <533408C0.8000608-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-03-27 12:00 ` Thomas Graf
2014-03-27 12:32 ` Jamal Hadi Salim
2014-03-27 12:57 ` Jiri Pirko
[not found] ` <20140327125711.GL2845-RDzucLLXGGI88b5SBfVpbw@public.gmane.org>
2014-03-27 14:03 ` John W. Linville
2014-03-27 16:27 ` Florian Fainelli
2014-03-27 17:20 ` Thomas Graf [this message]
[not found] ` <20140327172048.GC13573-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-03-27 17:26 ` Jiri Pirko
2014-03-26 16:33 ` [patch iproute2 RFC v2] iproute: add support for dummyswport Jiri Pirko
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=20140327172048.GC13573@casper.infradead.org \
--to=tgraf@suug.ch \
--cc=andy@greyhouse.net \
--cc=azhou@nicira.com \
--cc=ben@decadent.org.uk \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=dev@openvswitch.org \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jesse@nicira.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=john.r.fastabend@intel.com \
--cc=linville@tuxdriver.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=ogerlitz@mellanox.com \
--cc=pshelar@nicira.com \
--cc=roopa@cumulusnetworks.com \
--cc=sfeldma@cumulusnetworks.com \
--cc=stephen@networkplumber.org \
--cc=vyasevic@redhat.com \
--cc=xiyou.wangcong@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).