ip-mptcp (8) - Linux Manuals

ip-mptcp: MPTCP path manager configuration


ip-mptcp - MPTCP path manager configuration


ip [ OPTIONS ] mptcp { endpoint | limits | help }

ip mptcp endpoint add IFADDR [ port PORT ] [ dev IFNAME ] [ id ID ] [ FLAG-LIST ]

ip mptcp endpoint del id ID

ip mptcp endpoint show [ id ID ]

ip mptcp endpoint flush


FLAG := [ signal | subflow | backup ]

ip mptcp limits set [ subflow SUBFLOW_NR ] [ add_addr_accepted ADD_ADDR_ACCEPTED_NR ]

ip mptcp limits show

ip mptcp monitor


MPTCP is a transport protocol built on top of TCP that allows TCP connections to use multiple paths to maximize resource usage and increase redundancy. The ip-mptcp sub-commands allow configuring several aspects of the MPTCP path manager, which is in charge of subflows creation:

The endpoint object specifies the IP addresses that will be used and/or announced for additional subflows:

ip mptcp endpoint addadd new MPTCP endpoint
ip mptcp endpoint deletedelete existing MPTCP endpoint
ip mptcp endpoint showget existing MPTCP endpoint
ip mptcp endpoint flushflush all existing MPTCP endpoints

When a port number is specified, incoming MPTCP subflows for already established MPTCP sockets will be accepted on the specified port, regardless the original listener port accepting the first MPTCP subflow and/or this peer being actually on the client side.

ID is a unique numeric identifier for the given endpoint

the endpoint will be announced/signalled to each peer via an ADD_ADDR MPTCP sub-option

if additional subflow creation is allowed by MPTCP limits, the endpoint will be used as the source address to create an additional subflow after that the MPTCP connection is established.

the endpoint will be announced as a backup address, if this is a signal endpoint, or the subflow will be created as a backup one if this is a subflow endpoint

The limits object specifies the constraints for subflow creations:

ip mptcp limits showget current MPTCP subflow creation limits
ip mptcp limits setchange the MPTCP subflow creation limits

specifies the maximum number of additional subflows allowed for each MPTCP connection. Additional subflows can be created due to: incoming accepted ADD_ADDR option, local subflow endpoints, additional subflows started by the peer.

specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP connection. The MPTCP path manager will try to create a new subflow for each accepted ADD_ADDR option, respecting the SUBFLOW_NR limit.

monitor displays creation and deletion of MPTCP connections as well as addition or removal of remote addresses and subflows.


Original Manpage by Paolo Abeni <pabeni [at] redhat.com>