RE: [PATCH net-next v19 01/13] rtase: Add pci table supported in this module

From: Larry Chiu
Date: Thu May 23 2024 - 23:03:49 EST



> On Thu, May 23, 2024 at 06:29:55AM +0000, Larry Chiu wrote:
> >
> > > > Thank you very much for your clear reply.
> > > >
> > > > As I mentioned, it works like a NIC connected to an Ethernet Switch,
> not a
> > > > Management port.
> > > > The packets from this GMAC are routed according to switch rules such
> as
> > > > ACL, L2, .... and it does not control packet forwarding through any
> special
> > > > header or descriptor. In this case, we have our switch tool which is
> used
> > > > for provisioning these rules in advance. Once the switch boots up, the
> > > > rules will be configured into the switch after the initialization. With this
> > > > driver and the provisioning by our switch tool, it can make switch
> forward
> > > > the frame as what you want. So it's not a DSA like device.
> > >
> > > How does spanning tree work? You need to send bridge PDUs out
> specific
> > > ports. Or do you not support STP and your network must never have
> > > loops otherwise it dies in a broadcast storm? That does not sound very
> > > reliable.
> > >
> > > There are other protocols which require sending packets out specific
> > > ports. Are they simply not supported?
> > >
> > This port is not a CPU port, nor a management port, and therefore does
> not
> > manage any protocols of the switch. These protocols are implemented by
> the
> > CPU inside the Ethernet switch core.
>
> So STP is on the switch CPU. Linux will run PTP as a leaf node, and
> rely on the switch also running PTP to manage PTP between the upstream
> port and the downstream port towards linux. IGMP snooping runs on the
> switch, and needs to listen to IGMP joins Linux sends out, etc.
>
Yes, STP, IGMP snooping, ... are working as you said. However, PTP may
have other special design to synchronize time with the other ports, and I
may not be able to explain in detail here.

> Do you have Linux running on the switch CPU? So you can reuse all the
> existing networking code and applications like ptp4l, or have the
> re-invented it all?
>
No, because this chip is used in automotive area and there are many safety and
security considerations. But AGL may be considered in the future.

> > This driver just service the transmit/receive packets for one port in the
> RTL90xx
> > with PCIe interface. Other programs that the switch needs to execute are
> > managed by the CPU inside the switch core.
>
> So you are following the 40 year old model, a cable to an external
> device. Just be aware, it is an external device. Your interface to it
> is SNMP, telnet, http. It is very unlikely a kernel driver will be
> allowed to communicate with the switch.
>
> Andrew

You are correct.
I think that is because it's not a CPU port, nor a management port.