Subject: Adding IEEE802.3cg Clause 148 PLCA support to Linux

From: <[email-masked]>
Date: Sat, 5 Nov 2022 18:42:10 +0100

Hello,
I would like to add IEEE 802.3cg-2019 PLCA support to Linux.
PLCA (Physical Layer Collision Avoidance) is an enhanced media-access protocol for multi-drop networks, and it is currently specified for the 10BASE-T1S PHY defined in Clause 147 of the same standard.
This feature is fully integrated into PHY and MACPHY implementations such as the onsemi NCN26010 and Microchip LAN867x, which are available on the market.
And, I am the inventor of the PLCA protocol 😊.

I am writing here because I am seeking advice on what is the best way forward.
In practice, what we need to do is configuring some additional parameters of the PHY: PLCA ID, TO_TIMER, NODE_COUNT, BURST.
The PHY registers for PLCA configuration are further documented in the OPEN alliance SIG public specifications (see https://www.opensig.org/about/specifications/ -> PLCA Management Registers)

The parameters I mentioned has to be configured dynamically. Therefore, I think we should not use module parameters or static DT configurations.
Based on my personal experience, It looks to me that extending ethtool is the way to go. Maybe we should consider those as “tunables”?

I am really interested to hear the opinion of the relevant Linux network experts on this topic.

Kind Regards,
Piergiorgio