Re: [PATCH net-next] net: bridge: add helper to call /sbin/bridge-stp

From: Stephen Hemminger
Date: Thu Sep 08 2016 - 20:58:54 EST


On Thu, 8 Sep 2016 12:50:43 -0400
Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> wrote:

> If /sbin/bridge-stp is available on the system, bridge tries to execute
> it instead of the kernel implementation when starting/stopping STP.
>
> If anything goes wrong with /sbin/bridge-stp, bridge silently falls back
> to kernel STP, making hard to debug userspace STP.
>
> This patch adds a br_stp_call_user helper to start/stop userspace STP
> and debug errors from the program: abnormal exit status is stored in the
> lower byte and normal exit status is stored in higher byte.
>
> Below is a simple example on a kernel with dynamic debug enabled:
>
> # ln -s /bin/false /sbin/bridge-stp
> # brctl stp br0 on
> br0: failed to start userspace STP (256)
> # dmesg
> br0: /sbin/bridge-stp exited with code 1
> br0: failed to start userspace STP (256)
> br0: using kernel STP
>
> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>

I understand that debugging STP is hard. But this solution looks like it
would break existing userspace because you changed an API.