RE: [PATCH] net: tsn: add an netlink interface between kernel and application layer

From: Po Liu
Date: Thu Jan 03 2019 - 05:09:48 EST

Hi Ilias,

Po Liu

> -----Original Message-----
> From: Ilias Apalodimas [mailto:ilias.apalodimas@xxxxxxxxxx]
> Sent: 2019年1月3日 17:16
> To: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
> Cc: Po Liu <po.liu@xxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; haustad@xxxxxxxxx;
> nicolas.ferre@xxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; Mingkai Hu
> <>; Roy Zang <roy.zang@xxxxxxx>
> Subject: Re: [PATCH] net: tsn: add an netlink interface between kernel and
> application layer
> Hi Po,
> > > 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.
> Have you considered a switchdev-based driver for multi-port devices?
[Po] Yes, the patch is including the switchdev-based driver. In fact, we have driver examples for ls1028 which include end-station IP and switch ports IP, with this interface driver, it is working. But we need to add base ethernet driver of ENETC(end station) and FELIX(switch) upstream first, then add the TSN driver upstream.

> What you ask of TSN configuration is currently doable with switch switchdev
> for VLANs and other similar networking functionality.
[Po] I think the VLAN configure is not conflict with the TSN. TSN is extending the 8021Q. TSN configure the setting of filter frame or scheduling between TC. But maybe need to consider as whole as you said.
> Instead of rewriting this from scratch, we not extend the currect TC and
> switchdev functionality for that ?

[Po] Ya, there are operations of switchdev. You may think that to add the TSN configurations ops into switchdev operations. But we need to consider the end-station devices and switch all in the devices or in the TSN domain. The TSN domain is the devices include TSN capabilities ports, for up layer, we need to provide a formal interface. So tsn configure can be standalone.
In this patch, we treat two kinds of ports when registering the ports, end-station or switch. This may treat them in some minor differences in TSN spec and drivers.

> Regards
> /Ilias