netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
To: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Ivan Vecera <ivecera@redhat.com>, Jiri Pirko <jiri@resnulli.us>,
	netdev@vger.kernel.org, nsekhar@ti.com, francois.ozog@linaro.org,
	yogeshs@ti.com, spatton@ti.com
Subject: Re: [PATCH 0/4] RFC CPSW switchdev mode
Date: Wed, 6 Jun 2018 11:23:05 +0300	[thread overview]
Message-ID: <20180606082304.GA5346@khorivan> (raw)
In-Reply-To: <4908e5f8-7533-6fa5-866f-1fb32fd13857@ti.com>

On Tue, Jun 05, 2018 at 06:23:45PM -0500, Grygorii Strashko wrote:
>
>
>On 06/02/2018 07:26 PM, Andrew Lunn wrote:
>>> *After this patch set*: goal keep things working the same as max as
>>> possible and get rid of TI custom tool.
>>
>> We are happy to keep things the same, if they fit with the switchdev
>> model. Anything in your customer TI tool/model which does not fit the
>> switchdev model you won't be able to keep, except if we agree to
>> extend the model.
>
>Right. That's the main goal of RFC to identify those gaps.
>
>>
>> I can say now, sw0p0 is going to cause problems. I really do suggest
>> you drop it for the moment in order to get a minimal driver
>> accepted. sw0p0 does not fit the switchdev model.
>
>Honestly, this is not the first patchset and we started without sw0p0,
>but then.... (with current LKML)
>- default vlan offloading breaks traffic reception to P0
> (Ilias saying it's fixed in next - good)
>- adding vlan to P1/P2 works, but not for P0 (again as per Ilias -fixed)
>- mcast - no way to manually add static record and include or exclude P0.
>
>
>:( above are basic functionality required.
>
>>
>>> Below I've described some tested use cases (not include full static configuration),
>>> but regarding sw0p0 - there is work done by Ivan Khoronzhuk [1] which enables
>>> adds MQPRIO and CBS Qdisc and targets AVB network features. It required to
>>> offload MQPRIO and CBS parameters on all ports including P0. In case of P0,
>>> CPDMA TX channels shapers need to be configured, and in case
>>> of sw0p1/sw0p2 internal FIFOS.
>>> sw0p0 also expected to be used to configure CPDMA interface in general -
>>> number of tx/rx channels, rates, ring sizes.
>>
>> Can this be derives from the configuration on sw0p1 and sw0p2?
>> sw0p1 has 1 tx channel, sw0p2 has 2 tx channels, so give p0 3 tx
>> channels?
>
>This not exactly what is required, sry I probably will need just repeat what Ivan
>described in https://lkml.org/lkml/2018/5/18/1135. I'd try to provide this info tomorrow.
>
>Unfortunately, I'm not sure if all this reworking and switchdev conversation would make sense
>if we will not be able to fit Ivan's work in new CPSW driver model ;..(
>and do AVB bridge.

Not sure I tracked everything, but current link example only for dual-emac mode,
where i guess no switchdev and thus we have only 2 ports having phys and no need
in some common configuration. Only common resources tx queues that are easily
shared between two ports. In case of switchdev the same, no need in port 0, at
least for cpsw implementation (not sure about others), tx queues cpdma shapers
are configured separately and can be done with any netdev presenting ports,
thus p0 can be avoided in this case also. For instance, I've created short
description, based on current switchdev RFC, showing simple configuration
commands for shapers configuration from host side and CBS for every port,
w/o p0 usage:
https://git.linaro.org/people/ivan.khoronzhuk/tsn_conf.git/tree/README_switchdev

Will add it once switchdev decision is stabilized and applied. Basically nothing
changed with dual-emac configuration except different rates set for cpdma
shapers from host side.

Probably, p0 is needed for other configurations, or for compatibility reasons
with old versions, but definitely should be created list of all cases, and on my
opinion, any common resource for both ports can be configured with any netdev
presenting ports if it doesn't conflict with ports configuration itself.

>
>>
>>> In addition there is set of global CPSW parameters (not related to P1/P2, like
>>> MAC Authorization Mode, OUI Deny Mode, crc ) which I've
>>> thought can be added to sw0p0 (using ethtool -priv-flags).
>>
>> You should describe these features, and then we can figure out how
>> best to model them. devlink might be an option if they are switch
>> global.
>
>Ok. that can be postponed.
>
>-- 
>regards,
>-grygorii

-- 
Regards,
Ivan Khoronzhuk

  parent reply	other threads:[~2018-06-06  8:23 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-24  6:56 [PATCH 0/4] RFC CPSW switchdev mode Ilias Apalodimas
2018-05-24  6:56 ` [PATCH 1/4] cpsw: move common headers definitions to cpsw_priv.h Ilias Apalodimas
2018-05-24  6:56 ` [PATCH 2/4] cpsw_ale: add support functions for switchdev Ilias Apalodimas
2018-05-24  6:56 ` [PATCH 3/4] cpsw_switchdev: add switchdev support files Ilias Apalodimas
2018-05-24 10:00   ` Maxim Uvarov
2018-05-27  4:39   ` kbuild test robot
2018-05-24  6:56 ` [PATCH 4/4] cpsw: add switchdev support Ilias Apalodimas
2018-05-24 13:12   ` Andrew Lunn
2018-05-24 13:32     ` Ilias Apalodimas
2018-05-24 16:39       ` Andrew Lunn
2018-05-25  4:56         ` Ilias Apalodimas
2018-06-01 21:48           ` Florian Fainelli
2018-06-02 10:34             ` Ilias Apalodimas
2018-06-02 16:10               ` Florian Fainelli
2018-06-02 16:52                 ` Ilias Apalodimas
2018-06-05 21:03               ` Grygorii Strashko
2018-06-05 21:37                 ` Florian Fainelli
2018-05-24  8:05 ` [PATCH 0/4] RFC CPSW switchdev mode Jiri Pirko
2018-05-24  8:48   ` Ilias Apalodimas
2018-05-24 12:54     ` Andrew Lunn
2018-05-24 13:44       ` Ivan Vecera
2018-05-24 14:08         ` Ilias Apalodimas
2018-05-24 14:54           ` Andrew Lunn
2018-05-24 15:07             ` Ilias Apalodimas
2018-05-24 15:25               ` Andrew Lunn
2018-05-24 16:02                 ` Ilias Apalodimas
2018-05-24 16:33                   ` Andrew Lunn
2018-05-25  6:29                     ` Ilias Apalodimas
2018-05-25 10:28                       ` Ilias Apalodimas
2018-05-25 11:59                         ` Andrew Lunn
2018-05-25 12:09                       ` Andrew Lunn
2018-05-31 15:27                         ` Ilias Apalodimas
2018-06-02 23:28           ` Grygorii Strashko
2018-06-03  0:08             ` Andrew Lunn
2018-06-05 21:18               ` Grygorii Strashko
2018-06-05 21:28                 ` Andrew Lunn
2018-06-05 21:42                   ` Grygorii Strashko
2018-06-05 21:55                     ` Andrew Lunn
2018-06-03  0:26             ` Andrew Lunn
2018-06-05 23:23               ` Grygorii Strashko
2018-06-05 23:49                 ` Andrew Lunn
2018-06-06  8:23                 ` Ivan Khoronzhuk [this message]
2018-06-03  0:37             ` Andrew Lunn
2018-06-05 21:31               ` Grygorii Strashko
2018-06-05 21:37                 ` Andrew Lunn
2018-06-03  0:49             ` Andrew Lunn
2018-06-05 22:45               ` Grygorii Strashko
2018-06-05 23:40                 ` Andrew Lunn
2018-06-01 21:29 ` Grygorii Strashko
2018-06-02 14:08   ` Andrew Lunn
2018-06-05 22:59     ` Grygorii Strashko
2018-06-05 23:53       ` Andrew Lunn
2018-06-06  6:42         ` Ilias Apalodimas

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=20180606082304.GA5346@khorivan \
    --to=ivan.khoronzhuk@linaro.org \
    --cc=andrew@lunn.ch \
    --cc=francois.ozog@linaro.org \
    --cc=grygorii.strashko@ti.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=ivecera@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=spatton@ti.com \
    --cc=yogeshs@ti.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).