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