nl-linux 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/linux/netdev.yaml ADDED
@@ -0,0 +1,810 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: netdev
4
+
5
+ doc: >-
6
+ netdev configuration over generic netlink.
7
+
8
+ definitions:
9
+ -
10
+ type: flags
11
+ name: xdp-act
12
+ render-max: true
13
+ entries:
14
+ -
15
+ name: basic
16
+ doc: >-
17
+ XDP features set supported by all drivers
18
+ (XDP_ABORTED, XDP_DROP, XDP_PASS, XDP_TX)
19
+ -
20
+ name: redirect
21
+ doc: >-
22
+ The netdev supports XDP_REDIRECT
23
+ -
24
+ name: ndo-xmit
25
+ doc: >-
26
+ This feature informs if netdev implements ndo_xdp_xmit callback.
27
+ -
28
+ name: xsk-zerocopy
29
+ doc: >-
30
+ This feature informs if netdev supports AF_XDP in zero copy mode.
31
+ -
32
+ name: hw-offload
33
+ doc: >-
34
+ This feature informs if netdev supports XDP hw offloading.
35
+ -
36
+ name: rx-sg
37
+ doc: >-
38
+ This feature informs if netdev implements non-linear XDP buffer
39
+ support in the driver napi callback.
40
+ -
41
+ name: ndo-xmit-sg
42
+ doc: >-
43
+ This feature informs if netdev implements non-linear XDP buffer
44
+ support in ndo_xdp_xmit callback.
45
+ -
46
+ type: flags
47
+ name: xdp-rx-metadata
48
+ entries:
49
+ -
50
+ name: timestamp
51
+ doc: |
52
+ Device is capable of exposing receive HW timestamp via
53
+ bpf_xdp_metadata_rx_timestamp().
54
+ -
55
+ name: hash
56
+ doc: |
57
+ Device is capable of exposing receive packet hash via
58
+ bpf_xdp_metadata_rx_hash().
59
+ -
60
+ name: vlan-tag
61
+ doc: |
62
+ Device is capable of exposing receive packet VLAN tag via
63
+ bpf_xdp_metadata_rx_vlan_tag().
64
+ -
65
+ type: flags
66
+ name: xsk-flags
67
+ entries:
68
+ -
69
+ name: tx-timestamp
70
+ doc: >-
71
+ HW timestamping egress packets is supported by the driver.
72
+ -
73
+ name: tx-checksum
74
+ doc: >-
75
+ L3 checksum HW offload is supported by the driver.
76
+ -
77
+ name: tx-launch-time-fifo
78
+ doc: >-
79
+ Launch time HW offload is supported by the driver.
80
+ -
81
+ name: queue-type
82
+ type: enum
83
+ entries: [rx, tx]
84
+ -
85
+ name: qstats-scope
86
+ type: flags
87
+ entries: [queue]
88
+ -
89
+ name: napi-threaded
90
+ type: enum
91
+ entries: [disabled, enabled, busy-poll]
92
+
93
+ attribute-sets:
94
+ -
95
+ name: dev
96
+ attributes:
97
+ -
98
+ name: ifindex
99
+ doc: netdev ifindex
100
+ type: u32
101
+ checks:
102
+ min: 1
103
+ -
104
+ name: pad
105
+ type: pad
106
+ -
107
+ name: xdp-features
108
+ doc: Bitmask of enabled xdp-features.
109
+ type: u64
110
+ enum: xdp-act
111
+ -
112
+ name: xdp-zc-max-segs
113
+ doc: max fragment count supported by ZC driver
114
+ type: u32
115
+ checks:
116
+ min: 1
117
+ -
118
+ name: xdp-rx-metadata-features
119
+ doc: Bitmask of supported XDP receive metadata features.
120
+ See Documentation/networking/xdp-rx-metadata.rst for more details.
121
+ type: u64
122
+ enum: xdp-rx-metadata
123
+ -
124
+ name: xsk-features
125
+ doc: Bitmask of enabled AF_XDP features.
126
+ type: u64
127
+ enum: xsk-flags
128
+ -
129
+ name: io-uring-provider-info
130
+ attributes: []
131
+ -
132
+ name: page-pool
133
+ attributes:
134
+ -
135
+ name: id
136
+ doc: Unique ID of a Page Pool instance.
137
+ type: uint
138
+ checks:
139
+ min: 1
140
+ max: u32-max
141
+ -
142
+ name: ifindex
143
+ doc: |
144
+ ifindex of the netdev to which the pool belongs.
145
+ May not be reported if the page pool was allocated for a netdev
146
+ which got destroyed already (page pools may outlast their netdevs
147
+ because they wait for all memory to be returned).
148
+ type: u32
149
+ checks:
150
+ min: 1
151
+ max: s32-max
152
+ -
153
+ name: napi-id
154
+ doc: Id of NAPI using this Page Pool instance.
155
+ type: uint
156
+ checks:
157
+ min: 1
158
+ max: u32-max
159
+ -
160
+ name: inflight
161
+ type: uint
162
+ doc: |
163
+ Number of outstanding references to this page pool (allocated
164
+ but yet to be freed pages). Allocated pages may be held in
165
+ socket receive queues, driver receive ring, page pool recycling
166
+ ring, the page pool cache, etc.
167
+ -
168
+ name: inflight-mem
169
+ type: uint
170
+ doc: |
171
+ Amount of memory held by inflight pages.
172
+ -
173
+ name: detach-time
174
+ type: uint
175
+ doc: |
176
+ Seconds in CLOCK_BOOTTIME of when Page Pool was detached by
177
+ the driver. Once detached Page Pool can no longer be used to
178
+ allocate memory.
179
+ Page Pools wait for all the memory allocated from them to be freed
180
+ before truly disappearing. "Detached" Page Pools cannot be
181
+ "re-attached", they are just waiting to disappear.
182
+ Attribute is absent if Page Pool has not been detached, and
183
+ can still be used to allocate new memory.
184
+ -
185
+ name: dmabuf
186
+ doc: ID of the dmabuf this page-pool is attached to.
187
+ type: u32
188
+ -
189
+ name: io-uring
190
+ doc: io-uring memory provider information.
191
+ type: nest
192
+ nested-attributes: io-uring-provider-info
193
+ -
194
+ name: page-pool-info
195
+ subset-of: page-pool
196
+ attributes:
197
+ -
198
+ name: id
199
+ -
200
+ name: ifindex
201
+ -
202
+ name: page-pool-stats
203
+ doc: |
204
+ Page pool statistics, see docs for struct page_pool_stats
205
+ for information about individual statistics.
206
+ attributes:
207
+ -
208
+ name: info
209
+ doc: Page pool identifying information.
210
+ type: nest
211
+ nested-attributes: page-pool-info
212
+ -
213
+ name: alloc-fast
214
+ type: uint
215
+ value: 8 # reserve some attr ids in case we need more metadata later
216
+ -
217
+ name: alloc-slow
218
+ type: uint
219
+ -
220
+ name: alloc-slow-high-order
221
+ type: uint
222
+ -
223
+ name: alloc-empty
224
+ type: uint
225
+ -
226
+ name: alloc-refill
227
+ type: uint
228
+ -
229
+ name: alloc-waive
230
+ type: uint
231
+ -
232
+ name: recycle-cached
233
+ type: uint
234
+ -
235
+ name: recycle-cache-full
236
+ type: uint
237
+ -
238
+ name: recycle-ring
239
+ type: uint
240
+ -
241
+ name: recycle-ring-full
242
+ type: uint
243
+ -
244
+ name: recycle-released-refcnt
245
+ type: uint
246
+
247
+ -
248
+ name: napi
249
+ attributes:
250
+ -
251
+ name: ifindex
252
+ doc: ifindex of the netdevice to which NAPI instance belongs.
253
+ type: u32
254
+ checks:
255
+ min: 1
256
+ -
257
+ name: id
258
+ doc: ID of the NAPI instance.
259
+ type: u32
260
+ -
261
+ name: irq
262
+ doc: The associated interrupt vector number for the napi
263
+ type: u32
264
+ -
265
+ name: pid
266
+ doc: PID of the napi thread, if NAPI is configured to operate in
267
+ threaded mode. If NAPI is not in threaded mode (i.e. uses normal
268
+ softirq context), the attribute will be absent.
269
+ type: u32
270
+ -
271
+ name: defer-hard-irqs
272
+ doc: The number of consecutive empty polls before IRQ deferral ends
273
+ and hardware IRQs are re-enabled.
274
+ type: u32
275
+ checks:
276
+ max: s32-max
277
+ -
278
+ name: gro-flush-timeout
279
+ doc: The timeout, in nanoseconds, of when to trigger the NAPI watchdog
280
+ timer which schedules NAPI processing. Additionally, a non-zero
281
+ value will also prevent GRO from flushing recent super-frames at
282
+ the end of a NAPI cycle. This may add receive latency in exchange
283
+ for reducing the number of frames processed by the network stack.
284
+ type: uint
285
+ -
286
+ name: irq-suspend-timeout
287
+ doc: The timeout, in nanoseconds, of how long to suspend irq
288
+ processing, if event polling finds events
289
+ type: uint
290
+ -
291
+ name: threaded
292
+ doc: Whether the NAPI is configured to operate in threaded polling
293
+ mode. If this is set to enabled then the NAPI context operates
294
+ in threaded polling mode. If this is set to busy-poll, then the
295
+ threaded polling mode also busy polls.
296
+ type: u32
297
+ enum: napi-threaded
298
+ -
299
+ name: xsk-info
300
+ attributes: []
301
+ -
302
+ name: queue
303
+ attributes:
304
+ -
305
+ name: id
306
+ doc: Queue index; most queue types are indexed like a C array, with
307
+ indexes starting at 0 and ending at queue count - 1. Queue indexes
308
+ are scoped to an interface and queue type.
309
+ type: u32
310
+ -
311
+ name: ifindex
312
+ doc: ifindex of the netdevice to which the queue belongs.
313
+ type: u32
314
+ checks:
315
+ min: 1
316
+ -
317
+ name: type
318
+ doc: Queue type as rx, tx. Each queue type defines a separate ID space.
319
+ XDP TX queues allocated in the kernel are not linked to NAPIs and
320
+ thus not listed. AF_XDP queues will have more information set in
321
+ the xsk attribute.
322
+ type: u32
323
+ enum: queue-type
324
+ -
325
+ name: napi-id
326
+ doc: ID of the NAPI instance which services this queue.
327
+ type: u32
328
+ -
329
+ name: dmabuf
330
+ doc: ID of the dmabuf attached to this queue, if any.
331
+ type: u32
332
+ -
333
+ name: io-uring
334
+ doc: io_uring memory provider information.
335
+ type: nest
336
+ nested-attributes: io-uring-provider-info
337
+ -
338
+ name: xsk
339
+ doc: XSK information for this queue, if any.
340
+ type: nest
341
+ nested-attributes: xsk-info
342
+ -
343
+ name: qstats
344
+ doc: |
345
+ Get device statistics, scoped to a device or a queue.
346
+ These statistics extend (and partially duplicate) statistics available
347
+ in struct rtnl_link_stats64.
348
+ Value of the `scope` attribute determines how statistics are
349
+ aggregated. When aggregated for the entire device the statistics
350
+ represent the total number of events since last explicit reset of
351
+ the device (i.e. not a reconfiguration like changing queue count).
352
+ When reported per-queue, however, the statistics may not add
353
+ up to the total number of events, will only be reported for currently
354
+ active objects, and will likely report the number of events since last
355
+ reconfiguration.
356
+ attributes:
357
+ -
358
+ name: ifindex
359
+ doc: ifindex of the netdevice to which stats belong.
360
+ type: u32
361
+ checks:
362
+ min: 1
363
+ -
364
+ name: queue-type
365
+ doc: Queue type as rx, tx, for queue-id.
366
+ type: u32
367
+ enum: queue-type
368
+ -
369
+ name: queue-id
370
+ doc: Queue ID, if stats are scoped to a single queue instance.
371
+ type: u32
372
+ -
373
+ name: scope
374
+ doc: |
375
+ What object type should be used to iterate over the stats.
376
+ type: uint
377
+ enum: qstats-scope
378
+ -
379
+ name: rx-packets
380
+ doc: |
381
+ Number of wire packets successfully received and passed to the stack.
382
+ For drivers supporting XDP, XDP is considered the first layer
383
+ of the stack, so packets consumed by XDP are still counted here.
384
+ type: uint
385
+ value: 8 # reserve some attr ids in case we need more metadata later
386
+ -
387
+ name: rx-bytes
388
+ doc: Successfully received bytes, see `rx-packets`.
389
+ type: uint
390
+ -
391
+ name: tx-packets
392
+ doc: |
393
+ Number of wire packets successfully sent. Packet is considered to be
394
+ successfully sent once it is in device memory (usually this means
395
+ the device has issued a DMA completion for the packet).
396
+ type: uint
397
+ -
398
+ name: tx-bytes
399
+ doc: Successfully sent bytes, see `tx-packets`.
400
+ type: uint
401
+ -
402
+ name: rx-alloc-fail
403
+ doc: |
404
+ Number of times skb or buffer allocation failed on the Rx datapath.
405
+ Allocation failure may, or may not result in a packet drop, depending
406
+ on driver implementation and whether system recovers quickly.
407
+ type: uint
408
+ -
409
+ name: rx-hw-drops
410
+ doc: |
411
+ Number of all packets which entered the device, but never left it,
412
+ including but not limited to: packets dropped due to lack of buffer
413
+ space, processing errors, explicit or implicit policies and packet
414
+ filters.
415
+ type: uint
416
+ -
417
+ name: rx-hw-drop-overruns
418
+ doc: |
419
+ Number of packets dropped due to transient lack of resources, such as
420
+ buffer space, host descriptors etc.
421
+ type: uint
422
+ -
423
+ name: rx-csum-complete
424
+ doc: Number of packets that were marked as CHECKSUM_COMPLETE.
425
+ type: uint
426
+ -
427
+ name: rx-csum-unnecessary
428
+ doc: Number of packets that were marked as CHECKSUM_UNNECESSARY.
429
+ type: uint
430
+ -
431
+ name: rx-csum-none
432
+ doc: Number of packets that were not checksummed by device.
433
+ type: uint
434
+ -
435
+ name: rx-csum-bad
436
+ doc: |
437
+ Number of packets with bad checksum. The packets are not discarded,
438
+ but still delivered to the stack.
439
+ type: uint
440
+ -
441
+ name: rx-hw-gro-packets
442
+ doc: |
443
+ Number of packets that were coalesced from smaller packets by the
444
+ device. Counts only packets coalesced with the HW-GRO netdevice
445
+ feature, LRO-coalesced packets are not counted.
446
+ type: uint
447
+ -
448
+ name: rx-hw-gro-bytes
449
+ doc: See `rx-hw-gro-packets`.
450
+ type: uint
451
+ -
452
+ name: rx-hw-gro-wire-packets
453
+ doc: |
454
+ Number of packets that were coalesced to bigger packetss with the
455
+ HW-GRO netdevice feature. LRO-coalesced packets are not counted.
456
+ type: uint
457
+ -
458
+ name: rx-hw-gro-wire-bytes
459
+ doc: See `rx-hw-gro-wire-packets`.
460
+ type: uint
461
+ -
462
+ name: rx-hw-drop-ratelimits
463
+ doc: |
464
+ Number of the packets dropped by the device due to the received
465
+ packets bitrate exceeding the device rate limit.
466
+ type: uint
467
+ -
468
+ name: tx-hw-drops
469
+ doc: |
470
+ Number of packets that arrived at the device but never left it,
471
+ encompassing packets dropped for reasons such as processing errors, as
472
+ well as those affected by explicitly defined policies and packet
473
+ filtering criteria.
474
+ type: uint
475
+ -
476
+ name: tx-hw-drop-errors
477
+ doc: Number of packets dropped because they were invalid or malformed.
478
+ type: uint
479
+ -
480
+ name: tx-csum-none
481
+ doc: |
482
+ Number of packets that did not require the device to calculate the
483
+ checksum.
484
+ type: uint
485
+ -
486
+ name: tx-needs-csum
487
+ doc: |
488
+ Number of packets that required the device to calculate the checksum.
489
+ This counter includes the number of GSO wire packets for which device
490
+ calculated the L4 checksum.
491
+ type: uint
492
+ -
493
+ name: tx-hw-gso-packets
494
+ doc: |
495
+ Number of packets that necessitated segmentation into smaller packets
496
+ by the device.
497
+ type: uint
498
+ -
499
+ name: tx-hw-gso-bytes
500
+ doc: See `tx-hw-gso-packets`.
501
+ type: uint
502
+ -
503
+ name: tx-hw-gso-wire-packets
504
+ doc: |
505
+ Number of wire-sized packets generated by processing
506
+ `tx-hw-gso-packets`
507
+ type: uint
508
+ -
509
+ name: tx-hw-gso-wire-bytes
510
+ doc: See `tx-hw-gso-wire-packets`.
511
+ type: uint
512
+ -
513
+ name: tx-hw-drop-ratelimits
514
+ doc: |
515
+ Number of the packets dropped by the device due to the transmit
516
+ packets bitrate exceeding the device rate limit.
517
+ type: uint
518
+ -
519
+ name: tx-stop
520
+ doc: |
521
+ Number of times driver paused accepting new tx packets
522
+ from the stack to this queue, because the queue was full.
523
+ Note that if BQL is supported and enabled on the device
524
+ the networking stack will avoid queuing a lot of data at once.
525
+ type: uint
526
+ -
527
+ name: tx-wake
528
+ doc: |
529
+ Number of times driver re-started accepting send
530
+ requests to this queue from the stack.
531
+ type: uint
532
+ -
533
+ name: queue-id
534
+ subset-of: queue
535
+ attributes:
536
+ -
537
+ name: id
538
+ -
539
+ name: type
540
+ -
541
+ name: dmabuf
542
+ attributes:
543
+ -
544
+ name: ifindex
545
+ doc: netdev ifindex to bind the dmabuf to.
546
+ type: u32
547
+ checks:
548
+ min: 1
549
+ -
550
+ name: queues
551
+ doc: receive queues to bind the dmabuf to.
552
+ type: nest
553
+ nested-attributes: queue-id
554
+ multi-attr: true
555
+ -
556
+ name: fd
557
+ doc: dmabuf file descriptor to bind.
558
+ type: u32
559
+ -
560
+ name: id
561
+ doc: id of the dmabuf binding
562
+ type: u32
563
+ checks:
564
+ min: 1
565
+
566
+ operations:
567
+ list:
568
+ -
569
+ name: dev-get
570
+ doc: Get / dump information about a netdev.
571
+ attribute-set: dev
572
+ do:
573
+ request:
574
+ attributes:
575
+ - ifindex
576
+ reply: &dev-all
577
+ attributes:
578
+ - ifindex
579
+ - xdp-features
580
+ - xdp-zc-max-segs
581
+ - xdp-rx-metadata-features
582
+ - xsk-features
583
+ dump:
584
+ reply: *dev-all
585
+ -
586
+ name: dev-add-ntf
587
+ doc: Notification about device appearing.
588
+ notify: dev-get
589
+ mcgrp: mgmt
590
+ -
591
+ name: dev-del-ntf
592
+ doc: Notification about device disappearing.
593
+ notify: dev-get
594
+ mcgrp: mgmt
595
+ -
596
+ name: dev-change-ntf
597
+ doc: Notification about device configuration being changed.
598
+ notify: dev-get
599
+ mcgrp: mgmt
600
+ -
601
+ name: page-pool-get
602
+ doc: |
603
+ Get / dump information about Page Pools.
604
+ Only Page Pools associated by the driver with a net_device
605
+ can be listed. ifindex will not be reported if the net_device
606
+ no longer exists.
607
+ attribute-set: page-pool
608
+ do:
609
+ request:
610
+ attributes:
611
+ - id
612
+ reply: &pp-reply
613
+ attributes:
614
+ - id
615
+ - ifindex
616
+ - napi-id
617
+ - inflight
618
+ - inflight-mem
619
+ - detach-time
620
+ - dmabuf
621
+ - io-uring
622
+ dump:
623
+ reply: *pp-reply
624
+ config-cond: page-pool
625
+ -
626
+ name: page-pool-add-ntf
627
+ doc: Notification about page pool appearing.
628
+ notify: page-pool-get
629
+ mcgrp: page-pool
630
+ config-cond: page-pool
631
+ -
632
+ name: page-pool-del-ntf
633
+ doc: Notification about page pool disappearing.
634
+ notify: page-pool-get
635
+ mcgrp: page-pool
636
+ config-cond: page-pool
637
+ -
638
+ name: page-pool-change-ntf
639
+ doc: Notification about page pool configuration being changed.
640
+ notify: page-pool-get
641
+ mcgrp: page-pool
642
+ config-cond: page-pool
643
+ -
644
+ name: page-pool-stats-get
645
+ doc: Get page pool statistics.
646
+ attribute-set: page-pool-stats
647
+ do:
648
+ request:
649
+ attributes:
650
+ - info
651
+ reply: &pp-stats-reply
652
+ attributes:
653
+ - info
654
+ - alloc-fast
655
+ - alloc-slow
656
+ - alloc-slow-high-order
657
+ - alloc-empty
658
+ - alloc-refill
659
+ - alloc-waive
660
+ - recycle-cached
661
+ - recycle-cache-full
662
+ - recycle-ring
663
+ - recycle-ring-full
664
+ - recycle-released-refcnt
665
+ dump:
666
+ reply: *pp-stats-reply
667
+ config-cond: page-pool-stats
668
+ -
669
+ name: queue-get
670
+ doc: Get queue information from the kernel.
671
+ Only configured queues will be reported (as opposed to all available
672
+ hardware queues).
673
+ attribute-set: queue
674
+ do:
675
+ request:
676
+ attributes:
677
+ - ifindex
678
+ - type
679
+ - id
680
+ reply: &queue-get-op
681
+ attributes:
682
+ - id
683
+ - type
684
+ - napi-id
685
+ - ifindex
686
+ - dmabuf
687
+ - io-uring
688
+ - xsk
689
+ dump:
690
+ request:
691
+ attributes:
692
+ - ifindex
693
+ reply: *queue-get-op
694
+ -
695
+ name: napi-get
696
+ doc: Get information about NAPI instances configured on the system.
697
+ attribute-set: napi
698
+ do:
699
+ request:
700
+ attributes:
701
+ - id
702
+ reply: &napi-get-op
703
+ attributes:
704
+ - id
705
+ - ifindex
706
+ - irq
707
+ - pid
708
+ - defer-hard-irqs
709
+ - gro-flush-timeout
710
+ - irq-suspend-timeout
711
+ - threaded
712
+ dump:
713
+ request:
714
+ attributes:
715
+ - ifindex
716
+ reply: *napi-get-op
717
+ -
718
+ name: qstats-get
719
+ doc: |
720
+ Get / dump fine grained statistics. Which statistics are reported
721
+ depends on the device and the driver, and whether the driver stores
722
+ software counters per-queue.
723
+ attribute-set: qstats
724
+ dump:
725
+ request:
726
+ attributes:
727
+ - ifindex
728
+ - scope
729
+ reply:
730
+ attributes:
731
+ - ifindex
732
+ - queue-type
733
+ - queue-id
734
+ - rx-packets
735
+ - rx-bytes
736
+ - tx-packets
737
+ - tx-bytes
738
+ - rx-alloc-fail
739
+ - rx-hw-drops
740
+ - rx-hw-drop-overruns
741
+ - rx-csum-complete
742
+ - rx-csum-unnecessary
743
+ - rx-csum-none
744
+ - rx-csum-bad
745
+ - rx-hw-gro-packets
746
+ - rx-hw-gro-bytes
747
+ - rx-hw-gro-wire-packets
748
+ - rx-hw-gro-wire-bytes
749
+ - rx-hw-drop-ratelimits
750
+ - tx-hw-drops
751
+ - tx-hw-drop-errors
752
+ - tx-csum-none
753
+ - tx-needs-csum
754
+ - tx-hw-gso-packets
755
+ - tx-hw-gso-bytes
756
+ - tx-hw-gso-wire-packets
757
+ - tx-hw-gso-wire-bytes
758
+ - tx-hw-drop-ratelimits
759
+ - tx-stop
760
+ - tx-wake
761
+ -
762
+ name: bind-rx
763
+ doc: Bind dmabuf to netdev
764
+ attribute-set: dmabuf
765
+ flags: [admin-perm]
766
+ do:
767
+ request:
768
+ attributes:
769
+ - ifindex
770
+ - fd
771
+ - queues
772
+ reply:
773
+ attributes:
774
+ - id
775
+ -
776
+ name: napi-set
777
+ doc: Set configurable NAPI instance settings.
778
+ attribute-set: napi
779
+ flags: [admin-perm]
780
+ do:
781
+ request:
782
+ attributes:
783
+ - id
784
+ - defer-hard-irqs
785
+ - gro-flush-timeout
786
+ - irq-suspend-timeout
787
+ - threaded
788
+ -
789
+ name: bind-tx
790
+ doc: Bind dmabuf to netdev for TX
791
+ attribute-set: dmabuf
792
+ do:
793
+ request:
794
+ attributes:
795
+ - ifindex
796
+ - fd
797
+ reply:
798
+ attributes:
799
+ - id
800
+
801
+ kernel-family:
802
+ headers: ["net/netdev_netlink.h"]
803
+ sock-priv: struct netdev_nl_sock
804
+
805
+ mcast-groups:
806
+ list:
807
+ -
808
+ name: mgmt
809
+ -
810
+ name: page-pool