From patchwork Thu Jan 2 22:07:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 234546 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2406EC3276C for ; Thu, 2 Jan 2020 22:52:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EDAE721835 for ; Thu, 2 Jan 2020 22:52:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578005568; bh=OgM9MrVpmk2MQlLVEKOHu21cL5Jv8U4SBPAvaoSO6Fc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=M8Xqe/lsVqGwsi0Qb/GzCAU0ZFTPb5Q5UanIvkKmkjUeIGanf+tJlQwD5pbLKGvQX 6IXC4ROKJuItc++ziPn0Rz/qZyqSUMSk/1HfxuZdRQ5YS0VpxeCpnmg6GyyPRieNvC V2t0akcD3PvyDvb5j6sOrxzTJJiDQdP6lvMeQB/I= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729142AbgABWWa (ORCPT ); Thu, 2 Jan 2020 17:22:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:43112 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728798AbgABWWa (ORCPT ); Thu, 2 Jan 2020 17:22:30 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 56D3F227BF; Thu, 2 Jan 2020 22:22:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578003749; bh=OgM9MrVpmk2MQlLVEKOHu21cL5Jv8U4SBPAvaoSO6Fc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xJuH2NOWH7CnASC7Ou0xzBgu8ao2ihg2E4O1HwJSnPkCpr5Hd9VJ52kDZo7CpO661 I6pnJGS6TgjyddlMOGBXVDdwxVo3bmM8MNpkR7zNF+5jGr5pusQcESkVDhm4jfLdIa p6gGEE82ItPeDx/217R4Oj/yGoh4rXtnRTRhLz9Y= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jianlin Shi , Guillaume Nault , David Ahern , Hangbin Liu , "David S. Miller" Subject: [PATCH 4.19 098/114] ip6_gre: do not confirm neighbor when do pmtu update Date: Thu, 2 Jan 2020 23:07:50 +0100 Message-Id: <20200102220039.090563518@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200102220029.183913184@linuxfoundation.org> References: <20200102220029.183913184@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Hangbin Liu [ Upstream commit 675d76ad0ad5bf41c9a129772ef0aba8f57ea9a7 ] When we do ipv6 gre pmtu update, we will also do neigh confirm currently. This will cause the neigh cache be refreshed and set to REACHABLE before xmit. But if the remote mac address changed, e.g. device is deleted and recreated, we will not able to notice this and still use the old mac address as the neigh cache is REACHABLE. Fix this by disable neigh confirm when do pmtu update v5: No change. v4: No change. v3: Do not remove dst_confirm_neigh, but add a new bool parameter in dst_ops.update_pmtu to control whether we should do neighbor confirm. Also split the big patch to small ones for each area. v2: Remove dst_confirm_neigh in __ip6_rt_update_pmtu. Reported-by: Jianlin Shi Reviewed-by: Guillaume Nault Acked-by: David Ahern Signed-off-by: Hangbin Liu Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/ipv6/ip6_gre.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c @@ -1060,7 +1060,7 @@ static netdev_tx_t ip6erspan_tunnel_xmit /* TooBig packet may have updated dst->dev's mtu */ if (!t->parms.collect_md && dst && dst_mtu(dst) > dst->dev->mtu) - dst->ops->update_pmtu(dst, NULL, skb, dst->dev->mtu, true); + dst->ops->update_pmtu(dst, NULL, skb, dst->dev->mtu, false); err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu, NEXTHDR_GRE);