1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2 3name: ethtool 4 5protocol: genetlink-legacy 6 7doc: Partial family for Ethtool Netlink. 8 9attribute-sets: 10 - 11 name: header 12 attributes: 13 - 14 name: dev-index 15 type: u32 16 - 17 name: dev-name 18 type: string 19 - 20 name: flags 21 type: u32 22 23 - 24 name: bitset-bit 25 attributes: 26 - 27 name: index 28 type: u32 29 - 30 name: name 31 type: string 32 - 33 name: value 34 type: flag 35 - 36 name: bitset-bits 37 attributes: 38 - 39 name: bit 40 type: nest 41 nested-attributes: bitset-bit 42 - 43 name: bitset 44 attributes: 45 - 46 name: nomask 47 type: flag 48 - 49 name: size 50 type: u32 51 - 52 name: bits 53 type: nest 54 nested-attributes: bitset-bits 55 56 - 57 name: string 58 attributes: 59 - 60 name: index 61 type: u32 62 - 63 name: value 64 type: string 65 - 66 name: strings 67 attributes: 68 - 69 name: string 70 type: nest 71 multi-attr: true 72 nested-attributes: string 73 - 74 name: stringset 75 attributes: 76 - 77 name: id 78 type: u32 79 - 80 name: count 81 type: u32 82 - 83 name: strings 84 type: nest 85 multi-attr: true 86 nested-attributes: strings 87 - 88 name: stringsets 89 attributes: 90 - 91 name: stringset 92 type: nest 93 multi-attr: true 94 nested-attributes: stringset 95 - 96 name: strset 97 attributes: 98 - 99 name: header 100 type: nest 101 nested-attributes: header 102 - 103 name: stringsets 104 type: nest 105 nested-attributes: stringsets 106 - 107 name: counts-only 108 type: flag 109 110 - 111 name: privflags 112 attributes: 113 - 114 name: header 115 type: nest 116 nested-attributes: header 117 - 118 name: flags 119 type: nest 120 nested-attributes: bitset 121 122 - 123 name: rings 124 attributes: 125 - 126 name: header 127 type: nest 128 nested-attributes: header 129 - 130 name: rx-max 131 type: u32 132 - 133 name: rx-mini-max 134 type: u32 135 - 136 name: rx-jumbo-max 137 type: u32 138 - 139 name: tx-max 140 type: u32 141 - 142 name: rx 143 type: u32 144 - 145 name: rx-mini 146 type: u32 147 - 148 name: rx-jumbo 149 type: u32 150 - 151 name: tx 152 type: u32 153 - 154 name: rx-buf-len 155 type: u32 156 - 157 name: tcp-data-split 158 type: u8 159 - 160 name: cqe-size 161 type: u32 162 - 163 name: tx-push 164 type: u8 165 - 166 name: rx-push 167 type: u8 168 - 169 name: tx-push-buf-len 170 type: u32 171 - 172 name: tx-push-buf-len-max 173 type: u32 174 175 - 176 name: mm-stat 177 attributes: 178 - 179 name: pad 180 type: pad 181 - 182 name: reassembly-errors 183 type: u64 184 - 185 name: smd-errors 186 type: u64 187 - 188 name: reassembly-ok 189 type: u64 190 - 191 name: rx-frag-count 192 type: u64 193 - 194 name: tx-frag-count 195 type: u64 196 - 197 name: hold-count 198 type: u64 199 - 200 name: mm 201 attributes: 202 - 203 name: header 204 type: nest 205 nested-attributes: header 206 - 207 name: pmac-enabled 208 type: u8 209 - 210 name: tx-enabled 211 type: u8 212 - 213 name: tx-active 214 type: u8 215 - 216 name: tx-min-frag-size 217 type: u32 218 - 219 name: tx-min-frag-size 220 type: u32 221 - 222 name: verify-enabled 223 type: u8 224 - 225 name: verify-status 226 type: u8 227 - 228 name: verify-time 229 type: u32 230 - 231 name: max-verify-time 232 type: u32 233 - 234 name: stats 235 type: nest 236 nested-attributes: mm-stat 237 238operations: 239 enum-model: directional 240 list: 241 - 242 name: strset-get 243 doc: Get string set from the kernel. 244 245 attribute-set: strset 246 247 do: &strset-get-op 248 request: 249 attributes: 250 - header 251 - stringsets 252 - counts-only 253 reply: 254 attributes: 255 - header 256 - stringsets 257 dump: *strset-get-op 258 259 # TODO: fill in the requests in between 260 261 - 262 name: privflags-get 263 doc: Get device private flags. 264 265 attribute-set: privflags 266 267 do: &privflag-get-op 268 request: 269 value: 13 270 attributes: 271 - header 272 reply: 273 value: 14 274 attributes: 275 - header 276 - flags 277 dump: *privflag-get-op 278 - 279 name: privflags-set 280 doc: Set device private flags. 281 282 attribute-set: privflags 283 284 do: 285 request: 286 attributes: 287 - header 288 - flags 289 - 290 name: privflags-ntf 291 doc: Notification for change in device private flags. 292 notify: privflags-get 293 294 - 295 name: rings-get 296 doc: Get ring params. 297 298 attribute-set: rings 299 300 do: &ring-get-op 301 request: 302 attributes: 303 - header 304 reply: 305 attributes: 306 - header 307 - rx-max 308 - rx-mini-max 309 - rx-jumbo-max 310 - tx-max 311 - rx 312 - rx-mini 313 - rx-jumbo 314 - tx 315 - rx-buf-len 316 - tcp-data-split 317 - cqe-size 318 - tx-push 319 - rx-push 320 - tx-push-buf-len 321 - tx-push-buf-len-max 322 dump: *ring-get-op 323 - 324 name: rings-set 325 doc: Set ring params. 326 327 attribute-set: rings 328 329 do: 330 request: 331 attributes: 332 - header 333 - rx 334 - rx-mini 335 - rx-jumbo 336 - tx 337 - rx-buf-len 338 - tcp-data-split 339 - cqe-size 340 - tx-push 341 - rx-push 342 - 343 name: rings-ntf 344 doc: Notification for change in ring params. 345 notify: rings-get 346 347 # TODO: fill in the requests in between 348 349 - 350 name: mm-get 351 doc: Get MAC Merge configuration and state 352 353 attribute-set: mm 354 355 do: &mm-get-op 356 request: 357 value: 42 358 attributes: 359 - header 360 reply: 361 value: 42 362 attributes: 363 - header 364 - pmac-enabled 365 - tx-enabled 366 - tx-active 367 - tx-min-frag-size 368 - rx-min-frag-size 369 - verify-enabled 370 - verify-time 371 - max-verify-time 372 - stats 373 dump: *mm-get-op 374 - 375 name: mm-set 376 doc: Set MAC Merge configuration 377 378 attribute-set: mm 379 380 do: 381 request: 382 attributes: 383 - header 384 - verify-enabled 385 - verify-time 386 - tx-enabled 387 - pmac-enabled 388 - tx-min-frag-size 389 - 390 name: mm-ntf 391 doc: Notification for change in MAC Merge configuration. 392 notify: mm-get 393