{
    "mode": "man",
    "parameter": "IP-MPTCP",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/IP-MPTCP/8/json",
    "generated": "2026-10-22T13:23:11Z",
    "synopsis": "ip [ OPTIONS ] mptcp { endpoint  | limits  | help  }\nip mptcp endpoint add IFADDR [ port PORT ] [ dev IFNAME ] [ id ID ] [ FLAG-LIST ]\nip mptcp endpoint delete id ID [ IFADDR ]\nip mptcp endpoint change [ id ID ] [ IFADDR ] [ port PORT ] CHANGE-OPT\nip mptcp endpoint show [ id ID ]",
    "sections": {
        "NAME": {
            "content": "ip-mptcp - MPTCP path manager configuration\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "ip [ OPTIONS ] mptcp { endpoint  | limits  | help  }\n\n\nip mptcp endpoint add IFADDR [ port PORT ] [ dev IFNAME ] [ id ID ] [ FLAG-LIST ]\n\nip mptcp endpoint delete id ID [ IFADDR ]\n\nip mptcp endpoint change [ id ID ] [ IFADDR ] [ port PORT ] CHANGE-OPT\n\nip mptcp endpoint show [ id ID ]\n",
            "subsections": [
                {
                    "name": "ip mptcp endpoint flush",
                    "content": "FLAG-LIST := [ FLAG-LIST ] FLAG\n\nFLAG := [ signal | subflow | backup | fullmesh ]\n\nCHANGE-OPT := [ backup | nobackup | fullmesh | nofullmesh ]\n\nip mptcp limits set [ subflow SUBFLOWNR ] [ addaddraccepted ADDADDRACCEPTEDNR ]\n"
                },
                {
                    "name": "ip mptcp limits show",
                    "content": ""
                },
                {
                    "name": "ip mptcp monitor",
                    "content": ""
                }
            ]
        },
        "DESCRIPTION": {
            "content": "MPTCP is a transport protocol built on top of TCP that allows TCP connections to use multiple\npaths to maximize resource usage and increase redundancy. The ip-mptcp sub-commands allow\nconfiguring several aspects of the MPTCP path manager, which is in charge of subflows cre‐\nation:\n\n\nThe endpoint object specifies the IP addresses that will be used and/or announced for addi‐\ntional subflows:\n\nip mptcp endpoint add      add new MPTCP endpoint\nip mptcp endpoint delete   delete existing MPTCP endpoint\nip mptcp endpoint show     get existing MPTCP endpoint\nip mptcp endpoint flush    flush all existing MPTCP endpoints\n\n\nIFADDR An IPv4 or IPv6 address. When used with the delete id operation, an IFADDR is only in‐\ncluded when the ID is 0.\n\n\nPORT   When a port number is specified, incoming MPTCP subflows for already established MPTCP\nsockets  will be accepted on the specified port, regardless the original listener port\naccepting the first MPTCP subflow and/or this peer being actually on the client side.\n\n\nID     is a unique numeric identifier for the given endpoint\n\n\nsignal The endpoint will be announced/signaled to each peer via an MPTCP ADDADDR sub-option.\nUpon reception of an ADDADDR sub-option, the peer can try to create  additional  sub‐\nflows, see ADDADDRACCEPTEDNR.\n\n",
            "subsections": [
                {
                    "name": "subflow",
                    "content": "If  additional subflow creation is allowed by the MPTCP limits, the MPTCP path manager\nwill try to create an additional subflow using this endpoint as the source address af‐\nter the MPTCP connection is established.\n\n\nbackup If this is a subflow endpoint, the subflows created using this endpoint will have  the\nbackup  flag  set  during the connection process. This flag instructs the peer to only\nsend data on a given subflow when all non-backup subflows are unavailable.  This  does\nnot  affect  outgoing  data,  where  subflow priority is determined by the backup/non-\nbackup flag received from the peer\n\n"
                },
                {
                    "name": "fullmesh",
                    "content": "If this is a subflow endpoint and additional subflow creation is allowed by the  MPTCP\nlimits, the MPTCP path manager will try to create an additional subflow for each known\npeer  address,  using  this  endpoint as the source address. This will occur after the\nMPTCP connection is established. If the peer did not announce any additional addresses\nusing the MPTCP ADDADDR sub-option, this will behave the same as a plain subflow end‐\npoint. When the peer does announce addresses, each received ADDADDR  sub-option  will\ntrigger creation of an additional subflow to generate a full mesh topology.\n\n\n\nThe limits object specifies the constraints for subflow creations:\n\nip mptcp limits show   get current MPTCP subflow creation limits\nip mptcp limits set    change the MPTCP subflow creation limits\n\n\nSUBFLOWNR\nspecifies the maximum number of additional subflows allowed for each MPTCP connection.\nAdditional  subflows can be created due to: incoming accepted ADDADDR sub-option, lo‐\ncal subflow endpoints, additional subflows started by the peer.\n\n\nADDADDRACCEPTEDNR\nspecifies the maximum number of incoming ADDADDR sub-options accepted for each  MPTCP\nconnection.  After  receiving  the specified number of ADDADDR sub-options, any other\nincoming one will be ignored for the MPTCP connection lifetime. When an ADDADDR  sub-\noption  is  accepted and there are no local fullmesh endpoints, the MPTCP path manager\nwill try to create a new subflow using the address in the ADDADDR sub-option  as  the\ndestination  address  and  a  source address determined using local routing resolution\nWhen fullmesh endpoints are available, the MPTCP path manager will try to  create  new\nsubflows  using each fullmesh endpoint as a source address and the peer's ADDADDR ad‐\ndress as the destination.  In both cases the SUBFLOWNR limit is enforced.\n\n\n\nmonitor displays creation and deletion of MPTCP connections as well as addition or removal of\nremote addresses and subflows.\n\n"
                }
            ]
        },
        "AUTHOR": {
            "content": "Original Manpage by Paolo Abeni <pabeni@redhat.com>\n\niproute2                                     4 Apr 2020                                  IP-MPTCP(8)",
            "subsections": []
        }
    },
    "summary": "ip-mptcp - MPTCP path manager configuration",
    "flags": [],
    "examples": [],
    "see_also": []
}