diff mbox

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

Message ID 547654E6.8040005@smart-weblications.de
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Smart Weblications GmbH - Florian Wiessner Nov. 26, 2014, 10:32 p.m. UTC
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.

Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
---
  drivers/net/veth.c | 9 +++++++++
  1 file changed, 9 insertions(+)
diff mbox

Patch

--- veth.c-orig 2014-11-26 23:30:26.104210917 +0100
+++ veth.c      2014-11-26 23:29:37.357444217 +0100
@@ -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.

Signed-off-by: Florian Wiessner <f.wiessner@smart-kvm.com>

--- veth.c.orig 2014-11-26 23:22:57.926041383 +0100
+++ veth.c      2014-11-26 23:23:42.584757995 +0100
@@ -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 |    \