Scroll to navigation

MSTPD(8) System Manager's Manual MSTPD(8)

NAME

mstpd — Multiple Spanning Tree Protocol daemon

SYNOPSIS

mstpd [-d] [-s] [-v level]
mstpd -V

DESCRIPTION

mstpd is a user-space daemon that implements the IEEE 802.1D-2004 STP, the IEEE 802.1D-2004 RSTP and the IEEE 802.1Q-2005 MSTP variants of the Spanning Tree Protocol for Linux bridges. It replaces the in-kernel STP implementation by running the bridge in mode and translates the resulting CIST port states back to the kernel bridge.

mstpd relies on the bridge-stp(8) helper script, which the kernel invokes whenever STP is enabled or disabled on a bridge (via brctl stp bridge on / off or ip link set bridge type bridge stp_state 0|1), to start, stop and attach bridges to the running daemon. Once started, mstpd is configured at runtime through mstpctl(8).

The MSTP code path is largely untested and is not recommended for production use; the STP and RSTP code paths are well exercised and pass the IXIA ANVL RSTP test suite (with the exception of looped-back BPDUs).

By default, mstpd forks into the background, writes its PID to /var/run/mstpd.pid, and logs through syslog(3) under the daemon facility.

OPTIONS

Do not daemonize. mstpd stays in the foreground and logs to standard output instead of syslog(3), unless -s is also given. Useful for debugging and for running under a service supervisor.
Log to syslog(3) even when running in the foreground. Implied when daemonizing.
level
Set the log verbosity. level is an integer: 0 silences all output, 1 prints errors only, 2 (the default) adds informational messages, and 3 adds debug traces. Higher values up to 100 are accepted but produce no additional detail.
Print the mstpd version and exit.

SIGNALS

, SIGINT, SIGHUP, SIGUSR2
Shut down cleanly.
Raise the log level to debug at runtime.
Ignored.

FILES

/var/run/mstpd.pid
PID file written when running as a daemon.
/etc/bridge-stp.conf
Configuration file read by bridge-stp(8); controls whether mstpd is started automatically and which arguments are passed to it.

mstpctl(8) talks to the daemon over a Linux abstract Unix-domain socket (AF_UNIX name \0.mstp_server), not over a socket file in the filesystem.

EXIT STATUS

mstpd exits 0 on a clean shutdown and non-zero on a fatal error (failure to daemonize, to create the PID file, to open the control socket, or to attach to netlink(7)).

EXAMPLES

Run in the foreground with debug logging, for troubleshooting:

# mstpd -d -v 4

Enable user-space STP on a bridge so that the kernel hands control to mstpd through bridge-stp(8):

# ip link set br0 type bridge stp_state 1

Inspect the running daemon's view of a bridge:

# mstpctl showbridge br0

SEE ALSO

mstpctl-utils-interfaces(5), brctl(8), bridge-stp(8), ip(8), mstp_restart(8), mstpctl(8)

STANDARDS

IEEE Std 802.1D-2004, Media Access Control (MAC) Bridges. IEEE Std 802.1Q-2005, Virtual Bridged Local Area Networks.

AUTHORS

mstpd was written by Srinivas Aji <Aji_Srinivas@emc.com> and Vitalii Demianets <dvitasgs@gmail.com>, with contributions from many others.

This manual page was written by Nadzeya Hutsko <nadzya.info@gmail.com>

April 28, 2026 Nixpkgs