public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jamal Hadi Salim <jhs@mojatatu•com>
To: Thomas Graf <tgraf@suug•ch>
Cc: John Fastabend <john.fastabend@gmail•com>,
	Scott Feldman <sfeldma@cumulusnetworks•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@nicira•com, pshelar@nicira•com, azhou@nicira•com,
	ben@decadent•org.uk, stephen@networkplumber•org,
	jeffrey.t.kirsher@intel•com, vyasevic@redhat•com,
	xiyou.wangcong@gmail•com, john.r.fastabend@intel•com,
	edumazet@google•com, f.fainelli@gmail•com,
	roopa@cumulusnetworks•com, linville@tuxdriver•com,
	dev@openvswitch•org, jasowang@redhat•com, ebiederm@xmission•com,
	nicolas.dichtel@6wind•com, ryazanov.s.a@gmail•com,
	buytenh@wantstofly•org, aviadr@mellanox•com, nbd@openwrt•org,
	alexei.starovoitov@gmail•com, Neil.Jerram@metaswitch•com,
	ronye@mella
Subject: Re: [patch net-next RFC 10/12] openvswitch: add support for datapath hardware offload
Date: Tue, 26 Aug 2014 10:26:17 -0400	[thread overview]
Message-ID: <53FC9909.7000007@mojatatu.com> (raw)
In-Reply-To: <20140825225057.GD30140@casper.infradead.org>

On 08/25/14 18:50, Thomas Graf wrote:
> On 08/25/14 at 12:15pm, Jamal Hadi Salim wrote:
>> On 08/25/14 10:17, Thomas Graf wrote:

>> I dont think we have a problem handling any of this today.
>
> Yes we do. It's restricted to L2 and we can't extend it easily

It is restricted to L2 because it is L2 processing;->
i.e a fixed function that is widely deployed and well understood.
Possible new extensions that are added are still L2
(example I think if you were to add TRILL support, you would
likely need to inherit and extend the bridge then add new TLVs).

> because it is based on NDA_*. The use of Netlink makes in-kernel
> usage a pain.

Ok, I understand what you mean by "in kernel" now.
I believe we have representations that are complete today at L3.
The offloader just feeds on that.
L2 needs some work because we have only been offloading the fdb.

>To me this is the sole reason for not using fdb_add()
> in the first place. It seems absolutely clear though that fdb_add()
> should be removed after the more generic ndo is in place providing
> a superset of what fdb_add() can do today.
>

It is by no means complete as i pointed to in my other email.
We need to worry about bridge ports, vlan filtering, igmp snooping
possibly STP parametrization and other knobs of control (flood control,
learning control etc).

> OK, let me do the convertion for you:
>
> NDA_DST		unused
> NDA_LLADDR	sw_flow_key.eth.dst
> NDA_CACHEINFO	unused
> NDA_PROBES	unused
> NDA_VLAN	sw_flow_key.eth.tci
> NDA_PORT	unused
> NDA_VNI		sw_flow_key.tun_key.tun_id
> NDA_IFINDEX	sw_flow_key.phys.in_port
> NDA_MASTER	unused
>

You are waaaay oversimplifying;->.
You need to worry about the rest of the other knobs that
are relevant when one offloads the bridge (refer above to
some of the things i said are missing from current fdb()
interface).

> Agreed but tc is only one out of many possible existing interfaces
> we have. macvtap (given we want to extend beyond L2), routing,
> OVS, bridge and eventually even things like a team device can and
> should make use of offloads.
>

Sure. I just want my cookies. I want it such that if i use tc filter
and that filter is offloadable and there exist a device capable
of offloading in my system - that it should work.


> Can you share that preso? I was not present.
>

I think it should be posted in the netconf site.
Also refer to my earlier presentation in the online meeting
which you were present at.

> Let me remind you about the name of the structure behind all L3
> forwarding decisions:
>
>          struct flowi4 {
> 		[...]
> 	}
>
> Adding a route means adding a flow.

Come on Thomas;->
It is called "flowi" structure - but it represent a much complex thing
than your definition of "flow".

>Can we please stop the flow bashing?

Let me get out my club and bash it some more ;->
I am going to start a newsgroup called alt.bash.bash.flow
Any postings from stanford will be censored by the banana republic
dictator.

cheers,
jamal

  parent reply	other threads:[~2014-08-26 14:26 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-21 16:18 [patch net-next RFC 00/12] introduce rocker switch driver with openvswitch hardware accelerated datapath Jiri Pirko
2014-08-21 16:18 ` [patch net-next RFC 02/12] net: rename netdev_phys_port_id to more generic name Jiri Pirko
     [not found]   ` <1408637945-10390-3-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-26 12:23     ` Or Gerlitz
     [not found]       ` <53FC7C3C.3090901-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-08-26 14:10         ` Jiri Pirko
2014-08-26 17:14         ` Stephen Hemminger
2014-08-21 16:18 ` [patch net-next RFC 04/12] rtnl: expose physical switch id for particular device Jiri Pirko
     [not found]   ` <1408637945-10390-5-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-22 19:08     ` John Fastabend
     [not found]       ` <53F79537.20207-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-26  8:32         ` Jiri Pirko
2014-08-21 16:18 ` [patch net-next RFC 05/12] net-sysfs: " Jiri Pirko
     [not found] ` <1408637945-10390-1-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-21 16:18   ` [patch net-next RFC 01/12] openvswitch: split flow structures into ovs specific and generic ones Jiri Pirko
2014-08-21 16:18   ` [patch net-next RFC 03/12] net: introduce generic switch devices support Jiri Pirko
2014-08-21 16:41     ` Ben Hutchings
2014-08-21 17:03       ` Jiri Pirko
     [not found]       ` <1408639283.13073.3.camel-nDn/Rdv9kqW9Jme8/bJn5UCKIB8iOfG2tUK59QYPAWc@public.gmane.org>
2014-08-27  2:45         ` Tom Herbert
     [not found]     ` <1408637945-10390-4-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-21 17:05       ` Florian Fainelli
     [not found]         ` <CAGVrzcYtnpcP4pfCJ0GSya01LTk0WwbSV1f+voF2K=S5CR3Arg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-22 12:42           ` Jamal Hadi Salim
2014-08-22 12:56             ` Jiri Pirko
2014-08-22 19:14               ` John Fastabend
     [not found]                 ` <53F7969C.1060509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-22 23:12                   ` Scott Feldman
     [not found]               ` <20140822125655.GB1916-6KJVSR23iU488b5SBfVpbw@public.gmane.org>
2014-08-23  1:02                 ` Florian Fainelli
     [not found]                   ` <CAGVrzcZS=Y2stxSNMfVjWTpPT8GoDOpOD9tExnDnoF0jj_owoQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-23  9:17                     ` Jiri Pirko
2014-08-24 11:46     ` Thomas Graf
     [not found]       ` <20140824114605.GC32741-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-26  8:34         ` Jiri Pirko
2014-08-27 22:19     ` Cong Wang
2014-08-21 16:18   ` [patch net-next RFC 06/12] net: introduce dummy switch Jiri Pirko
     [not found]     ` <1408637945-10390-7-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-26 19:14       ` Andy Gospodarek
     [not found]         ` <20140826191420.GC5275-Me9pkO/C/lgvPfuUPAiksl6hYfS7NtTn@public.gmane.org>
2014-08-29  7:00           ` Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 07/12] dsa: implement ndo_swdev_get_id Jiri Pirko
2014-08-21 16:38   ` Ben Hutchings
2014-08-21 16:56   ` Florian Fainelli
     [not found]     ` <CAGVrzcbs1yGb5RW++XZ=2PFsqUjZGVGfWx5=QQYcEX6x4WOq9Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-21 17:06       ` Jiri Pirko
     [not found]         ` <20140821170645.GB10633-6KJVSR23iU5sFDB2n11ItA@public.gmane.org>
2014-08-21 17:12           ` Florian Fainelli
     [not found]             ` <CAGVrzcb=vkqPw2LUc4YO4Bs-eady2=1uN-jkG=kW2RnGx=24PQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-22  9:05               ` David Laight
2014-08-23 11:33           ` Eric W. Biederman
2014-08-21 16:19 ` [patch net-next RFC 08/12] net: introduce netdev_phys_item_ids_match helper Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 09/12] openvswitch: introduce vport_op get_netdev Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 10/12] openvswitch: add support for datapath hardware offload Jiri Pirko
     [not found]   ` <1408637945-10390-11-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-22 19:39     ` John Fastabend
     [not found]       ` <53F79C54.5050701-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-22 22:53         ` Scott Feldman
     [not found]           ` <464DB0A8-0073-4CE0-9483-0F36B73A53A1-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-08-23  9:24             ` Jiri Pirko
2014-08-23 14:51               ` Thomas Graf
     [not found]                 ` <20140823145126.GB24116-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-23 17:09                   ` John Fastabend
     [not found]                     ` <53F8CAB9.8080407-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-24 11:32                       ` Thomas Graf
2014-08-24  1:53             ` Jamal Hadi Salim
2014-08-24 11:12               ` Thomas Graf
     [not found]                 ` <20140824111218.GA32741-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-24 15:15                   ` Jamal Hadi Salim
     [not found]                     ` <53FA01AC.10507-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-08-25  2:24                       ` Scott Feldman
     [not found]                         ` <A67C7591-19BF-4431-9119-F61361F5E618-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-08-25  2:42                           ` John Fastabend
     [not found]                             ` <53FAA2A2.7070801-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-25 13:53                               ` Jamal Hadi Salim
2014-08-25 14:17                                 ` Thomas Graf
     [not found]                                   ` <20140825141754.GA30140-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-25 16:15                                     ` Jamal Hadi Salim
     [not found]                                       ` <53FB6122.2040901-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-08-25 22:50                                         ` Thomas Graf
     [not found]                                           ` <20140825225057.GD30140-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-26 13:50                                             ` Roopa Prabhu
2014-08-26 14:06                                               ` Jiri Pirko
2014-08-26 14:58                                                 ` Jamal Hadi Salim
2014-08-26 15:22                                                   ` Jiri Pirko
     [not found]                                                     ` <20140826152217.GA1843-6KJVSR23iU5sFDB2n11ItA@public.gmane.org>
2014-08-26 15:29                                                       ` Jamal Hadi Salim
2014-08-26 15:44                                                         ` Jiri Pirko
     [not found]                                                           ` <20140826154459.GB1843-6KJVSR23iU5sFDB2n11ItA@public.gmane.org>
2014-08-26 15:54                                                             ` Andy Gospodarek
     [not found]                                                               ` <20140826155426.GA5275-Me9pkO/C/lgvPfuUPAiksl6hYfS7NtTn@public.gmane.org>
2014-08-26 16:19                                                                 ` Thomas Graf
     [not found]                                                                   ` <20140826161956.GA15316-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-26 18:41                                                                     ` Andy Gospodarek
2014-08-26 20:13                                                                     ` Alexei Starovoitov
2014-08-26 20:54                                                                       ` Thomas Graf
2014-08-29 14:20                                                                         ` Jamal Hadi Salim
     [not found]                                                                           ` <54008C47.5040503-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-09-01  8:13                                                                             ` Simon Horman
     [not found]                                                                               ` <20140901081343.GC12731-IxS8c3vjKQDk1uMJSBkQmQ@public.gmane.org>
2014-09-01 16:37                                                                                 ` Jamal Hadi Salim
2014-09-01 20:28                                                                                   ` Jiri Pirko
2014-09-02  1:08                                                                                     ` Jamal Hadi Salim
2014-08-26 15:01                                               ` Scott Feldman
     [not found]                                                 ` <D891A8EC-548C-453E-AC70-8431DAC4B8C4-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-08-26 15:12                                                   ` Jamal Hadi Salim
2014-08-26 14:26                                           ` Jamal Hadi Salim [this message]
2014-08-25 13:42                           ` Jamal Hadi Salim
2014-08-25 14:54                     ` Thomas Graf
     [not found]                       ` <20140825145449.GB30140-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-25 16:48                         ` Jamal Hadi Salim
2014-08-25 22:11                           ` Thomas Graf
2014-08-26 14:00                             ` Jamal Hadi Salim
2014-08-26 14:20                               ` Thomas Graf
     [not found]   ` <20140904090447.GB3176@vergenet.net>
     [not found]     ` <20140904090447.GB3176-IxS8c3vjKQDk1uMJSBkQmQ@public.gmane.org>
2014-09-04 16:30       ` Scott Feldman
     [not found]         ` <F4498A89-C1D6-4C5A-A6F0-942015D36B77-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-09-05  4:08           ` Simon Horman
     [not found]             ` <20140905040810.GB32481-IxS8c3vjKQDk1uMJSBkQmQ@public.gmane.org>
2014-09-05  7:02               ` Scott Feldman
     [not found]                 ` <E3C7797F-081E-484F-918E-937C705B43D6-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-09-05 10:46                   ` Jamal Hadi Salim
2014-09-08  0:02                   ` Simon Horman
2014-08-21 16:19 ` [patch net-next RFC 11/12] sw_flow: add misc section to key with in_port_ifindex field Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 12/12] rocker: introduce rocker switch driver Jiri Pirko
2014-08-21 17:19   ` Florian Fainelli
2014-08-23 14:04   ` Thomas Graf
2014-08-29  7:06     ` 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=53FC9909.7000007@mojatatu.com \
    --to=jhs@mojatatu$(echo .)com \
    --cc=Neil.Jerram@metaswitch$(echo .)com \
    --cc=alexei.starovoitov@gmail$(echo .)com \
    --cc=andy@greyhouse$(echo .)net \
    --cc=aviadr@mellanox$(echo .)com \
    --cc=azhou@nicira$(echo .)com \
    --cc=ben@decadent$(echo .)org.uk \
    --cc=buytenh@wantstofly$(echo .)org \
    --cc=davem@davemloft$(echo .)net \
    --cc=dborkman@redhat$(echo .)com \
    --cc=dev@openvswitch$(echo .)org \
    --cc=ebiederm@xmission$(echo .)com \
    --cc=edumazet@google$(echo .)com \
    --cc=f.fainelli@gmail$(echo .)com \
    --cc=jasowang@redhat$(echo .)com \
    --cc=jeffrey.t.kirsher@intel$(echo .)com \
    --cc=jesse@nicira$(echo .)com \
    --cc=jiri@resnulli$(echo .)us \
    --cc=john.fastabend@gmail$(echo .)com \
    --cc=john.r.fastabend@intel$(echo .)com \
    --cc=linville@tuxdriver$(echo .)com \
    --cc=nbd@openwrt$(echo .)org \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=nhorman@tuxdriver$(echo .)com \
    --cc=nicolas.dichtel@6wind$(echo .)com \
    --cc=ogerlitz@mellanox$(echo .)com \
    --cc=pshelar@nicira$(echo .)com \
    --cc=ronye@mella \
    --cc=roopa@cumulusnetworks$(echo .)com \
    --cc=ryazanov.s.a@gmail$(echo .)com \
    --cc=sfeldma@cumulusnetworks$(echo .)com \
    --cc=stephen@networkplumber$(echo .)org \
    --cc=tgraf@suug$(echo .)ch \
    --cc=vyasevic@redhat$(echo .)com \
    --cc=xiyou.wangcong@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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