MPTCPD(8)
π MPTCPD β the multipath TCP daemon, bestie edition π
okay so this is the manual page for mptcpd (that's section 8 of the System Management Commands manual, iykyk) and I am so excited to tell you about it because this little daemon is genuinely doing the most π
β¨ NAME β¨
mptcpd β multipath TCP daemon π¦
πΈ SYNOPSIS πΈ
mptcpd [-d?V] [-l DEST] [--debug] [--addr-flags=FLAGS]
[--notify-flags=FLAGS] [--plugin-dir=DIR] [--path-manager=PLUGIN]
[--load-plugins=PLUGINS] [--help] [--usage] [--log=DEST]
[--version]
π DESCRIPTION π
So mptcpd is a daemon for Linux based operating systems, and what it does is handle multipath TCP path management stuff β you know, multipath TCP, the thing from IETF RFC 8684 β but it does all of that in user space, not in the kernel. no cap.
The way it talks to the Linux kernel is through a generic netlink connection, and through that connection it:
- tracks per-connection information π
- keeps up with the available network interfaces π
- requests new MPTCP subflows π
- handles requests for subflows π
- etc. (yes the original says etc., we love an open-ended list) β¨
π OPTIONS π
mptcpd accepts the following command line options, and bestie, I'm listing every single one:
-d,--debugβ turn on debug log messages. the receipts, basically π-?,--helpβ show themptcpdhelp information--usageβ show the short-and-sweetmptcpdusage information-l DEST,--log=DESTβ send log output to DEST, where DEST can bestderr,syslogorjournalπ--addr-flags=FLAGSβ set the flags for the announced address, where FLAGS is a comma separated list holding one or more of the flagssubflow,signal,backup,fullmesh, andlaminar. these are the ones plugins that deal with the in-kernel path manager may use when advertising addresses. like, for example:
--addr-flags=subflow
--notify-flags=FLAGSβ the address notification flags, where FLAGS is a comma separated list holding one or more of these:existingβ notify plugins about the addresses that already exist at the momentmptcpdstarts up π±skip_link_localβ ignore (so, do not notify about)[ipv6]link local address updates πskip_loopbackβ ignore (so, do not notify about) host (loopback) address updates πcheck_routeβ only notify about an address if a default route is actually available from that address and the related device. if the route check fails, it gets re-done after a little timeout, which is there to let e.g.DHCPconfigure the host properly. heads up though: complex policy routing configuration may confuse or circumvent this check π
These flags decide whether mptcpd plugins get notified when the related addresses are updated. for example:
--notify-flags=existing,skip_link_local,skip_loopback,check_route
--plugin-dir=DIRβ set the plugin directory to DIR.
β οΈ DIR should not be world writable, for security reasons. periodt, don't do it π
--path-manager=PLUGINβ set the default path manager plugin to PLUGIN, which overrides plugin priorities π--load-plugins=PLUGINSβ set the plugins to load on startup, where PLUGINS is a comma separated list holding one or more plugin names π§-V,--versionβ show themptcpdversion information β
π FILES π
/etc/mptcpd/mptcpd.confβ the location of themptcpdsystem configuration file. that's where the vibes live π
π REPORTING BUGS π
Report bugs to mptcp@lists.linux.dev. fr fr, they want to hear about it π«Ά
π SEE ALSO π
ip-mptcp(8) β go read that one too bestie, it's giving related content β¨
and that's the whole page!! it's the Multipath TCP Daemon manual, dated 2022-08-19, from the MPTCPD(8) page, and honestly? iconic. go manage some paths, you main character π¦π
π¦ where this page comes from
- alpine 3.24: mptcpd-doc 0.14-r0 Β· BSD-3-Clause
- fedora 44: mptcpd 0.14-1.fc44 Β· GPL-2.0-or-later AND BSD-3-Clause
- fedora 44: mptcpd 0.14-1.fc44 Β· GPL-2.0-or-later AND BSD-3-Clause
- nixpkgs unstable: mptcpd 0.14
- ubuntu resolute: mptcpd 0.14-1 Β· BSD-3-Clause
- ubuntu stonking: mptcpd 0.14-2 Β· BSD-3-Clause
- π the page's license: BSD-3-Clause
- Copyright (c) 2017-2022, Intel Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms