From mboxrd@z Thu Jan 1 00:00:00 1970 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=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham 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 878C2C43381 for ; Fri, 15 Feb 2019 19:58:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4D68A21B18 for ; Fri, 15 Feb 2019 19:58:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ia9SBbig" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731543AbfBOT6w (ORCPT ); Fri, 15 Feb 2019 14:58:52 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:41783 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726317AbfBOT6w (ORCPT ); Fri, 15 Feb 2019 14:58:52 -0500 Received: by mail-pl1-f194.google.com with SMTP id k15so5446365pls.8 for ; Fri, 15 Feb 2019 11:58:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=B0wHoiL0h4fE5rL9h2fiz/wZyU5ka79jWcXMD51w96Y=; b=Ia9SBbigCYugKwMox0OWOlBIWU/1A4Sgp/b3u8G6Sxr7w0iMQX/2f+vnUAJT384F3g bql4Q/doMJT5ja8lulx44sNzvMWyPICN4cyF2c7p8u/Pi7ixeVenu++bakEGUNX4SOAL J7BLIFdViqUh3ypS1nQyePWp9NxaTB63wBq8ZvYi1Vi6qUcy/aozad2zxnGGNHEvxhtp J3AXZUv1A+AqJkWDB3L9kjGYPH+CFxMglBN8fb40uNcPf5r/bW+RxBXHacW5UVbZowOs Q634m45POHGsrJwrVd7d844g8FxSO5ka5GAHjqs4YvEQ2kciOo2SO945Ltm7sO2zi7Y6 1JMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=B0wHoiL0h4fE5rL9h2fiz/wZyU5ka79jWcXMD51w96Y=; b=Xe3DwkZfwf4C10EdB9fuuG9wH2UxzkYfLD1fBiiDw/5qfp2Pj9Ekc5WMgdb9/1sQbx GPv6zSQ1XkYowX4NSVOHO3U9YG4qQBcWYM9WZCu9xN8KQL8d8f57IOlEIg+7su353RUL Hz3SuoS0CVTVDF0fIPCPicsNPczZVPhDGzkCOWMXKY0kYcDpHc66JNYVUV794BmUkffU hc+uLMqFY4lQ8D9wdLf/Ilc8qm4SL/kMOEij4STlH7KrdjinRuxdvjA0Lyq/z68DwbwN RG/kT7jWU2Z17UbpDqokbbaIfVwlDoEnV5SOccg3GCygBMIXyyN/aYk1p+HolyyGGTca pN0w== X-Gm-Message-State: AHQUAuZviwhtYtumH+2V3BU/qV6wV79QLYIKQ73QH4k9/enQXNqGcSh3 fPVuNQcHuTdKS14YXBa2Yng= X-Google-Smtp-Source: AHgI3IZuAfO5iuyjstbTGDiPZgrCQEIX3+ddkopgYaMBCSe8NoHSqqZkkaYkdCcrMXWazP7n3NOqrQ== X-Received: by 2002:a17:902:9a09:: with SMTP id v9mr7453522plp.225.1550260731718; Fri, 15 Feb 2019 11:58:51 -0800 (PST) Received: from [192.168.0.16] (97-115-123-245.ptld.qwest.net. [97.115.123.245]) by smtp.gmail.com with ESMTPSA id l81sm16236619pfg.100.2019.02.15.11.58.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Feb 2019 11:58:51 -0800 (PST) Subject: Re: [PATCH net] net: ip6_gre: initialize erspan_ver just for erspan tunnels To: Lorenzo Bianconi , davem@davemloft.net Cc: netdev@vger.kernel.org, petrm@mellanox.com References: From: Gregory Rose Message-ID: <81baa41c-991f-e417-2a13-da9218c1408d@gmail.com> Date: Fri, 15 Feb 2019 11:58:49 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 2/15/2019 6:10 AM, Lorenzo Bianconi wrote: > After commit c706863bc890 ("net: ip6_gre: always reports o_key to > userspace"), ip6gre and ip6gretap tunnels started reporting TUNNEL_KEY > output flag even if it is not configured. > ip6gre_fill_info checks erspan_ver value to add TUNNEL_KEY for > erspan tunnels, however in commit 84581bdae9587 ("erspan: set > erspan_ver to 1 by default when adding an erspan dev") > erspan_ver is initialized to 1 even for ip6gre or ip6gretap > Fix the issue moving erspan_ver initialization in a dedicated routine > > Fixes: c706863bc890 ("net: ip6_gre: always reports o_key to userspace") > Signed-off-by: Lorenzo Bianconi > --- > net/ipv6/ip6_gre.c | 34 ++++++++++++++++++++-------------- > 1 file changed, 20 insertions(+), 14 deletions(-) > > diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c > index 801a9a0c217e..43890898b0b5 100644 > --- a/net/ipv6/ip6_gre.c > +++ b/net/ipv6/ip6_gre.c > @@ -1719,6 +1719,24 @@ static int ip6erspan_tap_validate(struct nlattr *tb[], struct nlattr *data[], > return 0; > } > > +static void ip6erspan_set_version(struct nlattr *data[], > + struct __ip6_tnl_parm *parms) > +{ > + parms->erspan_ver = 1; > + if (data[IFLA_GRE_ERSPAN_VER]) > + parms->erspan_ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]); > + > + if (parms->erspan_ver == 1) { > + if (data[IFLA_GRE_ERSPAN_INDEX]) > + parms->index = nla_get_u32(data[IFLA_GRE_ERSPAN_INDEX]); > + } else if (parms->erspan_ver == 2) { > + if (data[IFLA_GRE_ERSPAN_DIR]) > + parms->dir = nla_get_u8(data[IFLA_GRE_ERSPAN_DIR]); > + if (data[IFLA_GRE_ERSPAN_HWID]) > + parms->hwid = nla_get_u16(data[IFLA_GRE_ERSPAN_HWID]); > + } > +} > + > static void ip6gre_netlink_parms(struct nlattr *data[], > struct __ip6_tnl_parm *parms) > { > @@ -1767,20 +1785,6 @@ static void ip6gre_netlink_parms(struct nlattr *data[], > > if (data[IFLA_GRE_COLLECT_METADATA]) > parms->collect_md = true; > - > - parms->erspan_ver = 1; > - if (data[IFLA_GRE_ERSPAN_VER]) > - parms->erspan_ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]); > - > - if (parms->erspan_ver == 1) { > - if (data[IFLA_GRE_ERSPAN_INDEX]) > - parms->index = nla_get_u32(data[IFLA_GRE_ERSPAN_INDEX]); > - } else if (parms->erspan_ver == 2) { > - if (data[IFLA_GRE_ERSPAN_DIR]) > - parms->dir = nla_get_u8(data[IFLA_GRE_ERSPAN_DIR]); > - if (data[IFLA_GRE_ERSPAN_HWID]) > - parms->hwid = nla_get_u16(data[IFLA_GRE_ERSPAN_HWID]); > - } > } > > static int ip6gre_tap_init(struct net_device *dev) > @@ -2203,6 +2207,7 @@ static int ip6erspan_newlink(struct net *src_net, struct net_device *dev, > int err; > > ip6gre_netlink_parms(data, &nt->parms); > + ip6erspan_set_version(data, &nt->parms); > ign = net_generic(net, ip6gre_net_id); > > if (nt->parms.collect_md) { > @@ -2248,6 +2253,7 @@ static int ip6erspan_changelink(struct net_device *dev, struct nlattr *tb[], > if (IS_ERR(t)) > return PTR_ERR(t); > > + ip6erspan_set_version(data, &p); > ip6gre_tunnel_unlink_md(ign, t); > ip6gre_tunnel_unlink(ign, t); > ip6erspan_tnl_change(t, &p, !tb[IFLA_MTU]); LGTM.  Thanks Lorenzo. Reviewed-by: Greg Rose