From: Alexander Lobakin <aleksander.lobakin@intel.com>
To: Gavin Li <gavinl@nvidia.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 RESEND net-next v4 0/4] net/mlx5e: Add GBP VxLAN HW offload support
Date: Tue, 7 Mar 2023 17:58:49 +0100 [thread overview]
Message-ID: <7612377e-1dd0-1350-feb3-3a737710c261@intel.com> (raw)
In-Reply-To: <1abaf06a-83fb-8865-4a6e-c6a806cce421@nvidia.com>
From: Gavin Li <gavinl@nvidia.com>
Date: Tue, 7 Mar 2023 17:19:35 +0800
>
> On 3/6/2023 10:47 PM, Alexander Lobakin wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> From: Gavin Li <gavinl@nvidia.com>
>> Date: Mon, 6 Mar 2023 05:02:58 +0200
>>
>>> Patch-1: Remove unused argument from functions.
>>> Patch-2: Expose helper function vxlan_build_gbp_hdr.
>>> Patch-3: Add helper function for encap_info_equal for tunnels with
>>> options.
>>> Patch-4: Add HW offloading support for TC flows with VxLAN GBP
>>> encap/decap
>>> in mlx ethernet driver.
>>>
>>> Gavin Li (4):
>>> vxlan: Remove unused argument from vxlan_build_gbp_hdr( ) and
>>> vxlan_build_gpe_hdr( )
>>> ---
>>> changelog:
>>> v2->v3
>>> - Addressed comments from Paolo Abeni
>>> - Add new patch
>>> ---
>>> vxlan: Expose helper vxlan_build_gbp_hdr
>>> ---
>>> changelog:
>>> v1->v2
>>> - Addressed comments from Alexander Lobakin
>>> - Use const to annotate read-only the pointer parameter
>>> ---
>>> net/mlx5e: Add helper for encap_info_equal for tunnels with options
>>> ---
>>> changelog:
>>> v3->v4
>>> - Addressed comments from Alexander Lobakin
>>> - Fix vertical alignment issue
>>> v1->v2
>>> - Addressed comments from Alexander Lobakin
>>> - Replace confusing pointer arithmetic with function call
>>> - Use boolean operator NOT to check if the function return value is
>>> not zero
>>> ---
>>> net/mlx5e: TC, Add support for VxLAN GBP encap/decap flows offload
>>> ---
>>> changelog:
>>> v3->v4
>>> - Addressed comments from Simon Horman
>>> - Using cast in place instead of changing API
>> I don't remember me acking this. The last thing I said is that in order
>> to avoid cast-aways you need to use _Generic(). 2 times. IIRC you said
>> "Ack" and that was the last message in that thread.
>> Now this. Without me in CCs, so I noticed it accidentally.
>> ???
>
> Not asked by you but you said you were OK if I used cast-aways. So I did
> the
>
> change in V3 and reverted back to using cast-away in V4.
My last reply was[0]:
"
You wouldn't need to W/A it each time in each driver, just do it once in
the inline itself.
I did it once in __skb_header_pointer()[0] to be able to pass data
pointer as const to optimize code a bit and point out explicitly that
the function doesn't modify the packet anyhow, don't see any reason to
not do the same here.
Or, as I said, you can use macros + __builtin_choose_expr() or _Generic.
container_of_const() uses the latter[1]. A __builtin_choose_expr()
variant could rely on the __same_type() macro to check whether the
pointer passed from the driver const or not.
[...]
[0]
https://elixir.bootlin.com/linux/v6.2-rc8/source/include/linux/skbuff.h#L3992
[1]
https://elixir.bootlin.com/linux/v6.2-rc8/source/include/linux/container_of.h#L33
"
Where did I say here I'm fine with W/As in the drivers? I mentioned two
options: cast-away in THE GENERIC INLINE, not the driver, or, more
preferred, following the way of container_of_const().
Then your reply[1]:
"ACK"
What did you ack then if you picked neither of those 2 options?
>
>>> v2->v3
>>> - Addressed comments from Alexander Lobakin
>>> - Remove the WA by casting away
>>> v1->v2
>>> - Addressed comments from Alexander Lobakin
>>> - Add a separate pair of braces around bitops
>>> - Remove the WA by casting away
>>> - Fit all log messages into one line
>>> - Use NL_SET_ERR_MSG_FMT_MOD to print the invalid value on error
>>> ---
>>>
>>> .../ethernet/mellanox/mlx5/core/en/tc_tun.h | 3 +
>>> .../mellanox/mlx5/core/en/tc_tun_encap.c | 32 ++++++++
>>> .../mellanox/mlx5/core/en/tc_tun_geneve.c | 24 +-----
>>> .../mellanox/mlx5/core/en/tc_tun_vxlan.c | 76 ++++++++++++++++++-
>>> drivers/net/vxlan/vxlan_core.c | 27 +------
>>> include/linux/mlx5/device.h | 6 ++
>>> include/linux/mlx5/mlx5_ifc.h | 13 +++-
>>> include/net/vxlan.h | 19 +++++
>>> 8 files changed, 149 insertions(+), 51 deletions(-)
>>>
>> Thanks,
>> Olek
[0]
https://lore.kernel.org/netdev/aefe00f0-2a15-9a43-2451-6d01e74cc48a@intel.com
[1]
https://lore.kernel.org/netdev/ca729a48-35a1-ef05-59d3-ef1539003051@nvidia.com
Thanks,
Olek
next prev parent reply other threads:[~2023-03-07 17:07 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-06 3:02 Gavin Li
2023-03-06 3:02 ` [PATCH RESEND net-next v4 1/4] vxlan: Remove unused argument from vxlan_build_gbp_hdr( ) and vxlan_build_gpe_hdr( ) Gavin Li
2023-03-06 3:03 ` [PATCH RESEND net-next v4 2/4] vxlan: Expose helper vxlan_build_gbp_hdr Gavin Li
2023-03-06 3:03 ` [PATCH RESEND net-next v4 3/4] net/mlx5e: Add helper for encap_info_equal for tunnels with options Gavin Li
2023-03-06 3:03 ` [PATCH RESEND net-next v4 4/4] net/mlx5e: TC, Add support for VxLAN GBP encap/decap flows offload Gavin Li
2023-03-06 15:06 ` Simon Horman
2023-03-07 9:22 ` Gavin Li
2023-03-06 14:47 ` [PATCH RESEND net-next v4 0/4] net/mlx5e: Add GBP VxLAN HW offload support Alexander Lobakin
2023-03-07 9:19 ` Gavin Li
2023-03-07 16:58 ` Alexander Lobakin [this message]
2023-03-08 2:22 ` Gavin Li
2023-03-08 13:34 ` Alexander Lobakin
2023-03-08 20:13 ` Simon Horman
2023-03-09 11:57 ` Gavin Li
2023-03-09 16:33 ` Alexander Lobakin
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=7612377e-1dd0-1350-feb3-3a737710c261@intel.com \
--to=aleksander.lobakin@intel.com \
--cc=bigeasy@linutronix.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eng.alaamohamedsoliman.am@gmail.com \
--cc=gavi@nvidia.com \
--cc=gavinl@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maord@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=roid@nvidia.com \
--cc=roopa@nvidia.com \
--cc=saeedm@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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
all inboxes | Powered by JetHome®