netdev.yaml 22 KB

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