table of contents
| BRIDGE-STP(8) | System Manager's Manual | BRIDGE-STP(8) |
NAME¶
bridge-stp —
kernel helper script that drives mstpd for Linux
bridges
SYNOPSIS¶
bridge-stp |
bridge start |
stop |
bridge-stp |
restart |
restart_config |
DESCRIPTION¶
bridge-stp is the kernel STP helper script
for mstpd(8). The Linux kernel runs
/usr/sbin/bridge-stp bridge
start when STP is enabled on a bridge (via
brctl stp bridge
on or ip link set
bridge type bridge stp_state
1), and /usr/sbin/bridge-stp
bridge stop when STP is
disabled. If the script exits 0, the kernel switches
the bridge into
user_stp
mode and lets mstpd(8) drive port states; if it exits
non-zero, the kernel falls back to its built-in STP implementation.
On start,
bridge-stp verifies that the bridge is listed in
MSTP_BRIDGES, spawns mstpd(8) if it
is not already running, and asynchronously calls mstpctl
addbridge bridge. On
stop, it removes the bridge from the daemon and
terminates mstpd(8) if no other bridges are still using
it.
bridge-stp must not be invoked directly
with the start or stop
arguments (the kernel does that); calling them by hand can deadlock the
bridge code, because this script is forbidden from making bridge
configuration changes (via brctl,
ifconfig, ip,
/sys/...) on the kernel-driven code paths.
The restart and
restart_config forms are intended for direct use by
the administrator and are also exposed under shorter names:
- mstp_restart(8)
- equivalent to
bridge-stprestart. - /usr/lib/mstpctl-utils/mstpctl_restart_config
- equivalent to
bridge-stprestart_config.
COMMANDS¶
- bridge
start - Called by the kernel when user-space STP is enabled on bridge. Starts mstpd(8) if necessary and attaches bridge to it.
- bridge
stop - Called by the kernel when user-space STP is disabled on bridge. Detaches bridge from mstpd(8) and stops the daemon if it is no longer needed.
restart- Stop mstpd(8) if it is running, start a fresh instance, then re-add and reconfigure every bridge that is currently in user_stp mode and listed in MSTP_BRIDGES.
restart_config- Re-add and reconfigure every bridge that is currently in user_stp mode and listed in MSTP_BRIDGES, without restarting mstpd(8). Use after editing per-bridge configuration.
CONFIGURATION¶
bridge-stp sources
/etc/bridge-stp.conf on every invocation. The
following shell variables are recognised:
- MANAGE_MSTPD
y(the default) to letbridge-stpstart and stop mstpd(8) on demand;nto require that mstpd(8) already be running.- MSTPD_ARGS
- Extra arguments passed to mstpd(8) when it is started,
e.g.
-v 2. - MSTP_BRIDGES
- Space-separated list of bridges for which MSTP should replace the kernel's built-in STP. If empty (the default), every bridge is eligible.
- LOGGER
- Command used to log error messages. Default:
logger -t bridge-stp -s. Set to the empty string to log only to standard error. - config_cmd
- Per-bridge configuration command invoked by
restartandrestart_configas$config_cmdbridge. Defaults to /usr/lib/mstpctl-utils/mstp_config_bridge.
FILES¶
- /usr/sbin/bridge-stp
- The script itself. The kernel invokes it as /sbin/bridge-stp, which on Debian resolves to this path via the /sbin → /usr/sbin compatibility symlink.
- /etc/bridge-stp.conf
- Configuration file.
- /sys/class/net/bridge/bridge/stp_state
- Per-bridge STP state used to decide whether a bridge is currently in
user_stp mode (value
2). - /var/run/mstpd.pid
- PID file written by mstpd(8).
EXIT STATUS¶
0- Success.
1- Bad usage, missing root privileges, or bridge is not a bridge.
2- mstpctl(8) or mstpd(8) binaries are missing or not executable.
3- mstpd(8) or mstpctl(8) failed.
10- bridge is not listed in
MSTP_BRIDGES and was therefore ignored (returned
only on
start).
EXAMPLES¶
Hand a specific bridge over to mstpd(8):
# ip link set br0 type bridge
stp_state 1Reload per-bridge configuration without restarting the daemon:
# bridge-stp
restart_configRestart mstpd(8) and reconfigure every bridge using it:
# mstp_restartSEE ALSO¶
mstpctl-utils-interfaces(5), brctl(8), ip(8), mstp_restart(8), mstpctl(8), mstpd(8)
AUTHORS¶
bridge-stp ships as part of
mstpd(8), written by Vitalii
Demianets
<dvitasgs@gmail.com>
and others.
This manual page was written by Nadzeya Hutsko <nadzeya@debian.org>
| April 28, 2026 | Nixpkgs |