Older kernel versions do not support to only set NAPI for TX queues, so
call the normal NAPI function and do it also for the used RX part.

Signed-off-by: Hauke Mehrtens <[email protected]>
---
 backport/backport-include/linux/netdevice.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/backport/backport-include/linux/netdevice.h 
b/backport/backport-include/linux/netdevice.h
index 86d5ea7..bbe17a1 100644
--- a/backport/backport-include/linux/netdevice.h
+++ b/backport/backport-include/linux/netdevice.h
@@ -300,4 +300,26 @@ static inline void napi_complete_done(struct napi_struct 
*n, int work_done)
 }
 #endif /* < 3.19 */
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,0)
+#define netif_tx_napi_add LINUX_BACKPORT(netif_tx_napi_add)
+/**
+ *     netif_tx_napi_add - initialize a napi context
+ *     @dev:  network device
+ *     @napi: napi context
+ *     @poll: polling function
+ *     @weight: default weight
+ *
+ * This variant of netif_napi_add() should be used from drivers using NAPI
+ * to exclusively poll a TX queue.
+ * This will avoid we add it into napi_hash[], thus polluting this hash table.
+ */
+static inline void netif_tx_napi_add(struct net_device *dev,
+                                    struct napi_struct *napi,
+                                    int (*poll)(struct napi_struct *, int),
+                                    int weight)
+{
+       netif_napi_add(dev, napi, poll, weight);
+}
+#endif /* < 4.4 */
+
 #endif /* __BACKPORT_NETDEVICE_H */
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe backports" in

Reply via email to