Messages in this thread | | | From | Pravin Shelar <> | Date | Mon, 19 Jun 2017 11:08:15 -0700 | Subject | Re: [PATCH v2 1/2] ip_tunnel: fix ip tunnel lookup in collect_md mode |
| |
On Mon, Jun 19, 2017 at 6:13 AM, 严海双 <yanhaishuang@cmss.chinamobile.com> wrote: > > >> On 19 Jun 2017, at 1:43 PM, Pravin Shelar <pshelar@ovn.org> wrote: >> >> On Fri, Jun 16, 2017 at 8:27 PM, Haishuang Yan >> <yanhaishuang@cmss.chinamobile.com> 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 <pshelar@nicira.com> >>> Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com> >>> >>> --- >>> 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. > icmp err packets are not reliable on all networks. device stats are much more convenient during debugging connectivity issues.
| |