~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/netlink/specs/tcp_metrics.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
  2 
  3 name: tcp_metrics
  4 
  5 protocol: genetlink-legacy
  6 
  7 doc: |
  8   Management interface for TCP metrics.
  9 
 10 c-family-name: tcp-metrics-genl-name
 11 c-version-name: tcp-metrics-genl-version
 12 max-by-define: true
 13 kernel-policy: global
 14 
 15 definitions:
 16   -
 17     name: tcp-fastopen-cookie-max
 18     type: const
 19     value: 16
 20 
 21 attribute-sets:
 22   -
 23     name: tcp-metrics
 24     name-prefix: tcp-metrics-attr-
 25     attributes:
 26       -
 27         name: addr-ipv4
 28         type: u32
 29         byte-order: big-endian
 30         display-hint: ipv4
 31       -
 32         name: addr-ipv6
 33         type: binary
 34         checks:
 35           min-len: 16
 36         byte-order: big-endian
 37         display-hint: ipv6
 38       -
 39         name: age
 40         type: u64
 41       -
 42         name: tw-tsval
 43         type: u32
 44         doc: unused
 45       -
 46         name: tw-ts-stamp
 47         type: s32
 48         doc: unused
 49       -
 50         name: vals
 51         type: nest
 52         nested-attributes: metrics
 53       -
 54         name: fopen-mss
 55         type: u16
 56       -
 57         name: fopen-syn-drops
 58         type: u16
 59       -
 60         name: fopen-syn-drop-ts
 61         type: u64
 62       -
 63         name: fopen-cookie
 64         type: binary
 65         checks:
 66           min-len: tcp-fastopen-cookie-max
 67       -
 68         name: saddr-ipv4
 69         type: u32
 70         byte-order: big-endian
 71         display-hint: ipv4
 72       -
 73         name: saddr-ipv6
 74         type: binary
 75         checks:
 76           min-len: 16
 77         byte-order: big-endian
 78         display-hint: ipv6
 79       -
 80         name: pad
 81         type: pad
 82 
 83   -
 84     name: metrics
 85     # Intentionally don't define the name-prefix, see below.
 86     doc: |
 87       Attributes with metrics. Note that the values here do not match
 88       the TCP_METRIC_* defines in the kernel, because kernel defines
 89       are off-by one (e.g. rtt is defined as enum 0, while netlink carries
 90       attribute type 1).
 91     attributes:
 92       -
 93         name: rtt
 94         type: u32
 95         doc: |
 96           Round Trip Time (RTT), in msecs with 3 bits fractional
 97           (left-shift by 3 to get the msec value).
 98       -
 99         name: rttvar
100         type: u32
101         doc: |
102           Round Trip Time VARiance (RTT), in msecs with 2 bits fractional
103           (left-shift by 2 to get the msec value).
104       -
105         name: ssthresh
106         type: u32
107         doc: Slow Start THRESHold.
108       -
109         name: cwnd
110         type: u32
111         doc: Congestion Window.
112       -
113         name: reodering
114         type: u32
115         doc: Reodering metric.
116       -
117         name: rtt-us
118         type: u32
119         doc: |
120           Round Trip Time (RTT), in usecs, with 3 bits fractional
121           (left-shift by 3 to get the msec value).
122       -
123         name: rttvar-us
124         type: u32
125         doc: |
126           Round Trip Time (RTT), in usecs, with 2 bits fractional
127           (left-shift by 3 to get the msec value).
128 
129 operations:
130   list:
131     -
132       name: get
133       doc: Retrieve metrics.
134       attribute-set: tcp-metrics
135 
136       dont-validate: [ strict, dump ]
137 
138       do:
139         request: &sel_attrs
140           attributes:
141             - addr-ipv4
142             - addr-ipv6
143             - saddr-ipv4
144             - saddr-ipv6
145         reply: &all_attrs
146           attributes:
147             - addr-ipv4
148             - addr-ipv6
149             - saddr-ipv4
150             - saddr-ipv6
151             - age
152             - vals
153             - fopen-mss
154             - fopen-syn-drops
155             - fopen-syn-drop-ts
156             - fopen-cookie
157       dump:
158         reply: *all_attrs
159 
160     -
161       name: del
162       doc: Delete metrics.
163       attribute-set: tcp-metrics
164 
165       dont-validate: [ strict, dump ]
166       flags: [ admin-perm ]
167 
168       do:
169         request: *sel_attrs

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php