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 user_stp 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

-d  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.

-s  Log to syslog(3) even when running in the foreground. Implied when daemonizing.

-v 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.

-V  Print the mstpd version and exit.

SIGNALS

SIGTERM, SIGINT, SIGHUP, SIGUSR2
    Shut down cleanly.

SIGUSR1
    Raise the log level to debug at runtime.

SIGPIPE
    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
-nosplit 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>