Skip to contentSkip to conversation

add an empty ndo_poll_controller to veth to make bridges happy to support poll with veth devices attached

PATCH New Smart Weblications GmbH - Florian Wiessner 1 participant 1 message Nov 26, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 add an empty ndo_poll_controller to veth to make bridges happy to support poll with veth devices attached

Hi netdev,

what do i need to do to get these patches to 3.10, 3.12, 3.14 lts?

for kernels 3.10, 3.12:

This patch adds netpoll "support" to veth. As veth is a virtual device there is no need to support netpoll. We just need
to tell the kernel veth supports it to have netpoll support on bridging while veth devices are assigned.
An example is the netconsole driver on a bridge.

---
  drivers/net/veth.c | 9 +++++++++
  1 file changed, 9 insertions(+)
veth.c 2014-11-26 23:29:37.357444217 +0100 renamed from veth.c-orig 2014-11-26 23:30:26.104210917 +0100 +9 -0
@@ -188,6 +188,12 @@
        return tot;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void veth_poll_controller(struct net_device *dev)
+{
+}
+#endif
+
 static int veth_open(struct net_device *dev)
 {
        struct veth_priv *priv = netdev_priv(dev);
@@ -251,6 +257,9 @@
        .ndo_change_mtu      = veth_change_mtu,
        .ndo_get_stats64     = veth_get_stats64,
        .ndo_set_mac_address = eth_mac_addr,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller = veth_poll_controller,
+#endif
 };
 
 #define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO |    \

for kernels 3.14.25, 3.16.7:

This patch adds netpoll "support" to veth. As veth is a virtual device there is no need to support netpoll. We just need
to tell the kernel veth supports it to have netpoll support on bridging while veth devices are assigned.
An example is the netconsole driver on a bridge.

veth.c 2014-11-26 23:23:42.584757995 +0100 renamed from veth.c.orig 2014-11-26 23:22:57.926041383 +0100 +9 -0
@@ -188,6 +188,12 @@
        return tot;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void veth_poll_controller(struct net_device *dev)
+{
+}
+#endif
+
 /* fake multicast ability */
 static void veth_set_multicast_list(struct net_device *dev)
 {
@@ -265,6 +271,9 @@
        .ndo_get_stats64     = veth_get_stats64,
        .ndo_set_rx_mode     = veth_set_multicast_list,
        .ndo_set_mac_address = eth_mac_addr,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+        .ndo_poll_controller    = veth_poll_controller,
+#endif
 };
 
 #define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO |    \
Signature · 18 lines
Mit freundlichen Grüßen,

Florian Wiessner

Smart Weblications GmbH
Martinsberger Str. 1
D-95119 Naila

fon.: +49 9282 9638 200
fax.: +49 9282 9638 205
24/7: +49 900 144 000 00 - 0,99 EUR/Min*
http://www.smart-weblications.de

--
Sitz der Gesellschaft: Naila
Geschäftsführer: Florian Wiessner
HRB-Nr.: HRB 3840 Amtsgericht Hof
*aus dem dt. Festnetz, ggf. abweichende Preise aus dem Mobilfunknetz