public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Vinicius Costa Gomes <vinicius.gomes@intel•com>
To: PO LIU <po.liu@nxp•com>,
	"netdev\@vger.kernel.org" <netdev@vger•kernel.org>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger•kernel.org>
Cc: "davem\@davemloft.net" <davem@davemloft•net>,
	"haustad\@cisco.com" <haustad@cisco•com>,
	"nicolas.ferre\@microchip.com" <nicolas.ferre@microchip•com>,
	"gregkh\@linuxfoundation.org" <gregkh@linuxfoundation•org>,
	Mingkai Hu <mingkai.hu@nxp•com>, Roy Zang <roy.zang@nxp•com>
Subject: RE: [PATCH] net: tsn: add an netlink interface between kernel and application layer
Date: Wed, 02 Jan 2019 11:01:41 -0800	[thread overview]
Message-ID: <87k1jm51ey.fsf@intel.com> (raw)
In-Reply-To: <VI1PR04MB51359EB3614797A89185C9D292B00@VI1PR04MB5135.eurprd04.prod.outlook.com>

Hi Po Liu,

PO LIU <po.liu@nxp•com> writes:

> Hi Vinicius,
>
> Thank you very much for your feedback.
>
> I know the CBS is used to be most important part of AVB. And qdiscs is good tool to configure qos. 
>
> But as you know, the TSN family is a cluster of protocols and much extending the AVB. The protocols have different  functionalities and they may have more than hundred  parameters. For example NXP ls1028a support Qbv/Qci/Qbu/Qav and also the 8021CB (not included in this patch yet).
>
> Some protocols target to configure the traffic class(like Qav CBS).
> Some to config the port(like Qbv). But some for the whole ethernet
> controller(like Qci, the control entries for the whole controller,
> which input ports and which output ports).

Reading your email, now I understand your point a little better. You are
interested in multi-port devices. I admit that I am not too familiar
with how multi-port devices are exposed in Linux, I was only focused on
the end-station use cases, until now.

>
> So I do think all the TSN configuration should not mix in the ethernet
> driver itself. I mean the driver should separate a xxx_tsn.c(for I210,
> may igb_tsn.c) to maintain the tsn operations.

> As far as using qdiscs or the interface of generic netlink. I think
> both could configuring the TSN protocols interface layer. Just what I
> provided the patch net/tsn/genl_tsn.c. But I do believe it is better
> using a standalone TSN middle layer to maintain the TSN capability
> ports. Because the TSN ports include not only the end station and also
> the switch. LS1028 is such a kind of device.

I think this is the "interesting" part of the discussion. From my point
of view the question now is:

"We already have an acceptable way to expoose TSN features for end
stations. What can we do for multi-port devices?"

What are the options here? From a quick look, it seems that extending
switchdev is a possible solution. What else?

Thinking a little more, if all the ports have netdevices associated with
them, then it could be that exposing those features via qdiscs could be
considered still. Perhaps taking a look at how tc-flower offloading is
done can give some ideas.

And about the process, usually when a new interface is proposed, the
patches are directed to net-next and have the RFC tag, so the readers
(and their tools) know what to expect.

>
> And your advises are precious for us. Let's make out an easy and
> flexible interface for TSN.
>
> Br,
> Po Liu
>

Cheers,
--
Vinicius

  reply	other threads:[~2019-01-02 19:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1545968772-7237-1-git-send-email-Po.Liu@nxp.com>
2018-12-28  3:49 ` [PATCH] net: tsn: add an netlink interface between kernel and application layer PO LIU
2018-12-28 19:29   ` Vinicius Costa Gomes
2018-12-29  1:59     ` PO LIU
2019-01-02 19:01       ` Vinicius Costa Gomes [this message]
2019-01-03  3:10         ` Po Liu
2019-01-03  9:16         ` Ilias Apalodimas
2019-01-03 10:09           ` Po Liu
2019-01-03 11:38             ` Ilias Apalodimas
2019-01-04  9:01               ` Po Liu
2019-01-04  9:19                 ` 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=87k1jm51ey.fsf@intel.com \
    --to=vinicius.gomes@intel$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=gregkh@linuxfoundation$(echo .)org \
    --cc=haustad@cisco$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=mingkai.hu@nxp$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=nicolas.ferre@microchip$(echo .)com \
    --cc=po.liu@nxp$(echo .)com \
    --cc=roy.zang@nxp$(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