Re: [PATCH ipsec-next 4/5] xfrm: provide common xdo_dev_offload_ok callback implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2025/2/16 12:07, Leon Romanovsky 写道:
On Sun, Feb 16, 2025 at 10:33:59AM +0100, Zhu Yanjun wrote:
在 2025/2/5 19:20, Leon Romanovsky 写道:
From: Leon Romanovsky <leonro@xxxxxxxxxx>

Almost all drivers except bond and nsim had same check if device
can perform XFRM offload on that specific packet. The check was that
packet doesn't have IPv4 options and IPv6 extensions.

In NIC drivers, the IPv4 HELEN comparison was slightly different, but
the intent was to check for the same conditions. So let's chose more
strict variant as a common base.

Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx>
---
   Documentation/networking/xfrm_device.rst      |  3 ++-
   drivers/net/bonding/bond_main.c               | 16 +++++---------
   .../net/ethernet/chelsio/cxgb4/cxgb4_main.c   | 21 -------------------
   .../inline_crypto/ch_ipsec/chcr_ipsec.c       | 16 --------------
   .../net/ethernet/intel/ixgbe/ixgbe_ipsec.c    | 21 -------------------
   drivers/net/ethernet/intel/ixgbevf/ipsec.c    | 21 -------------------
   .../marvell/octeontx2/nic/cn10k_ipsec.c       | 15 -------------
   .../mellanox/mlx5/core/en_accel/ipsec.c       | 16 --------------
   .../net/ethernet/netronome/nfp/crypto/ipsec.c | 11 ----------
   drivers/net/netdevsim/ipsec.c                 | 11 ----------
   drivers/net/netdevsim/netdevsim.h             |  1 -
   net/xfrm/xfrm_device.c                        | 15 +++++++++++++
   12 files changed, 22 insertions(+), 145 deletions(-)

diff --git a/Documentation/networking/xfrm_device.rst b/Documentation/networking/xfrm_device.rst
index 66f6e9a9b59a..39bb98939d1f 100644
--- a/Documentation/networking/xfrm_device.rst
+++ b/Documentation/networking/xfrm_device.rst
@@ -126,7 +126,8 @@ been setup for offload, it first calls into xdo_dev_offload_ok() with
   the skb and the intended offload state to ask the driver if the offload
   will serviceable.  This can check the packet information to be sure the
   offload can be supported (e.g. IPv4 or IPv6, no IPv4 options, etc) and
-return true of false to signify its support.
+return true of false to signify its support. In case driver doesn't implement
In this commit, remove the functions cxgb4_ipsec_offload_ok,
ch_ipsec_offload_ok, ixgbe_ipsec_offload_ok, ixgbevf_ipsec_offload_ok,
cn10k_ipsec_offload_ok, mlx5e_ipsec_offload_ok, nfp_net_ipsec_offload_ok and
nsim_ipsec_offload_ok, use the function xfrm_dev_offload_ok to do the same
work.

But in the file xfrm_device.rst, "return true or false to signify its
support"?
This sentence continued in the xfrm_device.rst: "...  In case driver doesn't implement
this callback, the stack provides reasonable defaults."

Got it.

I mean "... and return true of false to signify its support..."

                                          ^^

should be "... and return true or false to signify its support..."

^_^

Zhu Yanjun


of --> should be "or"

Thanks a lot.
Reviewed-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx>
Thanks

Zhu Yanjun

+this callback, the stack provides reasonable defaults.
   Crypto offload mode:
   When ready to send, the driver needs to inspect the Tx packet for the
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index e45bba240cbc..bfb55c23380b 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -676,22 +676,16 @@ static void bond_ipsec_free_sa(struct xfrm_state *xs)
   static bool bond_ipsec_offload_ok(struct sk_buff *skb, struct xfrm_state *xs)

--
Best Regards,
Yanjun.Zhu





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux