| # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) | |
| --- | |
| name: netdev | |
| doc: >- | |
| netdev configuration over generic netlink. | |
| definitions: | |
| - | |
| type: const | |
| name: page-size | |
| # Dummy value, codegen needs a number. The real value comes from | |
| # the PAGE_SIZE macro in the header below. | |
| value: 0 | |
| header: asm/page.h | |
| scope: kernel | |
| - | |
| type: flags | |
| name: xdp-act | |
| render-max: true | |
| entries: | |
| - | |
| name: basic | |
| doc: >- | |
| XDP features set supported by all drivers | |
| (XDP_ABORTED, XDP_DROP, XDP_PASS, XDP_TX) | |
| - | |
| name: redirect | |
| doc: >- | |
| The netdev supports XDP_REDIRECT | |
| - | |
| name: ndo-xmit | |
| doc: >- | |
| This feature informs if netdev implements ndo_xdp_xmit callback. | |
| - | |
| name: xsk-zerocopy | |
| doc: >- | |
| This feature informs if netdev supports AF_XDP in zero copy mode. | |
| - | |
| name: hw-offload | |
| doc: >- | |
| This feature informs if netdev supports XDP hw offloading. | |
| - | |
| name: rx-sg | |
| doc: >- | |
| This feature informs if netdev implements non-linear XDP buffer | |
| support in the driver napi callback. | |
| - | |
| name: ndo-xmit-sg | |
| doc: >- | |
| This feature informs if netdev implements non-linear XDP buffer | |
| support in ndo_xdp_xmit callback. | |
| - | |
| type: flags | |
| name: xdp-rx-metadata | |
| entries: | |
| - | |
| name: timestamp | |
| doc: | | |
| Device is capable of exposing receive HW timestamp via | |
| bpf_xdp_metadata_rx_timestamp(). | |
| - | |
| name: hash | |
| doc: | | |
| Device is capable of exposing receive packet hash via | |
| bpf_xdp_metadata_rx_hash(). | |
| - | |
| name: vlan-tag | |
| doc: | | |
| Device is capable of exposing receive packet VLAN tag via | |
| bpf_xdp_metadata_rx_vlan_tag(). | |
| - | |
| type: flags | |
| name: xsk-flags | |
| entries: | |
| - | |
| name: tx-timestamp | |
| doc: >- | |
| HW timestamping egress packets is supported by the driver. | |
| - | |
| name: tx-checksum | |
| doc: >- | |
| L3 checksum HW offload is supported by the driver. | |
| - | |
| name: tx-launch-time-fifo | |
| doc: >- | |
| Launch time HW offload is supported by the driver. | |
| - | |
| name: queue-type | |
| type: enum | |
| entries: [rx, tx] | |
| - | |
| name: qstats-scope | |
| type: flags | |
| entries: [queue] | |
| - | |
| name: napi-threaded | |
| type: enum | |
| entries: [disabled, enabled, busy-poll] | |
| attribute-sets: | |
| - | |
| name: dev | |
| attributes: | |
| - | |
| name: ifindex | |
| doc: netdev ifindex | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: pad | |
| type: pad | |
| - | |
| name: xdp-features | |
| doc: Bitmask of enabled xdp-features. | |
| type: u64 | |
| enum: xdp-act | |
| - | |
| name: xdp-zc-max-segs | |
| doc: max fragment count supported by ZC driver | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: xdp-rx-metadata-features | |
| doc: Bitmask of supported XDP receive metadata features. | |
| See Documentation/networking/xdp-rx-metadata.rst for more details. | |
| type: u64 | |
| enum: xdp-rx-metadata | |
| - | |
| name: xsk-features | |
| doc: Bitmask of enabled AF_XDP features. | |
| type: u64 | |
| enum: xsk-flags | |
| - | |
| name: io-uring-provider-info | |
| attributes: | |
| - | |
| name: rx-buf-len | |
| type: uint | |
| doc: | | |
| RX buffer length in bytes for this io_uring memory provider. | |
| Reflects the rx_buf_len passed at io_uring zerocopy rx | |
| registration time. | |
| - | |
| name: page-pool | |
| attributes: | |
| - | |
| name: id | |
| doc: Unique ID of a Page Pool instance. | |
| type: uint | |
| checks: | |
| min: 1 | |
| max: u32-max | |
| - | |
| name: ifindex | |
| doc: | | |
| ifindex of the netdev to which the pool belongs. | |
| May not be reported if the page pool was allocated for a netdev | |
| which got destroyed already (page pools may outlast their netdevs | |
| because they wait for all memory to be returned). | |
| type: u32 | |
| checks: | |
| min: 1 | |
| max: s32-max | |
| - | |
| name: napi-id | |
| doc: Id of NAPI using this Page Pool instance. | |
| type: uint | |
| checks: | |
| min: 1 | |
| max: u32-max | |
| - | |
| name: inflight | |
| type: uint | |
| doc: | | |
| Number of outstanding references to this page pool (allocated | |
| but yet to be freed pages). Allocated pages may be held in | |
| socket receive queues, driver receive ring, page pool recycling | |
| ring, the page pool cache, etc. | |
| - | |
| name: inflight-mem | |
| type: uint | |
| doc: | | |
| Amount of memory held by inflight pages. | |
| - | |
| name: detach-time | |
| type: uint | |
| doc: | | |
| Seconds in CLOCK_BOOTTIME of when Page Pool was detached by | |
| the driver. Once detached Page Pool can no longer be used to | |
| allocate memory. | |
| Page Pools wait for all the memory allocated from them to be freed | |
| before truly disappearing. "Detached" Page Pools cannot be | |
| "re-attached", they are just waiting to disappear. | |
| Attribute is absent if Page Pool has not been detached, and | |
| can still be used to allocate new memory. | |
| - | |
| name: dmabuf | |
| doc: ID of the dmabuf this page-pool is attached to. | |
| type: u32 | |
| - | |
| name: io-uring | |
| doc: io-uring memory provider information. | |
| type: nest | |
| nested-attributes: io-uring-provider-info | |
| - | |
| name: page-pool-info | |
| subset-of: page-pool | |
| attributes: | |
| - | |
| name: id | |
| - | |
| name: ifindex | |
| - | |
| name: page-pool-stats | |
| doc: | | |
| Page pool statistics, see docs for struct page_pool_stats | |
| for information about individual statistics. | |
| attributes: | |
| - | |
| name: info | |
| doc: Page pool identifying information. | |
| type: nest | |
| nested-attributes: page-pool-info | |
| - | |
| name: alloc-fast | |
| type: uint | |
| value: 8 # reserve some attr ids in case we need more metadata later | |
| - | |
| name: alloc-slow | |
| type: uint | |
| - | |
| name: alloc-slow-high-order | |
| type: uint | |
| - | |
| name: alloc-empty | |
| type: uint | |
| - | |
| name: alloc-refill | |
| type: uint | |
| - | |
| name: alloc-waive | |
| type: uint | |
| - | |
| name: recycle-cached | |
| type: uint | |
| - | |
| name: recycle-cache-full | |
| type: uint | |
| - | |
| name: recycle-ring | |
| type: uint | |
| - | |
| name: recycle-ring-full | |
| type: uint | |
| - | |
| name: recycle-released-refcnt | |
| type: uint | |
| - | |
| name: napi | |
| attributes: | |
| - | |
| name: ifindex | |
| doc: ifindex of the netdevice to which NAPI instance belongs. | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: id | |
| doc: ID of the NAPI instance. | |
| type: u32 | |
| - | |
| name: irq | |
| doc: The associated interrupt vector number for the napi | |
| type: u32 | |
| - | |
| name: pid | |
| doc: PID of the napi thread, if NAPI is configured to operate in | |
| threaded mode. If NAPI is not in threaded mode (i.e. uses normal | |
| softirq context), the attribute will be absent. | |
| type: u32 | |
| - | |
| name: defer-hard-irqs | |
| doc: The number of consecutive empty polls before IRQ deferral ends | |
| and hardware IRQs are re-enabled. | |
| type: u32 | |
| checks: | |
| max: s32-max | |
| - | |
| name: gro-flush-timeout | |
| doc: The timeout, in nanoseconds, of when to trigger the NAPI watchdog | |
| timer which schedules NAPI processing. Additionally, a non-zero | |
| value will also prevent GRO from flushing recent super-frames at | |
| the end of a NAPI cycle. This may add receive latency in exchange | |
| for reducing the number of frames processed by the network stack. | |
| type: uint | |
| - | |
| name: irq-suspend-timeout | |
| doc: The timeout, in nanoseconds, of how long to suspend irq | |
| processing, if event polling finds events | |
| type: uint | |
| - | |
| name: threaded | |
| doc: Whether the NAPI is configured to operate in threaded polling | |
| mode. If this is set to enabled then the NAPI context operates | |
| in threaded polling mode. If this is set to busy-poll, then the | |
| threaded polling mode also busy polls. | |
| type: u32 | |
| enum: napi-threaded | |
| - | |
| name: xsk-info | |
| attributes: [] | |
| - | |
| name: queue | |
| attributes: | |
| - | |
| name: id | |
| doc: Queue index; most queue types are indexed like a C array, with | |
| indexes starting at 0 and ending at queue count - 1. Queue indexes | |
| are scoped to an interface and queue type. | |
| type: u32 | |
| - | |
| name: ifindex | |
| doc: ifindex of the netdevice to which the queue belongs. | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: type | |
| doc: Queue type as rx, tx. Each queue type defines a separate ID space. | |
| XDP TX queues allocated in the kernel are not linked to NAPIs and | |
| thus not listed. AF_XDP queues will have more information set in | |
| the xsk attribute. | |
| type: u32 | |
| enum: queue-type | |
| - | |
| name: napi-id | |
| doc: ID of the NAPI instance which services this queue. | |
| type: u32 | |
| - | |
| name: dmabuf | |
| doc: ID of the dmabuf attached to this queue, if any. | |
| type: u32 | |
| - | |
| name: io-uring | |
| doc: io_uring memory provider information. | |
| type: nest | |
| nested-attributes: io-uring-provider-info | |
| - | |
| name: xsk | |
| doc: XSK information for this queue, if any. | |
| type: nest | |
| nested-attributes: xsk-info | |
| - | |
| name: lease | |
| doc: | | |
| A queue from a virtual device can have a lease which refers to | |
| another queue from a physical device. This is useful for memory | |
| providers and AF_XDP operations which take an ifindex and queue id | |
| to allow applications to bind against virtual devices in containers. | |
| type: nest | |
| nested-attributes: lease | |
| - | |
| name: qstats | |
| doc: | | |
| Get device statistics, scoped to a device or a queue. | |
| These statistics extend (and partially duplicate) statistics available | |
| in struct rtnl_link_stats64. | |
| Value of the `scope` attribute determines how statistics are | |
| aggregated. When aggregated for the entire device the statistics | |
| represent the total number of events since last explicit reset of | |
| the device (i.e. not a reconfiguration like changing queue count). | |
| When reported per-queue, however, the statistics may not add | |
| up to the total number of events, will only be reported for currently | |
| active objects, and will likely report the number of events since last | |
| reconfiguration. | |
| attributes: | |
| - | |
| name: ifindex | |
| doc: ifindex of the netdevice to which stats belong. | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: queue-type | |
| doc: Queue type as rx, tx, for queue-id. | |
| type: u32 | |
| enum: queue-type | |
| - | |
| name: queue-id | |
| doc: Queue ID, if stats are scoped to a single queue instance. | |
| type: u32 | |
| - | |
| name: scope | |
| doc: | | |
| What object type should be used to iterate over the stats. | |
| type: uint | |
| enum: qstats-scope | |
| - | |
| name: rx-packets | |
| doc: | | |
| Number of wire packets successfully received and passed to the stack. | |
| For drivers supporting XDP, XDP is considered the first layer | |
| of the stack, so packets consumed by XDP are still counted here. | |
| type: uint | |
| value: 8 # reserve some attr ids in case we need more metadata later | |
| - | |
| name: rx-bytes | |
| doc: Successfully received bytes, see `rx-packets`. | |
| type: uint | |
| - | |
| name: tx-packets | |
| doc: | | |
| Number of wire packets successfully sent. Packet is considered to be | |
| successfully sent once it is in device memory (usually this means | |
| the device has issued a DMA completion for the packet). | |
| type: uint | |
| - | |
| name: tx-bytes | |
| doc: Successfully sent bytes, see `tx-packets`. | |
| type: uint | |
| - | |
| name: rx-alloc-fail | |
| doc: | | |
| Number of times skb or buffer allocation failed on the Rx datapath. | |
| Allocation failure may, or may not result in a packet drop, depending | |
| on driver implementation and whether system recovers quickly. | |
| type: uint | |
| - | |
| name: rx-hw-drops | |
| doc: | | |
| Number of all packets which entered the device, but never left it, | |
| including but not limited to: packets dropped due to lack of buffer | |
| space, processing errors, explicit or implicit policies and packet | |
| filters. | |
| type: uint | |
| - | |
| name: rx-hw-drop-overruns | |
| doc: | | |
| Number of packets dropped due to transient lack of resources, such as | |
| buffer space, host descriptors etc. | |
| type: uint | |
| - | |
| name: rx-csum-complete | |
| doc: Number of packets that were marked as CHECKSUM_COMPLETE. | |
| type: uint | |
| - | |
| name: rx-csum-unnecessary | |
| doc: Number of packets that were marked as CHECKSUM_UNNECESSARY. | |
| type: uint | |
| - | |
| name: rx-csum-none | |
| doc: Number of packets that were not checksummed by device. | |
| type: uint | |
| - | |
| name: rx-csum-bad | |
| doc: | | |
| Number of packets with bad checksum. The packets are not discarded, | |
| but still delivered to the stack. | |
| type: uint | |
| - | |
| name: rx-hw-gro-packets | |
| doc: | | |
| Number of packets that were coalesced from smaller packets by the | |
| device. Counts only packets coalesced with the HW-GRO netdevice | |
| feature, LRO-coalesced packets are not counted. | |
| type: uint | |
| - | |
| name: rx-hw-gro-bytes | |
| doc: See `rx-hw-gro-packets`. | |
| type: uint | |
| - | |
| name: rx-hw-gro-wire-packets | |
| doc: | | |
| Number of packets that were coalesced to bigger packetss with the | |
| HW-GRO netdevice feature. LRO-coalesced packets are not counted. | |
| type: uint | |
| - | |
| name: rx-hw-gro-wire-bytes | |
| doc: See `rx-hw-gro-wire-packets`. | |
| type: uint | |
| - | |
| name: rx-hw-drop-ratelimits | |
| doc: | | |
| Number of the packets dropped by the device due to the received | |
| packets bitrate exceeding the device rate limit. | |
| type: uint | |
| - | |
| name: tx-hw-drops | |
| doc: | | |
| Number of packets that arrived at the device but never left it, | |
| encompassing packets dropped for reasons such as processing errors, as | |
| well as those affected by explicitly defined policies and packet | |
| filtering criteria. | |
| type: uint | |
| - | |
| name: tx-hw-drop-errors | |
| doc: Number of packets dropped because they were invalid or malformed. | |
| type: uint | |
| - | |
| name: tx-csum-none | |
| doc: | | |
| Number of packets that did not require the device to calculate the | |
| checksum. | |
| type: uint | |
| - | |
| name: tx-needs-csum | |
| doc: | | |
| Number of packets that required the device to calculate the checksum. | |
| This counter includes the number of GSO wire packets for which device | |
| calculated the L4 checksum. | |
| type: uint | |
| - | |
| name: tx-hw-gso-packets | |
| doc: | | |
| Number of packets that necessitated segmentation into smaller packets | |
| by the device. | |
| type: uint | |
| - | |
| name: tx-hw-gso-bytes | |
| doc: See `tx-hw-gso-packets`. | |
| type: uint | |
| - | |
| name: tx-hw-gso-wire-packets | |
| doc: | | |
| Number of wire-sized packets generated by processing | |
| `tx-hw-gso-packets` | |
| type: uint | |
| - | |
| name: tx-hw-gso-wire-bytes | |
| doc: See `tx-hw-gso-wire-packets`. | |
| type: uint | |
| - | |
| name: tx-hw-drop-ratelimits | |
| doc: | | |
| Number of the packets dropped by the device due to the transmit | |
| packets bitrate exceeding the device rate limit. | |
| type: uint | |
| - | |
| name: tx-stop | |
| doc: | | |
| Number of times driver paused accepting new tx packets | |
| from the stack to this queue, because the queue was full. | |
| Note that if BQL is supported and enabled on the device | |
| the networking stack will avoid queuing a lot of data at once. | |
| type: uint | |
| - | |
| name: tx-wake | |
| doc: | | |
| Number of times driver re-started accepting send | |
| requests to this queue from the stack. | |
| type: uint | |
| - | |
| name: queue-id | |
| subset-of: queue | |
| attributes: | |
| - | |
| name: id | |
| - | |
| name: type | |
| - | |
| name: lease | |
| attributes: | |
| - | |
| name: ifindex | |
| doc: The netdev ifindex to lease the queue from. | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: queue | |
| doc: The netdev queue to lease from. | |
| type: nest | |
| nested-attributes: queue-id | |
| - | |
| name: netns-id | |
| doc: The network namespace id of the netdev. | |
| type: s32 | |
| checks: | |
| min: 0 | |
| - | |
| name: dmabuf | |
| attributes: | |
| - | |
| name: ifindex | |
| doc: netdev ifindex to bind the dmabuf to. | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: queues | |
| doc: receive queues to bind the dmabuf to. | |
| type: nest | |
| nested-attributes: queue-id | |
| multi-attr: true | |
| - | |
| name: fd | |
| doc: dmabuf file descriptor to bind. | |
| type: u32 | |
| - | |
| name: id | |
| doc: id of the dmabuf binding | |
| type: u32 | |
| checks: | |
| min: 1 | |
| - | |
| name: rx-page-size | |
| doc: | | |
| Size in bytes of each device page the NIC writes into from the bound | |
| dmabuf. Must be a power of two and >= PAGE_SIZE; defaults to | |
| PAGE_SIZE. | |
| type: u32 | |
| checks: | |
| min: page-size | |
| max: u32-max | |
| operations: | |
| list: | |
| - | |
| name: dev-get | |
| doc: Get / dump information about a netdev. | |
| attribute-set: dev | |
| do: | |
| request: | |
| attributes: | |
| - ifindex | |
| reply: &dev-all | |
| attributes: | |
| - ifindex | |
| - xdp-features | |
| - xdp-zc-max-segs | |
| - xdp-rx-metadata-features | |
| - xsk-features | |
| dump: | |
| reply: *dev-all | |
| - | |
| name: dev-add-ntf | |
| doc: Notification about device appearing. | |
| notify: dev-get | |
| mcgrp: mgmt | |
| - | |
| name: dev-del-ntf | |
| doc: Notification about device disappearing. | |
| notify: dev-get | |
| mcgrp: mgmt | |
| - | |
| name: dev-change-ntf | |
| doc: Notification about device configuration being changed. | |
| notify: dev-get | |
| mcgrp: mgmt | |
| - | |
| name: page-pool-get | |
| doc: | | |
| Get / dump information about Page Pools. | |
| Only Page Pools associated by the driver with a net_device | |
| can be listed. ifindex will not be reported if the net_device | |
| no longer exists. | |
| attribute-set: page-pool | |
| do: | |
| request: | |
| attributes: | |
| - id | |
| reply: &pp-reply | |
| attributes: | |
| - id | |
| - ifindex | |
| - napi-id | |
| - inflight | |
| - inflight-mem | |
| - detach-time | |
| - dmabuf | |
| - io-uring | |
| dump: | |
| request: | |
| attributes: | |
| - ifindex | |
| reply: *pp-reply | |
| config-cond: page-pool | |
| - | |
| name: page-pool-add-ntf | |
| doc: Notification about page pool appearing. | |
| notify: page-pool-get | |
| mcgrp: page-pool | |
| config-cond: page-pool | |
| - | |
| name: page-pool-del-ntf | |
| doc: Notification about page pool disappearing. | |
| notify: page-pool-get | |
| mcgrp: page-pool | |
| config-cond: page-pool | |
| - | |
| name: page-pool-change-ntf | |
| doc: Notification about page pool configuration being changed. | |
| notify: page-pool-get | |
| mcgrp: page-pool | |
| config-cond: page-pool | |
| - | |
| name: page-pool-stats-get | |
| doc: Get page pool statistics. | |
| attribute-set: page-pool-stats | |
| do: | |
| request: | |
| attributes: | |
| - info | |
| reply: &pp-stats-reply | |
| attributes: | |
| - info | |
| - alloc-fast | |
| - alloc-slow | |
| - alloc-slow-high-order | |
| - alloc-empty | |
| - alloc-refill | |
| - alloc-waive | |
| - recycle-cached | |
| - recycle-cache-full | |
| - recycle-ring | |
| - recycle-ring-full | |
| - recycle-released-refcnt | |
| dump: | |
| request: | |
| attributes: | |
| - info | |
| reply: *pp-stats-reply | |
| config-cond: page-pool-stats | |
| - | |
| name: queue-get | |
| doc: Get queue information from the kernel. | |
| Only configured queues will be reported (as opposed to all available | |
| hardware queues). | |
| attribute-set: queue | |
| do: | |
| request: | |
| attributes: | |
| - ifindex | |
| - type | |
| - id | |
| reply: &queue-get-op | |
| attributes: | |
| - id | |
| - type | |
| - napi-id | |
| - ifindex | |
| - dmabuf | |
| - io-uring | |
| - xsk | |
| - lease | |
| dump: | |
| request: | |
| attributes: | |
| - ifindex | |
| reply: *queue-get-op | |
| - | |
| name: napi-get | |
| doc: Get information about NAPI instances configured on the system. | |
| attribute-set: napi | |
| do: | |
| request: | |
| attributes: | |
| - id | |
| reply: &napi-get-op | |
| attributes: | |
| - id | |
| - ifindex | |
| - irq | |
| - pid | |
| - defer-hard-irqs | |
| - gro-flush-timeout | |
| - irq-suspend-timeout | |
| - threaded | |
| dump: | |
| request: | |
| attributes: | |
| - ifindex | |
| reply: *napi-get-op | |
| - | |
| name: qstats-get | |
| doc: | | |
| Get / dump fine grained statistics. Which statistics are reported | |
| depends on the device and the driver, and whether the driver stores | |
| software counters per-queue. | |
| attribute-set: qstats | |
| dump: | |
| request: | |
| attributes: | |
| - ifindex | |
| - scope | |
| reply: | |
| attributes: | |
| - ifindex | |
| - queue-type | |
| - queue-id | |
| - rx-packets | |
| - rx-bytes | |
| - tx-packets | |
| - tx-bytes | |
| - rx-alloc-fail | |
| - rx-hw-drops | |
| - rx-hw-drop-overruns | |
| - rx-csum-complete | |
| - rx-csum-unnecessary | |
| - rx-csum-none | |
| - rx-csum-bad | |
| - rx-hw-gro-packets | |
| - rx-hw-gro-bytes | |
| - rx-hw-gro-wire-packets | |
| - rx-hw-gro-wire-bytes | |
| - rx-hw-drop-ratelimits | |
| - tx-hw-drops | |
| - tx-hw-drop-errors | |
| - tx-csum-none | |
| - tx-needs-csum | |
| - tx-hw-gso-packets | |
| - tx-hw-gso-bytes | |
| - tx-hw-gso-wire-packets | |
| - tx-hw-gso-wire-bytes | |
| - tx-hw-drop-ratelimits | |
| - tx-stop | |
| - tx-wake | |
| - | |
| name: bind-rx | |
| doc: Bind dmabuf to netdev | |
| attribute-set: dmabuf | |
| flags: [uns-admin-perm] | |
| do: | |
| request: | |
| attributes: | |
| - ifindex | |
| - fd | |
| - queues | |
| - rx-page-size | |
| reply: | |
| attributes: | |
| - id | |
| - | |
| name: napi-set | |
| doc: Set configurable NAPI instance settings. | |
| attribute-set: napi | |
| flags: [admin-perm] | |
| do: | |
| request: | |
| attributes: | |
| - id | |
| - defer-hard-irqs | |
| - gro-flush-timeout | |
| - irq-suspend-timeout | |
| - threaded | |
| - | |
| name: bind-tx | |
| doc: Bind dmabuf to netdev for TX | |
| attribute-set: dmabuf | |
| # Intentionally unprivileged (no admin-perm / uns-admin-perm); see | |
| # comment above netdev_nl_bind_tx_doit(). | |
| do: | |
| request: | |
| attributes: | |
| - ifindex | |
| - fd | |
| reply: | |
| attributes: | |
| - id | |
| - | |
| name: queue-create | |
| doc: | | |
| Create a new queue for the given netdevice. Whether this operation | |
| is supported depends on the device and the driver. | |
| attribute-set: queue | |
| flags: [admin-perm] | |
| do: | |
| request: | |
| attributes: | |
| - ifindex | |
| - type | |
| - lease | |
| reply: &queue-create-op | |
| attributes: | |
| - id | |
| kernel-family: | |
| headers: ["net/netdev_netlink.h"] | |
| sock-priv: struct netdev_nl_sock | |
| mcast-groups: | |
| list: | |
| - | |
| name: mgmt | |
| - | |
| name: page-pool |