+++ /dev/null
-# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
-
-name: mptcp_pm
-protocol: genetlink-legacy
-doc: Multipath TCP.
-
-c-family-name: mptcp-pm-name
-c-version-name: mptcp-pm-ver
-max-by-define: true
-kernel-policy: per-op
-cmd-cnt-name: --mptcp-pm-cmd-after-last
-
-definitions:
- -
- type: enum
- name: event-type
- enum-name: mptcp-event-type
- name-prefix: mptcp-event-
- entries:
- -
- name: unspec
- doc: unused event
- -
- name: created
- doc:
- token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
- 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.
- -
- name: established
- doc:
- token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
- A MPTCP connection is established (can start new subflows).
- -
- name: closed
- doc:
- token
- A MPTCP connection has stopped.
- -
- name: announced
- value: 6
- doc:
- token, rem_id, family, daddr4 | daddr6 [, dport]
- A new address has been announced by the peer.
- -
- name: removed
- doc:
- token, rem_id
- An address has been lost by the peer.
- -
- name: sub-established
- value: 10
- doc:
- token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
- dport, backup, if_idx [, error]
- A new subflow has been established. 'error' should not be set.
- -
- name: sub-closed
- doc:
- token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
- dport, backup, if_idx [, error]
- A subflow has been closed. An error (copy of sk_err) could be set if an
- error has been detected for this subflow.
- -
- name: sub-priority
- value: 13
- doc:
- token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
- dport, backup, if_idx [, error]
- The priority of a subflow has changed. 'error' should not be set.
- -
- name: listener-created
- value: 15
- doc:
- family, sport, saddr4 | saddr6
- A new PM listener is created.
- -
- name: listener-closed
- doc:
- family, sport, saddr4 | saddr6
- A PM listener is closed.
-
-attribute-sets:
- -
- name: address
- name-prefix: mptcp-pm-addr-attr-
- attributes:
- -
- name: unspec
- type: unused
- value: 0
- -
- name: family
- type: u16
- -
- name: id
- type: u8
- -
- name: addr4
- type: u32
- byte-order: big-endian
- -
- name: addr6
- type: binary
- checks:
- exact-len: 16
- -
- name: port
- type: u16
- byte-order: big-endian
- -
- name: flags
- type: u32
- -
- name: if-idx
- type: s32
- -
- name: subflow-attribute
- name-prefix: mptcp-subflow-attr-
- attributes:
- -
- name: unspec
- type: unused
- value: 0
- -
- name: token-rem
- type: u32
- -
- name: token-loc
- type: u32
- -
- name: relwrite-seq
- type: u32
- -
- name: map-seq
- type: u64
- -
- name: map-sfseq
- type: u32
- -
- name: ssn-offset
- type: u32
- -
- name: map-datalen
- type: u16
- -
- name: flags
- type: u32
- -
- name: id-rem
- type: u8
- -
- name: id-loc
- type: u8
- -
- name: pad
- type: pad
- -
- name: endpoint
- name-prefix: mptcp-pm-endpoint-
- attributes:
- -
- name: addr
- type: nest
- nested-attributes: address
- -
- name: attr
- name-prefix: mptcp-pm-attr-
- attr-cnt-name: --mptcp-attr-after-last
- attributes:
- -
- name: unspec
- type: unused
- value: 0
- -
- name: addr
- type: nest
- nested-attributes: address
- -
- name: rcv-add-addrs
- type: u32
- -
- name: subflows
- type: u32
- -
- name: token
- type: u32
- -
- name: loc-id
- type: u8
- -
- name: addr-remote
- type: nest
- nested-attributes: address
- -
- name: event-attr
- enum-name: mptcp-event-attr
- name-prefix: mptcp-attr-
- attributes:
- -
- name: unspec
- type: unused
- value: 0
- -
- name: token
- type: u32
- -
- name: family
- type: u16
- -
- name: loc-id
- type: u8
- -
- name: rem-id
- type: u8
- -
- name: saddr4
- type: u32
- byte-order: big-endian
- -
- name: saddr6
- type: binary
- checks:
- min-len: 16
- -
- name: daddr4
- type: u32
- byte-order: big-endian
- -
- name: daddr6
- type: binary
- checks:
- min-len: 16
- -
- name: sport
- type: u16
- byte-order: big-endian
- -
- name: dport
- type: u16
- byte-order: big-endian
- -
- name: backup
- type: u8
- -
- name: error
- type: u8
- -
- name: flags
- type: u16
- -
- name: timeout
- type: u32
- -
- name: if_idx
- type: u32
- -
- name: reset-reason
- type: u32
- -
- name: reset-flags
- type: u32
- -
- name: server-side
- type: u8
-
-operations:
- list:
- -
- name: unspec
- doc: unused
- value: 0
- -
- name: add-addr
- doc: Add endpoint
- attribute-set: endpoint
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: &add-addr-attrs
- request:
- attributes:
- - addr
- -
- name: del-addr
- doc: Delete endpoint
- attribute-set: endpoint
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: *add-addr-attrs
- -
- name: get-addr
- doc: Get endpoint information
- attribute-set: endpoint
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: &get-addr-attrs
- request:
- attributes:
- - addr
- reply:
- attributes:
- - addr
- dump:
- reply:
- attributes:
- - addr
- -
- name: flush-addrs
- doc: flush addresses
- attribute-set: endpoint
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: *add-addr-attrs
- -
- name: set-limits
- doc: Set protocol limits
- attribute-set: attr
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: &mptcp-limits
- request:
- attributes:
- - rcv-add-addrs
- - subflows
- -
- name: get-limits
- doc: Get protocol limits
- attribute-set: attr
- dont-validate: [ strict ]
- do: &mptcp-get-limits
- request:
- attributes:
- - rcv-add-addrs
- - subflows
- reply:
- attributes:
- - rcv-add-addrs
- - subflows
- -
- name: set-flags
- doc: Change endpoint flags
- attribute-set: attr
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: &mptcp-set-flags
- request:
- attributes:
- - addr
- - token
- - addr-remote
- -
- name: announce
- doc: announce new sf
- attribute-set: attr
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: &announce-add
- request:
- attributes:
- - addr
- - token
- -
- name: remove
- doc: announce removal
- attribute-set: attr
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do:
- request:
- attributes:
- - token
- - loc-id
- -
- name: subflow-create
- doc: todo
- attribute-set: attr
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: &sf-create
- request:
- attributes:
- - addr
- - token
- - addr-remote
- -
- name: subflow-destroy
- doc: todo
- attribute-set: attr
- dont-validate: [ strict ]
- flags: [ uns-admin-perm ]
- do: *sf-create
--- /dev/null
+# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
+
+name: mptcp_pm
+protocol: genetlink-legacy
+doc: Multipath TCP.
+
+c-family-name: mptcp-pm-name
+c-version-name: mptcp-pm-ver
+max-by-define: true
+kernel-policy: per-op
+cmd-cnt-name: --mptcp-pm-cmd-after-last
+
+definitions:
+ -
+ type: enum
+ name: event-type
+ enum-name: mptcp-event-type
+ name-prefix: mptcp-event-
+ entries:
+ -
+ name: unspec
+ doc: unused event
+ -
+ name: created
+ doc:
+ token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
+ 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.
+ -
+ name: established
+ doc:
+ token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
+ A MPTCP connection is established (can start new subflows).
+ -
+ name: closed
+ doc:
+ token
+ A MPTCP connection has stopped.
+ -
+ name: announced
+ value: 6
+ doc:
+ token, rem_id, family, daddr4 | daddr6 [, dport]
+ A new address has been announced by the peer.
+ -
+ name: removed
+ doc:
+ token, rem_id
+ An address has been lost by the peer.
+ -
+ name: sub-established
+ value: 10
+ doc:
+ token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
+ dport, backup, if_idx [, error]
+ A new subflow has been established. 'error' should not be set.
+ -
+ name: sub-closed
+ doc:
+ token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
+ dport, backup, if_idx [, error]
+ A subflow has been closed. An error (copy of sk_err) could be set if an
+ error has been detected for this subflow.
+ -
+ name: sub-priority
+ value: 13
+ doc:
+ token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
+ dport, backup, if_idx [, error]
+ The priority of a subflow has changed. 'error' should not be set.
+ -
+ name: listener-created
+ value: 15
+ doc:
+ family, sport, saddr4 | saddr6
+ A new PM listener is created.
+ -
+ name: listener-closed
+ doc:
+ family, sport, saddr4 | saddr6
+ A PM listener is closed.
+
+attribute-sets:
+ -
+ name: address
+ name-prefix: mptcp-pm-addr-attr-
+ attributes:
+ -
+ name: unspec
+ type: unused
+ value: 0
+ -
+ name: family
+ type: u16
+ -
+ name: id
+ type: u8
+ -
+ name: addr4
+ type: u32
+ byte-order: big-endian
+ -
+ name: addr6
+ type: binary
+ checks:
+ exact-len: 16
+ -
+ name: port
+ type: u16
+ byte-order: big-endian
+ -
+ name: flags
+ type: u32
+ -
+ name: if-idx
+ type: s32
+ -
+ name: subflow-attribute
+ name-prefix: mptcp-subflow-attr-
+ attributes:
+ -
+ name: unspec
+ type: unused
+ value: 0
+ -
+ name: token-rem
+ type: u32
+ -
+ name: token-loc
+ type: u32
+ -
+ name: relwrite-seq
+ type: u32
+ -
+ name: map-seq
+ type: u64
+ -
+ name: map-sfseq
+ type: u32
+ -
+ name: ssn-offset
+ type: u32
+ -
+ name: map-datalen
+ type: u16
+ -
+ name: flags
+ type: u32
+ -
+ name: id-rem
+ type: u8
+ -
+ name: id-loc
+ type: u8
+ -
+ name: pad
+ type: pad
+ -
+ name: endpoint
+ name-prefix: mptcp-pm-endpoint-
+ attributes:
+ -
+ name: addr
+ type: nest
+ nested-attributes: address
+ -
+ name: attr
+ name-prefix: mptcp-pm-attr-
+ attr-cnt-name: --mptcp-attr-after-last
+ attributes:
+ -
+ name: unspec
+ type: unused
+ value: 0
+ -
+ name: addr
+ type: nest
+ nested-attributes: address
+ -
+ name: rcv-add-addrs
+ type: u32
+ -
+ name: subflows
+ type: u32
+ -
+ name: token
+ type: u32
+ -
+ name: loc-id
+ type: u8
+ -
+ name: addr-remote
+ type: nest
+ nested-attributes: address
+ -
+ name: event-attr
+ enum-name: mptcp-event-attr
+ name-prefix: mptcp-attr-
+ attributes:
+ -
+ name: unspec
+ type: unused
+ value: 0
+ -
+ name: token
+ type: u32
+ -
+ name: family
+ type: u16
+ -
+ name: loc-id
+ type: u8
+ -
+ name: rem-id
+ type: u8
+ -
+ name: saddr4
+ type: u32
+ byte-order: big-endian
+ -
+ name: saddr6
+ type: binary
+ checks:
+ min-len: 16
+ -
+ name: daddr4
+ type: u32
+ byte-order: big-endian
+ -
+ name: daddr6
+ type: binary
+ checks:
+ min-len: 16
+ -
+ name: sport
+ type: u16
+ byte-order: big-endian
+ -
+ name: dport
+ type: u16
+ byte-order: big-endian
+ -
+ name: backup
+ type: u8
+ -
+ name: error
+ type: u8
+ -
+ name: flags
+ type: u16
+ -
+ name: timeout
+ type: u32
+ -
+ name: if_idx
+ type: u32
+ -
+ name: reset-reason
+ type: u32
+ -
+ name: reset-flags
+ type: u32
+ -
+ name: server-side
+ type: u8
+
+operations:
+ list:
+ -
+ name: unspec
+ doc: unused
+ value: 0
+ -
+ name: add-addr
+ doc: Add endpoint
+ attribute-set: endpoint
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: &add-addr-attrs
+ request:
+ attributes:
+ - addr
+ -
+ name: del-addr
+ doc: Delete endpoint
+ attribute-set: endpoint
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: *add-addr-attrs
+ -
+ name: get-addr
+ doc: Get endpoint information
+ attribute-set: endpoint
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: &get-addr-attrs
+ request:
+ attributes:
+ - addr
+ reply:
+ attributes:
+ - addr
+ dump:
+ reply:
+ attributes:
+ - addr
+ -
+ name: flush-addrs
+ doc: flush addresses
+ attribute-set: endpoint
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: *add-addr-attrs
+ -
+ name: set-limits
+ doc: Set protocol limits
+ attribute-set: attr
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: &mptcp-limits
+ request:
+ attributes:
+ - rcv-add-addrs
+ - subflows
+ -
+ name: get-limits
+ doc: Get protocol limits
+ attribute-set: attr
+ dont-validate: [ strict ]
+ do: &mptcp-get-limits
+ request:
+ attributes:
+ - rcv-add-addrs
+ - subflows
+ reply:
+ attributes:
+ - rcv-add-addrs
+ - subflows
+ -
+ name: set-flags
+ doc: Change endpoint flags
+ attribute-set: attr
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: &mptcp-set-flags
+ request:
+ attributes:
+ - addr
+ - token
+ - addr-remote
+ -
+ name: announce
+ doc: announce new sf
+ attribute-set: attr
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: &announce-add
+ request:
+ attributes:
+ - addr
+ - token
+ -
+ name: remove
+ doc: announce removal
+ attribute-set: attr
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do:
+ request:
+ attributes:
+ - token
+ - loc-id
+ -
+ name: subflow-create
+ doc: todo
+ attribute-set: attr
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: &sf-create
+ request:
+ attributes:
+ - addr
+ - token
+ - addr-remote
+ -
+ name: subflow-destroy
+ doc: todo
+ attribute-set: attr
+ dont-validate: [ strict ]
+ flags: [ uns-admin-perm ]
+ do: *sf-create
B: https://github.com/multipath-tcp/mptcp_net-next/issues
T: git https://github.com/multipath-tcp/mptcp_net-next.git export-net
T: git https://github.com/multipath-tcp/mptcp_net-next.git export
-F: Documentation/netlink/specs/mptcp.yaml
+F: Documentation/netlink/specs/mptcp_pm.yaml
F: Documentation/networking/mptcp-sysctl.rst
F: include/net/mptcp.h
F: include/trace/events/mptcp.h
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
/* Do not edit directly, auto-generated from: */
-/* Documentation/netlink/specs/mptcp.yaml */
+/* Documentation/netlink/specs/mptcp_pm.yaml */
/* YNL-GEN uapi header */
#ifndef _UAPI_LINUX_MPTCP_PM_H
// SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
/* Do not edit directly, auto-generated from: */
-/* Documentation/netlink/specs/mptcp.yaml */
+/* Documentation/netlink/specs/mptcp_pm.yaml */
/* YNL-GEN kernel source */
#include <net/netlink.h>
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
/* Do not edit directly, auto-generated from: */
-/* Documentation/netlink/specs/mptcp.yaml */
+/* Documentation/netlink/specs/mptcp_pm.yaml */
/* YNL-GEN kernel header */
#ifndef _LINUX_MPTCP_PM_GEN_H