170 lines
3.6 KiB
YAML
170 lines
3.6 KiB
YAML
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
|
|
name: tcp_metrics
|
|
|
|
protocol: genetlink-legacy
|
|
|
|
doc: |
|
|
Management interface for TCP metrics.
|
|
|
|
c-family-name: tcp-metrics-genl-name
|
|
c-version-name: tcp-metrics-genl-version
|
|
max-by-define: true
|
|
kernel-policy: global
|
|
|
|
definitions:
|
|
-
|
|
name: tcp-fastopen-cookie-max
|
|
type: const
|
|
value: 16
|
|
|
|
attribute-sets:
|
|
-
|
|
name: tcp-metrics
|
|
name-prefix: tcp-metrics-attr-
|
|
attributes:
|
|
-
|
|
name: addr-ipv4
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: addr-ipv6
|
|
type: binary
|
|
checks:
|
|
min-len: 16
|
|
byte-order: big-endian
|
|
display-hint: ipv6
|
|
-
|
|
name: age
|
|
type: u64
|
|
-
|
|
name: tw-tsval
|
|
type: u32
|
|
doc: unused
|
|
-
|
|
name: tw-ts-stamp
|
|
type: s32
|
|
doc: unused
|
|
-
|
|
name: vals
|
|
type: nest
|
|
nested-attributes: metrics
|
|
-
|
|
name: fopen-mss
|
|
type: u16
|
|
-
|
|
name: fopen-syn-drops
|
|
type: u16
|
|
-
|
|
name: fopen-syn-drop-ts
|
|
type: u64
|
|
-
|
|
name: fopen-cookie
|
|
type: binary
|
|
checks:
|
|
min-len: tcp-fastopen-cookie-max
|
|
-
|
|
name: saddr-ipv4
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: saddr-ipv6
|
|
type: binary
|
|
checks:
|
|
min-len: 16
|
|
byte-order: big-endian
|
|
display-hint: ipv6
|
|
-
|
|
name: pad
|
|
type: pad
|
|
|
|
-
|
|
name: metrics
|
|
# Intentionally don't define the name-prefix, see below.
|
|
doc: |
|
|
Attributes with metrics. Note that the values here do not match
|
|
the TCP_METRIC_* defines in the kernel, because kernel defines
|
|
are off-by one (e.g. rtt is defined as enum 0, while netlink carries
|
|
attribute type 1).
|
|
attributes:
|
|
-
|
|
name: rtt
|
|
type: u32
|
|
doc: |
|
|
Round Trip Time (RTT), in msecs with 3 bits fractional
|
|
(left-shift by 3 to get the msec value).
|
|
-
|
|
name: rttvar
|
|
type: u32
|
|
doc: |
|
|
Round Trip Time VARiance (RTT), in msecs with 2 bits fractional
|
|
(left-shift by 2 to get the msec value).
|
|
-
|
|
name: ssthresh
|
|
type: u32
|
|
doc: Slow Start THRESHold.
|
|
-
|
|
name: cwnd
|
|
type: u32
|
|
doc: Congestion Window.
|
|
-
|
|
name: reodering
|
|
type: u32
|
|
doc: Reodering metric.
|
|
-
|
|
name: rtt-us
|
|
type: u32
|
|
doc: |
|
|
Round Trip Time (RTT), in usecs, with 3 bits fractional
|
|
(left-shift by 3 to get the msec value).
|
|
-
|
|
name: rttvar-us
|
|
type: u32
|
|
doc: |
|
|
Round Trip Time (RTT), in usecs, with 2 bits fractional
|
|
(left-shift by 3 to get the msec value).
|
|
|
|
operations:
|
|
list:
|
|
-
|
|
name: get
|
|
doc: Retrieve metrics.
|
|
attribute-set: tcp-metrics
|
|
|
|
dont-validate: [ strict, dump ]
|
|
|
|
do:
|
|
request: &sel_attrs
|
|
attributes:
|
|
- addr-ipv4
|
|
- addr-ipv6
|
|
- saddr-ipv4
|
|
- saddr-ipv6
|
|
reply: &all_attrs
|
|
attributes:
|
|
- addr-ipv4
|
|
- addr-ipv6
|
|
- saddr-ipv4
|
|
- saddr-ipv6
|
|
- age
|
|
- vals
|
|
- fopen-mss
|
|
- fopen-syn-drops
|
|
- fopen-syn-drop-ts
|
|
- fopen-cookie
|
|
dump:
|
|
reply: *all_attrs
|
|
|
|
-
|
|
name: del
|
|
doc: Delete metrics.
|
|
attribute-set: tcp-metrics
|
|
|
|
dont-validate: [ strict, dump ]
|
|
flags: [ admin-perm ]
|
|
|
|
do:
|
|
request: *sel_attrs
|