mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
9e6c88e2f0
This patch adds token parameter together with addr in get-addr section in mptcp_pm.yaml, then use the following commands to update mptcp_pm_gen.c and mptcp_pm_gen.h: ./tools/net/ynl/ynl-gen-c.py --mode kernel \ --spec Documentation/netlink/specs/mptcp_pm.yaml --source \ -o net/mptcp/mptcp_pm_gen.c ./tools/net/ynl/ynl-gen-c.py --mode kernel \ --spec Documentation/netlink/specs/mptcp_pm.yaml --header \ -o net/mptcp/mptcp_pm_gen.h Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
395 lines
8.2 KiB
YAML
395 lines
8.2 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
|
|
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: attr
|
|
dont-validate: [ strict ]
|
|
flags: [ uns-admin-perm ]
|
|
do: &get-addr-attrs
|
|
request:
|
|
attributes:
|
|
- addr
|
|
- token
|
|
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
|