[{"id":1762997,"web_url":"http://patchwork.ozlabs.org/comment/1762997/","msgid":"<CAOrHB_DN4Qo4biEwhiW8X24udQbR9Miix8cwrR2Pcbj5W42txA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-05T06:47:47","subject":"Re: [PATCH] geneve: Fix setting ttl value in collect metadata mode","submitter":{"id":68043,"url":"http://patchwork.ozlabs.org/api/people/68043/","name":"Pravin Shelar","email":"pshelar@ovn.org"},"content":"On Sun, Sep 3, 2017 at 5:49 AM, Haishuang Yan\n<yanhaishuang@cmss.chinamobile.com> wrote:\n> If key->tos is zero in collect metadata mode, tos should fallback to\n> ip{4,6}_dst_hoplimit, same as normal mode.\n>\n> Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>\n> ---\n>  drivers/net/geneve.c | 6 ++----\n>  1 file changed, 2 insertions(+), 4 deletions(-)\n>\n> diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c\n> index f640407..d52a65f 100644\n> --- a/drivers/net/geneve.c\n> +++ b/drivers/net/geneve.c\n> @@ -834,11 +834,10 @@ static int geneve_xmit_skb(struct sk_buff *skb, struct net_device *dev,\n>         sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true);\n>         if (geneve->collect_md) {\n>                 tos = ip_tunnel_ecn_encap(key->tos, ip_hdr(skb), skb);\n> -               ttl = key->ttl;\n>         } else {\n>                 tos = ip_tunnel_ecn_encap(fl4.flowi4_tos, ip_hdr(skb), skb);\n> -               ttl = key->ttl ? : ip4_dst_hoplimit(&rt->dst);\n>         }\n> +       ttl = key->ttl ? : ip4_dst_hoplimit(&rt->dst);\nIn collect md mode, geneve has to set TTL value from tunnel metadata.\nThat is the API exposed to userspace. is there reason for this change?\n\n\n>         df = key->tun_flags & TUNNEL_DONT_FRAGMENT ? htons(IP_DF) : 0;\n>\n>         err = geneve_build_skb(&rt->dst, skb, info, xnet, sizeof(struct iphdr));\n> @@ -873,12 +872,11 @@ static int geneve6_xmit_skb(struct sk_buff *skb, struct net_device *dev,\n>         sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true);\n>         if (geneve->collect_md) {\n>                 prio = ip_tunnel_ecn_encap(key->tos, ip_hdr(skb), skb);\n> -               ttl = key->ttl;\n>         } else {\n>                 prio = ip_tunnel_ecn_encap(ip6_tclass(fl6.flowlabel),\n>                                            ip_hdr(skb), skb);\n> -               ttl = key->ttl ? : ip6_dst_hoplimit(dst);\n>         }\n> +       ttl = key->ttl ? : ip6_dst_hoplimit(dst);\n>         err = geneve_build_skb(dst, skb, info, xnet, sizeof(struct ipv6hdr));\n>         if (unlikely(err))\n>                 return err;\n> --\n> 1.8.3.1\n>\n>\n>","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmcjc44yVz9sPk\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue,  5 Sep 2017 16:48:04 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751090AbdIEGrv (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 5 Sep 2017 02:47:51 -0400","from relay4-d.mail.gandi.net ([217.70.183.196]:52600 \"EHLO\n\trelay4-d.mail.gandi.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750846AbdIEGrt (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 5 Sep 2017 02:47:49 -0400","from mail-wr0-f176.google.com (mail-wr0-f176.google.com\n\t[209.85.128.176]) (Authenticated sender: pshelar@ovn.org)\n\tby relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 5E5E41720A1;\n\tTue,  5 Sep 2017 08:47:48 +0200 (CEST)","by mail-wr0-f176.google.com with SMTP id a43so6282340wrc.0;\n\tMon, 04 Sep 2017 23:47:48 -0700 (PDT)","by 10.223.130.148 with HTTP; Mon, 4 Sep 2017 23:47:47 -0700 (PDT)"],"X-Originating-IP":"209.85.128.176","X-Gm-Message-State":"AHPjjUg0w3KqLsQx5a1MYEzvEoEsiGFqFNQjj1HtsyxTwAbOUkvmg4Uh\n\tKjlr/0qFaCKpjbAQj1xGPRgLajb9pA==","X-Google-Smtp-Source":"ADKCNb7qunYGbNo94iEQ9whZLTSPbEVsY+gUs91YIjs5Nez6TuS8/+bB+myVymkBHO4AxzFOdllkSrspbQmOuu1+oNs=","X-Received":"by 10.223.185.25 with SMTP id k25mr1534443wrf.302.1504594067826; \n\tMon, 04 Sep 2017 23:47:47 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1504442982-12431-1-git-send-email-yanhaishuang@cmss.chinamobile.com>","References":"<1504442982-12431-1-git-send-email-yanhaishuang@cmss.chinamobile.com>","From":"Pravin Shelar <pshelar@ovn.org>","Date":"Mon, 4 Sep 2017 23:47:47 -0700","X-Gmail-Original-Message-ID":"<CAOrHB_DN4Qo4biEwhiW8X24udQbR9Miix8cwrR2Pcbj5W42txA@mail.gmail.com>","Message-ID":"<CAOrHB_DN4Qo4biEwhiW8X24udQbR9Miix8cwrR2Pcbj5W42txA@mail.gmail.com>","Subject":"Re: [PATCH] geneve: Fix setting ttl value in collect metadata mode","To":"Haishuang Yan <yanhaishuang@cmss.chinamobile.com>","Cc":"\"David S. Miller\" <davem@davemloft.net>,\n\tGirish Moodalbail <girish.moodalbail@oracle.com>,\n\tLinux Kernel Network Developers <netdev@vger.kernel.org>,\n\tlinux-kernel@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]