This API enables the net stack to reset the queues used for devmem.

Signed-off-by: Mina Almasry <almasrym...@google.com>

---
 include/linux/netdevice.h | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 1b935ee341b4..316f7dee86ce 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1432,6 +1432,20 @@ struct netdev_net_notifier {
  *                        struct kernel_hwtstamp_config *kernel_config,
  *                        struct netlink_ext_ack *extack);
  *     Change the hardware timestamping parameters for NIC device.
+ *
+ * void *(*ndo_queue_mem_alloc)(struct net_device *dev, int idx);
+ *     Allocate memory for an RX queue. The memory returned in the form of
+ *     a void * can be passed to ndo_queue_mem_free() for freeing or to
+ *     ndo_queue_start to create an RX queue with this memory.
+ *
+ * void        (*ndo_queue_mem_free)(struct net_device *dev, void *);
+ *     Free memory from an RX queue.
+ *
+ * int (*ndo_queue_start)(struct net_device *dev, int idx, void *);
+ *     Start an RX queue at the specified index.
+ *
+ * int (*ndo_queue_stop)(struct net_device *dev, int idx, void **);
+ *     Stop the RX queue at the specified index.
  */
 struct net_device_ops {
        int                     (*ndo_init)(struct net_device *dev);
@@ -1673,6 +1687,16 @@ struct net_device_ops {
        int                     (*ndo_hwtstamp_set)(struct net_device *dev,
                                                    struct 
kernel_hwtstamp_config *kernel_config,
                                                    struct netlink_ext_ack 
*extack);
+       void *                  (*ndo_queue_mem_alloc)(struct net_device *dev,
+                                                      int idx);
+       void                    (*ndo_queue_mem_free)(struct net_device *dev,
+                                                     void *queue_mem);
+       int                     (*ndo_queue_start)(struct net_device *dev,
+                                                  int idx,
+                                                  void *queue_mem);
+       int                     (*ndo_queue_stop)(struct net_device *dev,
+                                                 int idx,
+                                                 void **out_queue_mem);
 };
 
 /**
-- 
2.43.0.472.g3155946c3a-goog

Reply via email to