netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: piergiorgio.beruto@gmail.com
Cc: netdev@vger.kernel.org
Subject: Re: Adding IEEE802.3cg Clause 148 PLCA support to Linux
Date: Sun, 6 Nov 2022 00:40:32 +0100	[thread overview]
Message-ID: <Y2b0cK541R8qQrKf@lunn.ch> (raw)
In-Reply-To: <026701d8f13d$ef0c2800$cd247800$@gmail.com>

On Sat, Nov 05, 2022 at 06:42:10PM +0100, piergiorgio.beruto@gmail.com wrote:
> Hello,
> I would like to add IEEE 802.3cg-2019 PLCA support to Linux.

Could you recommend any introductory document? 802.3 can be heavy
going.

> 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.

Do the MAC and PHY need to negotiate this feature? Does the MAC need
to know if the PHY is PLCA capable? Ideally,
genphy_c45_pma_read_abilities() can determine if a PHY is PLCA
capable? And the MAC can then check the result of this and enable its
part of PLCA?

> In practice, what we need to do is configuring some additional
> parameters of the PHY: PLCA ID, TO_TIMER, NODE_COUNT, BURST.

Are these purely PHY configuration values? Is the MAC involved at all?

> 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)

Nice. But do the available PHYs actually follow this? Ideally you
should provide a set of helpers which implement these registers. But
you have to assume that silicon vendors will ignore the standard and
implement it differently. They often do. So the helpers are just
helpers, and the PHY driver needs to be able to implement these values
in there own way.

> The parameters I mentioned has to be configured dynamically.

How dynamically? And what is setting them? Do you see the need for a
user space daemon? Are values placed in /etc/network/interfaces?

Ethtool does seems like one option. But i would like to understand the
bigger picture before making a definitive answer.

       Andrew

  reply	other threads:[~2022-11-05 23:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-05 17:42 Adding IEEE802.3cg Clause 148 PLCA support to Linux piergiorgio.beruto
2022-11-05 23:40 ` Andrew Lunn [this message]
2022-11-06  1:39   ` piergiorgio.beruto
2022-11-06 17:08 ` Andrew Lunn
2022-11-06 18:11   ` piergiorgio.beruto
2022-11-06 19:05     ` Andrew Lunn
2022-11-07 12:32       ` Oleksij Rempel

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=Y2b0cK541R8qQrKf@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=netdev@vger.kernel.org \
    --cc=piergiorgio.beruto@gmail.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).