Subject: Re: [PATCH net-next 05/10] docs: bridge: add STP doc

From: Hangbin Liu <[email-masked]>
Date: Fri, 24 Nov 2023 22:01:24 +0800

Hi Nikolay,

On Fri, Nov 24, 2023 at 03:18:19PM +0200, Nikolay Aleksandrov wrote:
> On 11/21/23 05:02, Hangbin Liu wrote:
> > On Mon, Nov 20, 2023 at 01:39:47PM +0200, Vladimir Oltean wrote:
> > > On Fri, Nov 17, 2023 at 05:31:40PM +0800, Hangbin Liu wrote:
> > > > +STP
> > > > +===
> > > 
> > > I think it would be very good to say a few words about the user space
> > > STP helper at /sbin/bridge-stp, and that the kernel only has full support
> > > for the legacy STP, whereas newer protocols are all handled in user
> > > space. But I don't know a lot of technical details about it, so I would
> > > hope somebody else chimes in with a paragraph inserted here somewhere :)
> > 
> > Hmm, I google searched but can't find this tool. Nikolay, is this tool still
> > widely used? Do you know where I can find the source code/doc of it?
> > 
> > Thanks
> > Hangbin
> 
> Man.. you're documenting the bridge, please check its source code and
> you'll have your answer. "bridge-stp" is not a single tool, rather than

Thanks for your reply. I'm not very familiar with the bridge STP part. The
#define BR_STP_PROG     "/sbin/bridge-stp"
mislead me to think that the bridge-stp is a userspace tool..

> a device for the bridge to start/stop user-space stp when requested.
> As an example here's the first google result:
> https://github.com/mstpd/mstpd/blob/master/bridge-stp.in

Last time I just searched bridge-stp and didn't find any useful result.
This time with "sbin/bridge-stp" I saw the doc you pointed. Thanks for your
reference.

So for the STP part, How about add a paragraph like:

The user space STP helper *bridge-stp* is a program to control whether to use
user mode spanning tree. The `/sbin/bridge-stp <bridge> <start|stop>` is
called by the kernel when STP is enabled/disabled on a bridge
(via `brctl stp <bridge> <on|off>` or `ip link set <bridge> type bridge
stp_state <0|1>`).  The kernel enables user_stp mode if that command returns
0, or enables kernel_stp mode if that command returns any other value.

Thanks
Hangbin