diff options
author | Mina Almasry <almasrymina@google.com> | 2024-05-02 02:25:40 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-05-05 16:35:33 +0300 |
commit | 087b24de5c825c53f15a9481b94f757223c20610 (patch) | |
tree | 2e65f79341c3bea0d2f371c8b2d4a5fb9d2315b6 /include/net | |
parent | 173e7622ccb3f46834bd4176ed363f435e142942 (diff) | |
download | linux-087b24de5c825c53f15a9481b94f757223c20610.tar.xz |
queue_api: define queue api
This API enables the net stack to reset the queues used for devmem TCP.
Signed-off-by: Mina Almasry <almasrymina@google.com>
Signed-off-by: Shailend Chand <shailend@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/netdev_queues.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/net/netdev_queues.h b/include/net/netdev_queues.h index c7ac4539eafc..e7b84f018cee 100644 --- a/include/net/netdev_queues.h +++ b/include/net/netdev_queues.h @@ -88,6 +88,37 @@ struct netdev_stat_ops { }; /** + * struct netdev_queue_mgmt_ops - netdev ops for queue management + * + * @ndo_queue_mem_size: Size of the struct that describes a queue's memory. + * + * @ndo_queue_mem_alloc: Allocate memory for an RX queue at the specified index. + * The new memory is written at the specified address. + * + * @ndo_queue_mem_free: Free memory from an RX queue. + * + * @ndo_queue_start: Start an RX queue with the specified memory and at the + * specified index. + * + * @ndo_queue_stop: Stop the RX queue at the specified index. The stopped + * queue's memory is written at the specified address. + */ +struct netdev_queue_mgmt_ops { + size_t ndo_queue_mem_size; + int (*ndo_queue_mem_alloc)(struct net_device *dev, + void *per_queue_mem, + int idx); + void (*ndo_queue_mem_free)(struct net_device *dev, + void *per_queue_mem); + int (*ndo_queue_start)(struct net_device *dev, + void *per_queue_mem, + int idx); + int (*ndo_queue_stop)(struct net_device *dev, + void *per_queue_mem, + int idx); +}; + +/** * DOC: Lockless queue stopping / waking helpers. * * The netif_txq_maybe_stop() and __netif_txq_completed_wake() |