From: Gavin Li <gavinl@nvidia•com>
To: Simon Horman <simon.horman@corigine•com>
Cc: davem@davemloft•net, edumazet@google•com, kuba@kernel•org,
pabeni@redhat•com, roopa@nvidia•com,
eng.alaamohamedsoliman.am@gmail•com, bigeasy@linutronix•de,
netdev@vger•kernel.org, linux-kernel@vger•kernel.org,
gavi@nvidia•com, roid@nvidia•com, maord@nvidia•com,
saeedm@nvidia•com
Subject: Re: [PATCH net-next v3 2/5] vxlan: Expose helper vxlan_build_gbp_hdr
Date: Mon, 20 Feb 2023 15:15:20 +0800 [thread overview]
Message-ID: <c8fcebb5-4eba-71c8-e20c-cd7afd7e0d98@nvidia.com> (raw)
In-Reply-To: <Y/MV1JFn4NuptO9q@corigine.com>
On 2/20/2023 2:40 PM, Simon Horman wrote:
> External email: Use caution opening links or attachments
>
>
> On Mon, Feb 20, 2023 at 10:05:00AM +0800, Gavin Li wrote:
>> On 2/20/2023 4:32 AM, Simon Horman wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> On Fri, Feb 17, 2023 at 05:39:22AM +0200, Gavin Li wrote:
>>>> vxlan_build_gbp_hdr will be used by other modules to build gbp option in
>>>> vxlan header according to gbp flags.
>>>>
>>>> Signed-off-by: Gavin Li <gavinl@nvidia•com>
>>>> Reviewed-by: Gavi Teitz <gavi@nvidia•com>
>>>> Reviewed-by: Roi Dayan <roid@nvidia•com>
>>>> Reviewed-by: Maor Dickman <maord@nvidia•com>
>>>> Acked-by: Saeed Mahameed <saeedm@nvidia•com>
>>> I do wonder if this needs to be a static inline function.
>>> But nonetheless,
>> Will get "unused-function" from gcc without "inline"
>>
>> ./include/net/vxlan.h:569:13: warning: ‘vxlan_build_gbp_hdr’ defined but not
>> used [-Wunused-function]
>> static void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, const struct
>> vxlan_metadata *md)
> Right. But what I was really wondering is if the definition
> of the function could stay in drivers/net/vxlan/vxlan_core.c,
> without being static. And have a declaration in include/net/vxlan.h
Tried that the first time the function was called by driver code. It
would introduce dependency in linking between the driver and the kernel
module.
Do you think it's OK to have such dependency?
>
>>> Reviewed-by: Simon Horman <simon.horman@corigine•com>
>>>
>>>> ---
>>>> drivers/net/vxlan/vxlan_core.c | 19 -------------------
>>>> include/net/vxlan.h | 19 +++++++++++++++++++
>>>> 2 files changed, 19 insertions(+), 19 deletions(-)
>>>>
>>>> diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c
>>>> index 86967277ab97..13faab36b3e1 100644
>>>> --- a/drivers/net/vxlan/vxlan_core.c
>>>> +++ b/drivers/net/vxlan/vxlan_core.c
>>>> @@ -2140,25 +2140,6 @@ static bool route_shortcircuit(struct net_device *dev, struct sk_buff *skb)
>>>> return false;
>>>> }
>>>>
>>>> -static void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, struct vxlan_metadata *md)
>>>> -{
>>>> - struct vxlanhdr_gbp *gbp;
>>>> -
>>>> - if (!md->gbp)
>>>> - return;
>>>> -
>>>> - gbp = (struct vxlanhdr_gbp *)vxh;
>>>> - vxh->vx_flags |= VXLAN_HF_GBP;
>>>> -
>>>> - if (md->gbp & VXLAN_GBP_DONT_LEARN)
>>>> - gbp->dont_learn = 1;
>>>> -
>>>> - if (md->gbp & VXLAN_GBP_POLICY_APPLIED)
>>>> - gbp->policy_applied = 1;
>>>> -
>>>> - gbp->policy_id = htons(md->gbp & VXLAN_GBP_ID_MASK);
>>>> -}
>>>> -
>>>> static int vxlan_build_gpe_hdr(struct vxlanhdr *vxh, __be16 protocol)
>>>> {
>>>> struct vxlanhdr_gpe *gpe = (struct vxlanhdr_gpe *)vxh;
>>>> diff --git a/include/net/vxlan.h b/include/net/vxlan.h
>>>> index bca5b01af247..b6d419fa7ab1 100644
>>>> --- a/include/net/vxlan.h
>>>> +++ b/include/net/vxlan.h
>>>> @@ -566,4 +566,23 @@ static inline bool vxlan_fdb_nh_path_select(struct nexthop *nh,
>>>> return true;
>>>> }
>>>>
>>>> +static inline void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, const struct vxlan_metadata *md)
>>>> +{
>>>> + struct vxlanhdr_gbp *gbp;
>>>> +
>>>> + if (!md->gbp)
>>>> + return;
>>>> +
>>>> + gbp = (struct vxlanhdr_gbp *)vxh;
>>>> + vxh->vx_flags |= VXLAN_HF_GBP;
>>>> +
>>>> + if (md->gbp & VXLAN_GBP_DONT_LEARN)
>>>> + gbp->dont_learn = 1;
>>>> +
>>>> + if (md->gbp & VXLAN_GBP_POLICY_APPLIED)
>>>> + gbp->policy_applied = 1;
>>>> +
>>>> + gbp->policy_id = htons(md->gbp & VXLAN_GBP_ID_MASK);
>>>> +}
>>>> +
>>>> #endif
>>>> --
>>>> 2.31.1
>>>>
next prev parent reply other threads:[~2023-02-20 7:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-17 3:39 [PATCH net-next v3 0/5] net/mlx5e: Add GBP VxLAN HW offload support Gavin Li
2023-02-17 3:39 ` [PATCH net-next v3 1/5] vxlan: Remove unused argument from vxlan_build_gbp_hdr( ) and vxlan_build_gpe_hdr( ) Gavin Li
2023-02-19 20:30 ` Simon Horman
2023-02-17 3:39 ` [PATCH net-next v3 2/5] vxlan: Expose helper vxlan_build_gbp_hdr Gavin Li
2023-02-19 20:32 ` Simon Horman
2023-02-20 2:05 ` Gavin Li
2023-02-20 6:40 ` Simon Horman
2023-02-20 7:15 ` Gavin Li [this message]
2023-02-20 10:31 ` Simon Horman
2023-02-20 20:30 ` Jakub Kicinski
2023-02-21 7:38 ` Paolo Abeni
2023-02-21 9:30 ` Simon Horman
2023-02-17 3:39 ` [PATCH net-next v3 3/5] net/mlx5e: Add helper for encap_info_equal for tunnels with options Gavin Li
2023-02-19 20:34 ` Simon Horman
2023-02-17 3:39 ` [PATCH net-next v3 4/5] ip_tunnel: constify input argument of ip_tunnel_info_opts( ) Gavin Li
2023-02-19 20:29 ` Simon Horman
2023-02-19 20:46 ` Simon Horman
2023-02-20 10:42 ` Gavin Li
2023-02-24 16:11 ` Alexander Lobakin
2023-02-22 2:47 ` Gavin Li
2023-02-17 3:39 ` [PATCH net-next v3 5/5] net/mlx5e: TC, Add support for VxLAN GBP encap/decap flows offload Gavin Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c8fcebb5-4eba-71c8-e20c-cd7afd7e0d98@nvidia.com \
--to=gavinl@nvidia$(echo .)com \
--cc=bigeasy@linutronix$(echo .)de \
--cc=davem@davemloft$(echo .)net \
--cc=edumazet@google$(echo .)com \
--cc=eng.alaamohamedsoliman.am@gmail$(echo .)com \
--cc=gavi@nvidia$(echo .)com \
--cc=kuba@kernel$(echo .)org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=maord@nvidia$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pabeni@redhat$(echo .)com \
--cc=roid@nvidia$(echo .)com \
--cc=roopa@nvidia$(echo .)com \
--cc=saeedm@nvidia$(echo .)com \
--cc=simon.horman@corigine$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox