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