/*
  SPDX-License-Identifier: BSD-3-Clause
  Copyright (c) 2017-2020, Intel Corporation
*/

/**
 * @mainpage @c mptcpd Code Documentation
 *
 * The Multipath TCP Daemon - `mptcpd` - is a daemon for Linux based
 * operating systems that performs [multipath
 * TCP](https://www.rfc-editor.org/rfc/rfc8684.html) [path
 * management](https://www.rfc-editor.org/rfc/rfc8684.html#section-3.4)
 * related operations in the user space.  It interacts with the Linux
 * kernel through a generic netlink connection to track per-connection
 * information (e.g. available remote addresses), available network
 * interfaces, request new MPTCP subflows, handle requests for
 * subflows, etc.
 *
 * By default, this daemon will load the `addr_adv` plugin, which will
 * add MPTCP endpoints with the `subflow` flag ("client" mode) for the
 * default in-kernel path-manager. Note that this is something
 * [NetworkManager 1.40 or newer](https://networkmanager.dev/blog/networkmanager-1-40/#mptcp-support)
 * does by default. Having several daemons configuring the MPTCP
 * endpoints at the same time should be avoided. This daemon is usually
 * recommended when NetworkManager 1.40 or newer is not available, or
 * when advanced per-connection path management is needed, using the
 * userspace path-manager and a custom made
 * [plugin](https://github.com/multipath-tcp/mptcpd/wiki/Plugins) using
 * the C API that is described here.
 *
 * To change this behavior, with NetworkManager, look for the
 * `connection.mptcp-flags` option in the
 * [settings](https://networkmanager.dev/docs/api/latest/nm-settings-nmcli.html#nm-settings-nmcli.property.connection.mptcp-flags),
 * while for `mptcpd`, look at the `/etc/mptcpd/mptcpd.conf` config
 * file, or disable the service if it is not needed. Make sure not to
 * have both NetworkManager and `mptcpd` conflicting to configure the
 * MPTCP endpoints.
 *
 * @see Additional higher level documentation is available in the
 *      [`mptcpd` Wiki](https://github.com/multipath-tcp/mptcpd/wiki/Plugins).
 */

/*
  Local Variables:
  mode: c
  c-file-style: "linux"
  End:
*/
