Re: [PATCH net-next v6 06/12] net: pse-pd: Add support for budget evaluation strategies

From: Kory Maincent
Date: Tue Mar 25 2025 - 11:29:05 EST


On Tue, 25 Mar 2025 06:34:17 +0100
Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote:

> Hi,
>
> On Mon, Mar 24, 2025 at 05:33:18PM +0000, Kyle Swenson wrote:
> > Hello Kory,
> >
> > On Mon, Mar 24, 2025 at 05:39:07PM +0100, Kory Maincent wrote:
> > > Hello Kyle, Oleksij,
> > ...
> > >
> > > Small question on PSE core behavior for PoE users.
> > >
> > > If we want to enable a port but we can't due to over budget.
> > > Should we :
> > > - Report an error (or not) and save the enable action from userspace. On
> > > that case, if enough budget is available later due to priority change or
> > > port disconnected the PSE core will try automatically to re enable the
> > > PoE port. The port will then be enabled without any action from the user.
> > > - Report an error but do nothing. The user will need to rerun the enable
> > > command later to try to enable the port again.
> > >
> > > How is it currently managed in PoE poprietary userspace tools?
> >
> > So in our implementation, we're using the first option you've presented.
> > That is, we save the enable action from the user and if we can't power
> > the device due to insufficient budget remaining, we'll indicate that status
> > to the user. If enough power budget becomes available later, we'll power up
> > the device automatically.
>
> It seems to be similar to administrative UP state - "ip link set dev lan1 up".
> I'm ok with this behavior.

Ack I will go for it then, thank you!

Other question to both of you:
If we configure manually the current limit for a port. Then we plug a Powered
Device and we detect (during the classification) a smaller current limit
supported. Should we change the current limit to the one detected. On that case
we should not let the user set a power limit greater than the one detected after
the PD has been plugged.

What do you think? Could we let a user burn a PD?

Regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com