Re: [PATCH net-next 2/9] ethtool: Expand Ethernet Power Equipment with PoE alongside PoDL

Köry Maincent
2023-11-21T10:02:19Z

On Mon, 20 Nov 2023 19:00:03 +0100
Andrew Lunn <andrew@lunn.ch> wrote:

> > Official name for "PoE" is "Power via Media Dependent Interface". PoE is
> > not used in the IEEE 802.3-2018. Using names not used in the specification,
> > make development even harder :)
> > Especially since there are even more marketing names (names not used in the
> > specification) for different PoE variants:
> > - 802.3af (802.3at Type 1), PoE
> > - 802.3at Type 2, PoE+
> > - 802.3bt Type 3, 4PPoE or PoE++
> > - 802.3bt Type 4, 4PPoE or PoE++
>
> From the 2018 standard:
>
> 1.4.407 Power Sourcing Equipment (PSE): A DTE or midspan device that
> provides the power to a single link section. PSEs are defined for
> use with two different types of balanced twisted-pair PHYs. When
> used with 2 or 4 pair balanced twisted-pair (BASE-T) PHYs, (see IEEE
> Std 802.3, Clause 33), DTE powering is intended to provide a single
> 10BASE-T, 100BASE-TX, or 1000BASE-T device with a unified interface
> for both the data it requires and the power to process these
> data. When used with single balanced twisted-pair (BASE-T1) PHYs
> (see IEEE Std 802.3, Clause 104), DTE powering is intended to
> provide a single 100BASE-T1 or 1000BASE-T1 device with a unified
> interface for both the data it requires and the power to process
> these data. A PSE used with balanced single twisted-pair PHYs is
> also referred to as a PoDL PSE.
>
> So it seems like, anything not PoDL PSE does not have a name :-(
>
> However, everything not PoDL PSE seems to be clause 33. So how about:
>
> enum ethtool_podl_pse_admin_state podl_admin_control;
> enum ethtool_c33_pse_admin_state c33_admin_control;
>
> At least inside the kernel we use c22, c45, c37 etc. I'm not sure they
> are visible to userspace, but if we don't have a better name, maybe we
> have to use c33 in userspace as well.
>
> I do think naming like this makes it clear we are talking about two
> parallel technologies, not a generic layer and then extensions for
> podl.
>
> What do you think?

If we decide to add a prefix, "c33" is precise but less easily understandable,
why not using simply "poe" prefix?
Maybe as POE were originally PMDI you prefer to use c33 which won't change over
time?

Should I also modify the content of the enum?
ETHTOOL_PSE_ADMIN_STATE_* to ETHTOOL_C33_PSE_ADMIN_*
ETHTOOL_PSE_PW_D_STATUS_* to ETHTOOL_C33_PSE_PW_D_STATUS_*

--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering