Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753991AbdFSNOB convert rfc822-to-8bit (ORCPT ); Mon, 19 Jun 2017 09:14:01 -0400 Received: from cmccmta2.chinamobile.com ([221.176.66.80]:22214 "EHLO cmccmta2.chinamobile.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750928AbdFSNOA (ORCPT ); Mon, 19 Jun 2017 09:14:00 -0400 X-RM-TRANSID: 2ee85947ce12917-359a2 X-RM-SPAM-FLAG: 00000000 X-RM-TRANSID: 2ee95947ce105fa-c962c Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: [PATCH v2 1/2] ip_tunnel: fix ip tunnel lookup in collect_md mode From: =?utf-8?B?5Lil5rW35Y+M?= In-Reply-To: Date: Mon, 19 Jun 2017 21:13:52 +0800 Cc: "David S. Miller" , Paolo Abeni , Alexei Starovoitov , Linux Kernel Network Developers , linux-kernel@vger.kernel.org, Pravin B Shelar Content-Transfer-Encoding: 8BIT Message-Id: References: <1497670031-2971-1-git-send-email-yanhaishuang@cmss.chinamobile.com> To: Pravin Shelar X-Mailer: Apple Mail (2.3273) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1545 Lines: 53 > On 19 Jun 2017, at 1:43 PM, Pravin Shelar wrote: > > On Fri, Jun 16, 2017 at 8:27 PM, Haishuang Yan > wrote: >> In collect_md mode, if the tun dev is down, it still can call >> ip_tunnel_rcv to receive on packets, and the rx statistics increase >> improperly. >> >> Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") >> Cc: Pravin B Shelar >> Signed-off-by: Haishuang Yan >> >> --- >> Change since v2: >> * Fix wrong recipient addresss >> --- >> net/ipv4/ip_tunnel.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c >> index 0f1d876..a3caba1 100644 >> --- a/net/ipv4/ip_tunnel.c >> +++ b/net/ipv4/ip_tunnel.c >> @@ -176,7 +176,7 @@ struct ip_tunnel *ip_tunnel_lookup(struct ip_tunnel_net *itn, >> return cand; >> >> t = rcu_dereference(itn->collect_md_tun); >> - if (t) >> + if (t && (t->dev->flags & IFF_UP)) >> return t; >> > It would be nice if we could increment drop count if tunnel device is not up. > Hi Pravin I think it’s not necessary, for example as gre tunnel, if ipgre_rcv fails, it would trigger send an icmp unreachable message: if (ipgre_rcv(skb, &tpi, hdr_len) == PACKET_RCVD) return 0; icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0); Since the tunnel device didn’t touch the packets, so increase drop statistics is not necessary. Thanks