mlx5: become aware of when running as a bonding slave
authorJarod Wilson <jarod@redhat.com>
Fri, 19 Jun 2020 14:31:54 +0000 (10:31 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Jun 2020 22:38:57 +0000 (15:38 -0700)
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@mellanox.com>
CC: Saeed Mahameed <saeedm@mellanox.com>
CC: Leon Romanovsky <leon@kernel.org>
CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Veaceslav Falico <vfalico@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
CC: "David S. Miller" <davem@davemloft.net>
CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Steffen Klassert <steffen.klassert@secunet.com>
CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: netdev@vger.kernel.org
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c

index 92eb3bad4acd12f9aa371803508c85158b09bc57..72ad6664bd73ae974441ce487de824e5beab3763 100644 (file)
@@ -210,6 +210,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) {
@@ -291,6 +294,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);