From: Dietmar Maurer Date: Mon, 23 Jun 2014 11:46:18 +0000 (+0200) Subject: add Kernel patch to allow netpoll while veth is in use X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=debbaadaaeff4d6ce9c33d538907379adeb35043;p=pve-kernel-3.10.0.git add Kernel patch to allow netpoll while veth is in use --- diff --git a/Makefile b/Makefile index 03d54b3..3e2c1bc 100644 --- a/Makefile +++ b/Makefile @@ -148,6 +148,7 @@ ${KERNEL_SRC}/README: ${KERNEL_SRC}.org/README #cd ${KERNEL_SRC}; patch -p1 <../fix-nfs-block-count.patch #cd ${KERNEL_SRC}; patch -p1 <../fix-idr-header-for-drbd-compilation.patch cd ${KERNEL_SRC}; patch -p1 <../n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch + cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/' touch $@ diff --git a/add-empty-ndo_poll_controller-to-veth.patch b/add-empty-ndo_poll_controller-to-veth.patch new file mode 100644 index 0000000..f42f037 --- /dev/null +++ b/add-empty-ndo_poll_controller-to-veth.patch @@ -0,0 +1,43 @@ +From: Stefan Priebe +To: +Date: Sat, 21 Jun 2014 19:46:19 +0200 + +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 +--- + drivers/net/veth.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/net/veth.c b/drivers/net/veth.c +index 177f911..5de0771 100644 +--- a/drivers/net/veth.c ++++ b/drivers/net/veth.c +@@ -188,6 +188,12 @@ static struct rtnl_link_stats64 *veth_get_stats64(struct net_device *dev, + 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 @@ static const struct net_device_ops veth_netdev_ops = { + .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 | \ +-- +1.7.10.4