From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Fastabend Subject: Re: [patch net-next RFC 03/12] net: introduce generic switch devices support Date: Fri, 22 Aug 2014 12:14:36 -0700 Message-ID: <53F7969C.1060509@gmail.com> References: <1408637945-10390-1-git-send-email-jiri@resnulli.us> <1408637945-10390-4-git-send-email-jiri@resnulli.us> <53F73A9C.4000209@mojatatu.com> <20140822125655.GB1916@nanopsycho.orion> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Jamal Hadi Salim , Florian Fainelli , netdev , David Miller , Neil Horman , Andy Gospodarek , tgraf , dborkman , ogerlitz , jesse , pshelar , azhou , Ben Hutchings , Stephen Hemminger , Jeff Kirsher , vyasevic , Cong Wang , John Fastabend , Eric Dumazet , Scott Feldman , Roopa Prabhu , John Linville , dev , "jasowang@redhat.com" , "Eri To: Jiri Pirko Return-path: Received: from mail-ob0-f181.google.com ([209.85.214.181]:42548 "EHLO mail-ob0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750924AbaHVTPT (ORCPT ); Fri, 22 Aug 2014 15:15:19 -0400 Received: by mail-ob0-f181.google.com with SMTP id va2so8647744obc.26 for ; Fri, 22 Aug 2014 12:15:19 -0700 (PDT) In-Reply-To: <20140822125655.GB1916@nanopsycho.orion> Sender: netdev-owner@vger.kernel.org List-ID: On 08/22/2014 05:56 AM, Jiri Pirko wrote: > Fri, Aug 22, 2014 at 02:42:04PM CEST, jhs@mojatatu.com wrote: >> On 08/21/14 13:05, Florian Fainelli wrote: >>> 2014-08-21 9:18 GMT-07:00 Jiri Pirko : >>>> The goal of this is to provide a possibility to suport various switch >>>> chips. Drivers should implement relevant ndos to do so. Now there is a >>>> couple of ndos defines: >>>> - for getting physical switch id is in place. >>>> - for work with flows. >>>> >>>> Note that user can use random port netdevice to access the switch. >>> >>> I read through this patch set, and I still think that DSA is the >>> generic switch infrastructure we already have because it does provide >>> the following: >>> >>> - taking a generic platform data structure (C struct or Device Tree), >>> validate, parse it and map it to internal kernel structures >>> - instantiate per-port network devices based on the configuration data provided >>> - delegate netdev_ops to the switch driver and/or the CPU NIC when relevant >>> - provide support for hooking RX and TX traffic coming from the CPU NIC >>> >>> I would rather we build on the existing DSA infrastructure and add the >>> flow-related netdev_ops rather than having the two remain in >>> disconnect while flow-oriented switches driver get progressively >>> added. I guess I should take a closer look at the rocker driver to see >>> how hard would that be for you. >>> >>> What do you think? >> >> >> I thought we had concluded that DSA was a good path forward? Or maybe at >> this stage we need to have several alternative approaches >> and we eventually converge? > > That is true. I'm still unsure how to fit this on to DSA or how to change DSA > the way this fits. This is my quest now. Will report back in a week or so. > I would like to use the flow ops in some of our NICs that have a limited flow table in hardware. It might be easier to use the NICs as the first implementers of the API even though they are usually not as capable or large as flow tables in some of the larger switch asics. In my opinion it can replace the ioctl flow director APIs although I don't like how it is tied to OVS in the some of the later RFC patches but we can work on that. .John -- John Fastabend Intel Corporation