14e16b6a7SJakub 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 168*233eb4e7SShay Agroskin - 169*233eb4e7SShay Agroskin name: tx-push-buf-len 170*233eb4e7SShay Agroskin type: u32 171*233eb4e7SShay Agroskin - 172*233eb4e7SShay Agroskin name: tx-push-buf-len-max 173*233eb4e7SShay Agroskin type: u32 174b784db7aSJakub Kicinski 175b784db7aSJakub Kicinski - 176b784db7aSJakub Kicinski name: mm-stat 177b784db7aSJakub Kicinski attributes: 178b784db7aSJakub Kicinski - 179b784db7aSJakub Kicinski name: pad 180b784db7aSJakub Kicinski type: pad 181b784db7aSJakub Kicinski - 182b784db7aSJakub Kicinski name: reassembly-errors 183b784db7aSJakub Kicinski type: u64 184b784db7aSJakub Kicinski - 185b784db7aSJakub Kicinski name: smd-errors 186b784db7aSJakub Kicinski type: u64 187b784db7aSJakub Kicinski - 188b784db7aSJakub Kicinski name: reassembly-ok 189b784db7aSJakub Kicinski type: u64 190b784db7aSJakub Kicinski - 191b784db7aSJakub Kicinski name: rx-frag-count 192b784db7aSJakub Kicinski type: u64 193b784db7aSJakub Kicinski - 194b784db7aSJakub Kicinski name: tx-frag-count 195b784db7aSJakub Kicinski type: u64 196b784db7aSJakub Kicinski - 197b784db7aSJakub Kicinski name: hold-count 198b784db7aSJakub Kicinski type: u64 199b784db7aSJakub Kicinski - 200b784db7aSJakub Kicinski name: mm 201b784db7aSJakub Kicinski attributes: 202b784db7aSJakub Kicinski - 203b784db7aSJakub Kicinski name: header 204b784db7aSJakub Kicinski type: nest 205b784db7aSJakub Kicinski nested-attributes: header 206b784db7aSJakub Kicinski - 207b784db7aSJakub Kicinski name: pmac-enabled 208b784db7aSJakub Kicinski type: u8 209b784db7aSJakub Kicinski - 210b784db7aSJakub Kicinski name: tx-enabled 211b784db7aSJakub Kicinski type: u8 212b784db7aSJakub Kicinski - 213b784db7aSJakub Kicinski name: tx-active 214b784db7aSJakub Kicinski type: u8 215b784db7aSJakub Kicinski - 216b784db7aSJakub Kicinski name: tx-min-frag-size 217b784db7aSJakub Kicinski type: u32 218b784db7aSJakub Kicinski - 219b784db7aSJakub Kicinski name: tx-min-frag-size 220b784db7aSJakub Kicinski type: u32 221b784db7aSJakub Kicinski - 222b784db7aSJakub Kicinski name: verify-enabled 223b784db7aSJakub Kicinski type: u8 224b784db7aSJakub Kicinski - 225b784db7aSJakub Kicinski name: verify-status 226b784db7aSJakub Kicinski type: u8 227b784db7aSJakub Kicinski - 228b784db7aSJakub Kicinski name: verify-time 229b784db7aSJakub Kicinski type: u32 230b784db7aSJakub Kicinski - 231b784db7aSJakub Kicinski name: max-verify-time 232b784db7aSJakub Kicinski type: u32 233b784db7aSJakub Kicinski - 234b784db7aSJakub Kicinski name: stats 235b784db7aSJakub Kicinski type: nest 236b784db7aSJakub Kicinski nested-attributes: mm-stat 237b784db7aSJakub Kicinski 238b784db7aSJakub Kicinskioperations: 239b784db7aSJakub Kicinski enum-model: directional 240b784db7aSJakub Kicinski list: 241b784db7aSJakub Kicinski - 242b784db7aSJakub Kicinski name: strset-get 243b784db7aSJakub Kicinski doc: Get string set from the kernel. 244b784db7aSJakub Kicinski 245b784db7aSJakub Kicinski attribute-set: strset 246b784db7aSJakub Kicinski 247b784db7aSJakub Kicinski do: &strset-get-op 248b784db7aSJakub Kicinski request: 249b784db7aSJakub Kicinski attributes: 250b784db7aSJakub Kicinski - header 251b784db7aSJakub Kicinski - stringsets 252b784db7aSJakub Kicinski - counts-only 253b784db7aSJakub Kicinski reply: 254b784db7aSJakub Kicinski attributes: 255b784db7aSJakub Kicinski - header 256b784db7aSJakub Kicinski - stringsets 257b784db7aSJakub Kicinski dump: *strset-get-op 258b784db7aSJakub Kicinski 259b784db7aSJakub Kicinski # TODO: fill in the requests in between 260b784db7aSJakub Kicinski 261b784db7aSJakub Kicinski - 262b784db7aSJakub Kicinski name: privflags-get 263b784db7aSJakub Kicinski doc: Get device private flags. 264b784db7aSJakub Kicinski 265b784db7aSJakub Kicinski attribute-set: privflags 266b784db7aSJakub Kicinski 267b784db7aSJakub Kicinski do: &privflag-get-op 268b784db7aSJakub Kicinski request: 269b784db7aSJakub Kicinski value: 13 270b784db7aSJakub Kicinski attributes: 271b784db7aSJakub Kicinski - header 272b784db7aSJakub Kicinski reply: 273b784db7aSJakub Kicinski value: 14 274b784db7aSJakub Kicinski attributes: 275b784db7aSJakub Kicinski - header 276b784db7aSJakub Kicinski - flags 277b784db7aSJakub Kicinski dump: *privflag-get-op 278b784db7aSJakub Kicinski - 279b784db7aSJakub Kicinski name: privflags-set 280b784db7aSJakub Kicinski doc: Set device private flags. 281b784db7aSJakub Kicinski 282b784db7aSJakub Kicinski attribute-set: privflags 283b784db7aSJakub Kicinski 284b784db7aSJakub Kicinski do: 285b784db7aSJakub Kicinski request: 286b784db7aSJakub Kicinski attributes: 287b784db7aSJakub Kicinski - header 288b784db7aSJakub Kicinski - flags 289b784db7aSJakub Kicinski - 290b784db7aSJakub Kicinski name: privflags-ntf 291b784db7aSJakub Kicinski doc: Notification for change in device private flags. 292b784db7aSJakub Kicinski notify: privflags-get 293b784db7aSJakub Kicinski 294b784db7aSJakub Kicinski - 295b784db7aSJakub Kicinski name: rings-get 296b784db7aSJakub Kicinski doc: Get ring params. 297b784db7aSJakub Kicinski 298b784db7aSJakub Kicinski attribute-set: rings 299b784db7aSJakub Kicinski 300b784db7aSJakub Kicinski do: &ring-get-op 301b784db7aSJakub Kicinski request: 302b784db7aSJakub Kicinski attributes: 303b784db7aSJakub Kicinski - header 304b784db7aSJakub Kicinski reply: 305b784db7aSJakub Kicinski attributes: 306b784db7aSJakub Kicinski - header 307b784db7aSJakub Kicinski - rx-max 308b784db7aSJakub Kicinski - rx-mini-max 309b784db7aSJakub Kicinski - rx-jumbo-max 310b784db7aSJakub Kicinski - tx-max 311b784db7aSJakub Kicinski - rx 312b784db7aSJakub Kicinski - rx-mini 313b784db7aSJakub Kicinski - rx-jumbo 314b784db7aSJakub Kicinski - tx 315b784db7aSJakub Kicinski - rx-buf-len 316b784db7aSJakub Kicinski - tcp-data-split 317b784db7aSJakub Kicinski - cqe-size 318b784db7aSJakub Kicinski - tx-push 3191ed32ad4SJakub Kicinski - rx-push 320*233eb4e7SShay Agroskin - tx-push-buf-len 321*233eb4e7SShay Agroskin - tx-push-buf-len-max 322b784db7aSJakub Kicinski dump: *ring-get-op 323b784db7aSJakub Kicinski - 324b784db7aSJakub Kicinski name: rings-set 325b784db7aSJakub Kicinski doc: Set ring params. 326b784db7aSJakub Kicinski 327b784db7aSJakub Kicinski attribute-set: rings 328b784db7aSJakub Kicinski 329b784db7aSJakub Kicinski do: 330b784db7aSJakub Kicinski request: 331b784db7aSJakub Kicinski attributes: 332b784db7aSJakub Kicinski - header 333b784db7aSJakub Kicinski - rx 334b784db7aSJakub Kicinski - rx-mini 335b784db7aSJakub Kicinski - rx-jumbo 336b784db7aSJakub Kicinski - tx 337b784db7aSJakub Kicinski - rx-buf-len 338b784db7aSJakub Kicinski - tcp-data-split 339b784db7aSJakub Kicinski - cqe-size 340b784db7aSJakub Kicinski - tx-push 3411ed32ad4SJakub Kicinski - rx-push 342b784db7aSJakub Kicinski - 343b784db7aSJakub Kicinski name: rings-ntf 344b784db7aSJakub Kicinski doc: Notification for change in ring params. 345b784db7aSJakub Kicinski notify: rings-get 346b784db7aSJakub Kicinski 347b784db7aSJakub Kicinski # TODO: fill in the requests in between 348b784db7aSJakub Kicinski 349b784db7aSJakub Kicinski - 350b784db7aSJakub Kicinski name: mm-get 351b784db7aSJakub Kicinski doc: Get MAC Merge configuration and state 352b784db7aSJakub Kicinski 353b784db7aSJakub Kicinski attribute-set: mm 354b784db7aSJakub Kicinski 355b784db7aSJakub Kicinski do: &mm-get-op 356b784db7aSJakub Kicinski request: 357b784db7aSJakub Kicinski value: 42 358b784db7aSJakub Kicinski attributes: 359b784db7aSJakub Kicinski - header 360b784db7aSJakub Kicinski reply: 361b784db7aSJakub Kicinski value: 42 362b784db7aSJakub Kicinski attributes: 363b784db7aSJakub Kicinski - header 364b784db7aSJakub Kicinski - pmac-enabled 365b784db7aSJakub Kicinski - tx-enabled 366b784db7aSJakub Kicinski - tx-active 367b784db7aSJakub Kicinski - tx-min-frag-size 368b784db7aSJakub Kicinski - rx-min-frag-size 369b784db7aSJakub Kicinski - verify-enabled 370b784db7aSJakub Kicinski - verify-time 371b784db7aSJakub Kicinski - max-verify-time 372b784db7aSJakub Kicinski - stats 373b784db7aSJakub Kicinski dump: *mm-get-op 374b784db7aSJakub Kicinski - 375b784db7aSJakub Kicinski name: mm-set 376b784db7aSJakub Kicinski doc: Set MAC Merge configuration 377b784db7aSJakub Kicinski 378b784db7aSJakub Kicinski attribute-set: mm 379b784db7aSJakub Kicinski 380b784db7aSJakub Kicinski do: 381b784db7aSJakub Kicinski request: 382b784db7aSJakub Kicinski attributes: 383b784db7aSJakub Kicinski - header 384b784db7aSJakub Kicinski - verify-enabled 385b784db7aSJakub Kicinski - verify-time 386b784db7aSJakub Kicinski - tx-enabled 387b784db7aSJakub Kicinski - pmac-enabled 388b784db7aSJakub Kicinski - tx-min-frag-size 389b784db7aSJakub Kicinski - 390b784db7aSJakub Kicinski name: mm-ntf 391b784db7aSJakub Kicinski doc: Notification for change in MAC Merge configuration. 392b784db7aSJakub Kicinski notify: mm-get 393