Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp662809pxb; Tue, 2 Feb 2021 14:47:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxUCkJSU9/2LzIWnfL3NfWzas7ysoaSX03+CQDiEtSIaggnph+DDgMOUZdeUElJARAmnw15 X-Received: by 2002:a17:906:1355:: with SMTP id x21mr228875ejb.53.1612306051311; Tue, 02 Feb 2021 14:47:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612306051; cv=none; d=google.com; s=arc-20160816; b=rlqfnfLnQEa0ABhLu32e7zEoEDQU0b5mHZZE6Vep7vqf8dHBQUJdud/S+Y/249QQQ/ HUcMKzFx3s/9WmuugjJKcRrVDppktOTUhr2sAzhwfwoFxLJ1qETuWk2mIKRZ7/qvHjzG bLV8PIXyfKHqCWmfohXLxEKcV4k9yp9dn4Ny983Qw9VS9V27xr1xZeCjRXJ4cIW2hmXx GFA+kKrnu05G/dwPR8fLUyRU1Kr796dngClgaICmL9erU7L7yS2ZhzyXSvE2WDhtpaHB FwGwHUxVQ8AkQicKrJFGXCalqdxXB2SVT/rIres2a/IBC5TRLcH+Y1Yq+34KxFmFSMS7 1Rwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=yL24LUH+52A64GbZeUKlkHbDWaye7HpUwYvrhFiiGoM=; b=UXZUZp8GMZoX+RoaGfX2toI4WLzFjrgSm48GkhCzg/wKN87Cl4RcWoJ60HqpT85ZnP r/X1/1lmKo5dxiler5VQh1NoI4AAWTTCX6TDP3vifw2QqT3HgGw09orPCEaASGEiZm5m 5ddMWbfML7kuki+QEbEYMQgCI0Zmv5I79iCNlo5G00zpWzl3lPbajmKSfiYB7H5Tev02 aneV8SCotcsUhf7CuSvZkA494slILi8dvtUKUzxZKjvaWlhS0vlqdLbZ3qnPvj9XtiTr UOQ2heSNvzvv59EJlheaK7VuXaZyvGrtVlMioumaxPCP35a52LhHnRjk8Dd2+vu/kBVr kYmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Et0G7MTA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r26si97085edt.85.2021.02.02.14.47.06; Tue, 02 Feb 2021 14:47:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Et0G7MTA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235839AbhBBQDy (ORCPT + 99 others); Tue, 2 Feb 2021 11:03:54 -0500 Received: from mail.kernel.org ([198.145.29.99]:50254 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235918AbhBBQAG (ORCPT ); Tue, 2 Feb 2021 11:00:06 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id DCBB364E9C; Tue, 2 Feb 2021 15:59:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612281564; bh=xQZUALESxhZKFk3yX/5mSVT37Mz913L8FFWZ44r9JLA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Et0G7MTAzaD8iWTsx2txahikP2xGcS3cKw/H6/iQBv89XCUxto92YKk6IKS7JpxBs AXVcDFFpPkR3xgRRjk122PEaqbSLE/JOCxEUuGNLEjDOf1RxS3rF4trnsdz6ZSnkc8 YHFr36eB9OkGuoL7xhsOiWojTa7er74ESxieBTrN12p9uoWN1yyWN0BgqKt6JTTLt3 rECOYrcE7F0o84U2V46RCiyRZ6knINthWZGU7F8wCxvzfJrkWUU8Dy7hAgp5JPz945 6WXAIvSnCtw5wQFdKs7l49bE5tH4koOQfq5cho13FhX0HzPtmffOIFHTygYKp96c7T GeCaZmquQYRlg== Date: Tue, 2 Feb 2021 17:59:20 +0200 From: Leon Romanovsky To: Eric Dumazet Cc: Jakub Kicinski , "David S. Miller" , Pablo Neira Ayuso , coreteam@netfilter.org, Florian Westphal , Hideaki YOSHIFUJI , Jozsef Kadlecsik , Julian Anastasov , LKML , lvs-devel@vger.kernel.org, Matteo Croce , netdev , netfilter-devel@vger.kernel.org, Simon Horman Subject: Re: [PATCH net 3/4] net/core: move ipv6 gro function declarations to net/ipv6 Message-ID: <20210202155920.GC3264866@unreal> References: <20210202135544.3262383-1-leon@kernel.org> <20210202135544.3262383-4-leon@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 02, 2021 at 03:57:07PM +0100, Eric Dumazet wrote: > On Tue, Feb 2, 2021 at 2:56 PM Leon Romanovsky wrote: > > > > From: Leon Romanovsky > > > > Fir the following compilation warnings: > > 1031 | INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb) > > > > net/ipv6/ip6_offload.c:182:41: warning: no previous prototype for ‘ipv6_gro_receive’ [-Wmissing-prototypes] > > 182 | INDIRECT_CALLABLE_SCOPE struct sk_buff *ipv6_gro_receive(struct list_head *head, > > | ^~~~~~~~~~~~~~~~ > > net/ipv6/ip6_offload.c:320:29: warning: no previous prototype for ‘ipv6_gro_complete’ [-Wmissing-prototypes] > > 320 | INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff) > > | ^~~~~~~~~~~~~~~~~ > > net/ipv6/ip6_offload.c:182:41: warning: no previous prototype for ‘ipv6_gro_receive’ [-Wmissing-prototypes] > > 182 | INDIRECT_CALLABLE_SCOPE struct sk_buff *ipv6_gro_receive(struct list_head *head, > > | ^~~~~~~~~~~~~~~~ > > net/ipv6/ip6_offload.c:320:29: warning: no previous prototype for ‘ipv6_gro_complete’ [-Wmissing-prototypes] > > 320 | INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff) > > > > Fixes: aaa5d90b395a ("net: use indirect call wrappers at GRO network layer") > > Signed-off-by: Leon Romanovsky > > --- > > include/net/ipv6.h | 3 +++ > > net/core/dev.c | 4 +--- > > 2 files changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/include/net/ipv6.h b/include/net/ipv6.h > > index bd1f396cc9c7..68676e6bd4b1 100644 > > --- a/include/net/ipv6.h > > +++ b/include/net/ipv6.h > > @@ -1265,4 +1265,7 @@ static inline void ip6_sock_set_recvpktinfo(struct sock *sk) > > release_sock(sk); > > } > > > > +INDIRECT_CALLABLE_DECLARE(struct sk_buff *ipv6_gro_receive(struct list_head *, > > + struct sk_buff *)); > > +INDIRECT_CALLABLE_DECLARE(int ipv6_gro_complete(struct sk_buff *, int)); > > > I think we should move this to a new include file. The ipv6_gro_* used in net/core/dev.c and net/ipv6/ip6_offload.c. This left me with four options: 1. Use existing and already shared file - include/net/ipv6.h 2. Create new header and put it in net/, so include will be something like that "../new_file.h". 3. Put new header in one of the folders or core/ or ipv6/. 4. Create new file in include/net just for those two lines. I preferred option #1, which other option do you want me to redo? > > These declarations were static, and had to be made public only because > of DIRECT call stuff, > which is an implementation detail. > > Polluting include/net/ipv6.h seems not appropriate. Thanks for the review.