[SRU][F:linux-bluefield][PATCH 09/32] mlx5: become aware of when running as a bonding slave

Daniel Jurgens danielj at nvidia.com
Mon May 3 19:38:54 UTC 2021


From: Jarod Wilson <jarod at redhat.com>

BugLink: https://bugs.launchpad.net/bugs/1926994

I've been unable to get my hands on suitable supported hardware to date,
but I believe this ought to be all that is needed to enable the mlx5
driver to also work with bonding active-backup crypto offload passthru.

CC: Boris Pismenny <borisp at mellanox.com>
CC: Saeed Mahameed <saeedm at mellanox.com>
CC: Leon Romanovsky <leon at kernel.org>
CC: Jay Vosburgh <j.vosburgh at gmail.com>
CC: Veaceslav Falico <vfalico at gmail.com>
CC: Andy Gospodarek <andy at greyhouse.net>
CC: "David S. Miller" <davem at davemloft.net>
CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
CC: Jakub Kicinski <kuba at kernel.org>
CC: Steffen Klassert <steffen.klassert at secunet.com>
CC: Herbert Xu <herbert at gondor.apana.org.au>
CC: netdev at vger.kernel.org
Signed-off-by: Jarod Wilson <jarod at redhat.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(cherry picked from commit bf3a058de5728a23237b1649bedba668c2bf3c79)
Signed-off-by: Daniel Jurgens <danielj at nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
index 49a6c19..29ed227 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
@@ -215,6 +215,9 @@ static inline int mlx5e_xfrm_validate_state(struct xfrm_state *x)
 	struct net_device *netdev = x->xso.dev;
 	struct mlx5e_priv *priv;
 
+	if (x->xso.slave_dev)
+		netdev = x->xso.slave_dev;
+
 	priv = netdev_priv(netdev);
 
 	if (x->props.aalgo != SADB_AALG_NONE) {
@@ -296,6 +299,9 @@ static int mlx5e_xfrm_add_state(struct xfrm_state *x)
 	unsigned int sa_handle;
 	int err;
 
+	if (x->xso.slave_dev)
+		netdev = x->xso.slave_dev;
+
 	priv = netdev_priv(netdev);
 
 	err = mlx5e_xfrm_validate_state(x);
-- 
1.8.3.1




More information about the kernel-team mailing list