From e513dc9e44a3ae1b47e9f460bcd01e03e39cdf88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Mon, 27 Mar 2017 12:41:31 +0200 Subject: [PATCH] add OVS MTU fix --- Makefile | 1 + ...internal-device-max-mtu-to-ETH_MAX_M.patch | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch diff --git a/Makefile b/Makefile index 893343e..25a5fc0 100644 --- a/Makefile +++ b/Makefile @@ -260,6 +260,7 @@ ${KERNEL_SRC}/README ${KERNEL_CFG_ORG}: ${KERNEL_SRC_SUBMODULE} | submodules cd ${KERNEL_SRC}; patch -p1 < ../kvm-dynamic-halt-polling-disable-default.patch cd ${KERNEL_SRC}; patch -p1 < ../cgroup-cpuset-add-cpuset.remap_cpus.patch cd ${KERNEL_SRC}; patch -p1 < ../CVE-2017-2596-kvm-page-reference-leakage-in-handle_vmon.patch + cd ${KERNEL_SRC}; patch -p1 < ../openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/' touch $@ diff --git a/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch b/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch new file mode 100644 index 0000000..8286d3f --- /dev/null +++ b/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch @@ -0,0 +1,41 @@ +From 425df17ce3a26d98f76e2b6b0af2acf4aeb0b026 Mon Sep 17 00:00:00 2001 +From: Jarno Rajahalme +Date: Tue, 14 Feb 2017 21:16:28 -0800 +Subject: [PATCH] openvswitch: Set internal device max mtu to ETH_MAX_MTU. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 91572088e3fd ("net: use core MTU range checking in core net +infra") changed the openvswitch internal device to use the core net +infra for controlling the MTU range, but failed to actually set the +max_mtu as described in the commit message, which now defaults to +ETH_DATA_LEN. + +This patch fixes this by setting max_mtu to ETH_MAX_MTU after +ether_setup() call. + +Fixes: 91572088e3fd ("net: use core MTU range checking in core net infra") +Signed-off-by: Jarno Rajahalme +Signed-off-by: David S. Miller +Signed-off-by: Fabian Grünbichler +--- + net/openvswitch/vport-internal_dev.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c +index 09141a1..89193a6 100644 +--- a/net/openvswitch/vport-internal_dev.c ++++ b/net/openvswitch/vport-internal_dev.c +@@ -149,6 +149,8 @@ static void do_setup(struct net_device *netdev) + { + ether_setup(netdev); + ++ netdev->max_mtu = ETH_MAX_MTU; ++ + netdev->netdev_ops = &internal_dev_netdev_ops; + + netdev->priv_flags &= ~IFF_TX_SKB_SHARING; +-- +2.1.4 +