Subject: Re: [patch net-next RFC 03/12] net: introduce generic switch devices support

From: John Fastabend <[email-masked]>
Date: Fri, 22 Aug 2014 12:14:36 -0700

On 08/22/2014 05:56 AM, Jiri Pirko wrote:
> Fri, Aug 22, 2014 at 02:42:04PM CEST, [email-masked] wrote:
>> On 08/21/14 13:05, Florian Fainelli wrote:
>>> 2014-08-21 9:18 GMT-07:00 Jiri Pirko <[email-masked]>:
>>>> 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