mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
cfbbd48598
During the switch to YNL, the command to list all endpoints has been
accidentally restricted to users with admin permissions.
It looks like there are no reasons to have this restriction which makes
it harder for a user to quickly check if the endpoint list has been
correctly populated by an automated tool. Best to go back to the
previous behaviour then.
mptcp_pm_gen.c has been modified using ynl-gen-c.py:
$ ./tools/net/ynl/ynl-gen-c.py --mode kernel \
--spec Documentation/netlink/specs/mptcp_pm.yaml --source \
-o net/mptcp/mptcp_pm_gen.c
The header file doesn't need to be regenerated.
Fixes: 1d0507f468
("net: mptcp: convert netlink from small_ops to ops")
Cc: stable@vger.kernel.org
Reviewed-by: Davide Caratti <dcaratti@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20241104-net-mptcp-misc-6-12-v1-1-c13f2ff1656f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
393 lines
8.2 KiB
YAML
393 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
|
|
-
|
|
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 ]
|
|
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
|