MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: sanbercountryclu (1012)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/share/doc/ynl/mptcp_pm.rst
.. LINENO 2

.. SPDX-License-Identifier: GPL-2.0
.. NOTE: This document was auto-generated.


.. _netlink-mptcp_pm:


=========================================
Family ``mptcp_pm`` netlink specification
=========================================


.. contents:: :depth: 3


-------
Summary
-------


Multipath TCP.

----------
Operations
----------


.. LINENO 272

.. _mptcp_pm-operation-unspec:

unspec
======
unused

:value: 0


.. LINENO 276

.. _mptcp_pm-operation-add-addr:

add-addr
========
Add endpoint

:attribute-set: :ref:`mptcp_pm-attribute-set-endpoint`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 281

    **request**
        :attributes: [``addr``]



.. LINENO 286

.. _mptcp_pm-operation-del-addr:

del-addr
========
Delete endpoint

:attribute-set: :ref:`mptcp_pm-attribute-set-endpoint`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 281

    **request**
        :attributes: [``addr``]



.. LINENO 293

.. _mptcp_pm-operation-get-addr:

get-addr
========
Get endpoint information

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:do:
.. LINENO 297

    **request**
        :attributes: [``addr``, ``token``]

    **reply**
        :attributes: [``addr``]

:dump:
.. LINENO 306

    **reply**
        :attributes: [``addr``]



.. LINENO 310

.. _mptcp_pm-operation-flush-addrs:

flush-addrs
===========
flush addresses

:attribute-set: :ref:`mptcp_pm-attribute-set-endpoint`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 281

    **request**
        :attributes: [``addr``]



.. LINENO 317

.. _mptcp_pm-operation-set-limits:

set-limits
==========
Set protocol limits

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 322

    **request**
        :attributes: [``rcv-add-addrs``, ``subflows``]



.. LINENO 328

.. _mptcp_pm-operation-get-limits:

get-limits
==========
Get protocol limits

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:do:
.. LINENO 332

    **request**
        :attributes: [``rcv-add-addrs``, ``subflows``]

    **reply**
        :attributes: [``rcv-add-addrs``, ``subflows``]



.. LINENO 342

.. _mptcp_pm-operation-set-flags:

set-flags
=========
Change endpoint flags

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 347

    **request**
        :attributes: [``addr``, ``token``, ``addr-remote``]



.. LINENO 354

.. _mptcp_pm-operation-announce:

announce
========
announce new sf

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 359

    **request**
        :attributes: [``addr``, ``token``]



.. LINENO 365

.. _mptcp_pm-operation-remove:

remove
======
announce removal

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 371

    **request**
        :attributes: [``token``, ``loc-id``]



.. LINENO 376

.. _mptcp_pm-operation-subflow-create:

subflow-create
==============
todo

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 381

    **request**
        :attributes: [``addr``, ``token``, ``addr-remote``]



.. LINENO 388

.. _mptcp_pm-operation-subflow-destroy:

subflow-destroy
===============
todo

:attribute-set: :ref:`mptcp_pm-attribute-set-attr`
:dont-validate: ['strict']
:flags: [``uns-admin-perm``]
:do:
.. LINENO 381

    **request**
        :attributes: [``addr``, ``token``, ``addr-remote``]




-----------
Definitions
-----------


.. LINENO 14

.. _mptcp_pm-definition-event-type:

event-type
==========
:type: enum
:enum-name: mptcp-event-type
:name-prefix: mptcp-event-


:entries:
    :unspec: unused event
    :created: A new MPTCP connection has been created. It is the good time to allocate memory and send ADD_ADDR if needed. Depending on the traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED is sent. Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport, server-side, [flags].
    :established: A MPTCP connection is established (can start new subflows). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport, server-side, [flags].
    :closed: A MPTCP connection has stopped. Attribute: token.
    :announced: A new address has been announced by the peer. Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
    :removed: An address has been lost by the peer. Attributes: token, rem_id.
    :sub-established: A new subflow has been established. 'error' should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error].
    :sub-closed: A subflow has been closed. An error (copy of sk_err) could be set if an error has been detected for this subflow. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error].
    :sub-priority: The priority of a subflow has changed. 'error' should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error].
    :listener-created: A new PM listener is created. Attributes: family, sport, saddr4 | saddr6.
    :listener-closed: A PM listener is closed. Attributes: family, sport, saddr4 | saddr6.



--------------
Attribute sets
--------------


.. _mptcp_pm-attribute-set-address:

address
=======
.. LINENO 92

unspec (``unused``)
~~~~~~~~~~~~~~~~~~~
:value: 0


.. LINENO 96

family (``u16``)
~~~~~~~~~~~~~~~~


.. LINENO 99

id (``u8``)
~~~~~~~~~~~


.. LINENO 102

addr4 (``u32``)
~~~~~~~~~~~~~~~
:byte-order: big-endian


.. LINENO 106

addr6 (``binary``)
~~~~~~~~~~~~~~~~~~


.. LINENO 111

port (``u16``)
~~~~~~~~~~~~~~


.. LINENO 114

flags (``u32``)
~~~~~~~~~~~~~~~


.. LINENO 117

if-idx (``s32``)
~~~~~~~~~~~~~~~~


.. _mptcp_pm-attribute-set-subflow-attribute:

subflow-attribute
=================
.. LINENO 124

unspec (``unused``)
~~~~~~~~~~~~~~~~~~~
:value: 0


.. LINENO 128

token-rem (``u32``)
~~~~~~~~~~~~~~~~~~~


.. LINENO 131

token-loc (``u32``)
~~~~~~~~~~~~~~~~~~~


.. LINENO 134

relwrite-seq (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


.. LINENO 137

map-seq (``u64``)
~~~~~~~~~~~~~~~~~


.. LINENO 140

map-sfseq (``u32``)
~~~~~~~~~~~~~~~~~~~


.. LINENO 143

ssn-offset (``u32``)
~~~~~~~~~~~~~~~~~~~~


.. LINENO 146

map-datalen (``u16``)
~~~~~~~~~~~~~~~~~~~~~


.. LINENO 149

flags (``u32``)
~~~~~~~~~~~~~~~


.. LINENO 152

id-rem (``u8``)
~~~~~~~~~~~~~~~


.. LINENO 155

id-loc (``u8``)
~~~~~~~~~~~~~~~


.. LINENO 158

pad (``pad``)
~~~~~~~~~~~~~


.. _mptcp_pm-attribute-set-endpoint:

endpoint
========
.. LINENO 165

addr (``nest``)
~~~~~~~~~~~~~~~
:nested-attributes: :ref:`mptcp_pm-attribute-set-address`


.. _mptcp_pm-attribute-set-attr:

attr
====
.. LINENO 174

unspec (``unused``)
~~~~~~~~~~~~~~~~~~~
:value: 0


.. LINENO 178

addr (``nest``)
~~~~~~~~~~~~~~~
:nested-attributes: :ref:`mptcp_pm-attribute-set-address`


.. LINENO 182

rcv-add-addrs (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


.. LINENO 185

subflows (``u32``)
~~~~~~~~~~~~~~~~~~


.. LINENO 188

token (``u32``)
~~~~~~~~~~~~~~~


.. LINENO 191

loc-id (``u8``)
~~~~~~~~~~~~~~~


.. LINENO 194

addr-remote (``nest``)
~~~~~~~~~~~~~~~~~~~~~~
:nested-attributes: :ref:`mptcp_pm-attribute-set-address`


.. _mptcp_pm-attribute-set-event-attr:

event-attr
==========
.. LINENO 203

unspec (``unused``)
~~~~~~~~~~~~~~~~~~~
:value: 0


.. LINENO 207

token (``u32``)
~~~~~~~~~~~~~~~


.. LINENO 210

family (``u16``)
~~~~~~~~~~~~~~~~


.. LINENO 213

loc-id (``u8``)
~~~~~~~~~~~~~~~


.. LINENO 216

rem-id (``u8``)
~~~~~~~~~~~~~~~


.. LINENO 219

saddr4 (``u32``)
~~~~~~~~~~~~~~~~
:byte-order: big-endian


.. LINENO 223

saddr6 (``binary``)
~~~~~~~~~~~~~~~~~~~


.. LINENO 228

daddr4 (``u32``)
~~~~~~~~~~~~~~~~
:byte-order: big-endian


.. LINENO 232

daddr6 (``binary``)
~~~~~~~~~~~~~~~~~~~


.. LINENO 237

sport (``u16``)
~~~~~~~~~~~~~~~
:byte-order: big-endian


.. LINENO 241

dport (``u16``)
~~~~~~~~~~~~~~~
:byte-order: big-endian


.. LINENO 245

backup (``u8``)
~~~~~~~~~~~~~~~


.. LINENO 248

error (``u8``)
~~~~~~~~~~~~~~


.. LINENO 251

flags (``u16``)
~~~~~~~~~~~~~~~


.. LINENO 254

timeout (``u32``)
~~~~~~~~~~~~~~~~~


.. LINENO 257

if_idx (``u32``)
~~~~~~~~~~~~~~~~


.. LINENO 260

reset-reason (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


.. LINENO 263

reset-flags (``u32``)
~~~~~~~~~~~~~~~~~~~~~


.. LINENO 266

server-side (``u8``)
~~~~~~~~~~~~~~~~~~~~