mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-16 10:17:32 +00:00
392 lines
8.1 KiB
YAML
392 lines
8.1 KiB
YAML
|
# 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
|
||
|
|
||
|
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-
|
||
|
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
|