net/mlx5: Remove useless IPsec device checks
authorLeon Romanovsky <leonro@nvidia.com>
Wed, 6 Apr 2022 08:25:45 +0000 (11:25 +0300)
committerLeon Romanovsky <leonro@nvidia.com>
Sat, 9 Apr 2022 05:25:07 +0000 (08:25 +0300)
The mlx5_is_ipsec_device() check was to distinguish ConnectX device
related ops from FPGA, so post removing FPGA IPsec code this check
can be removed as no other device implements it.

It is safe to do it as there is already embedded check of IPsec device
in mlx5_accel_ipsec_device_caps().

Link: https://lore.kernel.org/r/e45362abfcabe18e8af20ec8d1acdc99355978f3.1649232994.git.leonro@nvidia.com
Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c

index f6e3b54..1391a0c 100644 (file)
@@ -286,9 +286,6 @@ static inline int mlx5e_xfrm_validate_state(struct xfrm_state *x)
 static int mlx5e_xfrm_fs_add_rule(struct mlx5e_priv *priv,
                                  struct mlx5e_ipsec_sa_entry *sa_entry)
 {
-       if (!mlx5_is_ipsec_device(priv->mdev))
-               return 0;
-
        return mlx5e_accel_ipsec_fs_add_rule(priv, &sa_entry->xfrm->attrs,
                                             sa_entry->ipsec_obj_id,
                                             &sa_entry->ipsec_rule);
@@ -297,9 +294,6 @@ static int mlx5e_xfrm_fs_add_rule(struct mlx5e_priv *priv,
 static void mlx5e_xfrm_fs_del_rule(struct mlx5e_priv *priv,
                                   struct mlx5e_ipsec_sa_entry *sa_entry)
 {
-       if (!mlx5_is_ipsec_device(priv->mdev))
-               return;
-
        mlx5e_accel_ipsec_fs_del_rule(priv, &sa_entry->xfrm->attrs,
                                      &sa_entry->ipsec_rule);
 }
@@ -550,9 +544,7 @@ void mlx5e_ipsec_build_netdev(struct mlx5e_priv *priv)
                return;
        }
 
-       if (mlx5_is_ipsec_device(mdev))
-               netdev->gso_partial_features |= NETIF_F_GSO_ESP;
-
+       netdev->gso_partial_features |= NETIF_F_GSO_ESP;
        mlx5_core_dbg(mdev, "mlx5e: ESP GSO capability turned on\n");
        netdev->features |= NETIF_F_GSO_ESP;
        netdev->hw_features |= NETIF_F_GSO_ESP;
index 17da23d..3209349 100644 (file)
@@ -700,9 +700,6 @@ int mlx5e_accel_ipsec_fs_init(struct mlx5e_priv *priv)
 {
        int err;
 
-       if (!mlx5_is_ipsec_device(priv->mdev) || !priv->ipsec)
-               return -EOPNOTSUPP;
-
        err = fs_init_tx(priv);
        if (err)
                return err;
index 8e0cf5e..08a6dd4 100644 (file)
@@ -202,16 +202,14 @@ static int mlx5e_ipsec_set_state(struct mlx5e_priv *priv,
 
        ipsec_st->x = x;
        ipsec_st->xo = xo;
-       if (mlx5_is_ipsec_device(priv->mdev)) {
-               aead = x->data;
-               alen = crypto_aead_authsize(aead);
-               blksize = ALIGN(crypto_aead_blocksize(aead), 4);
-               clen = ALIGN(skb->len + 2, blksize);
-               plen = max_t(u32, clen - skb->len, 4);
-               tailen = plen + alen;
-               ipsec_st->plen = plen;
-               ipsec_st->tailen = tailen;
-       }
+       aead = x->data;
+       alen = crypto_aead_authsize(aead);
+       blksize = ALIGN(crypto_aead_blocksize(aead), 4);
+       clen = ALIGN(skb->len + 2, blksize);
+       plen = max_t(u32, clen - skb->len, 4);
+       tailen = plen + alen;
+       ipsec_st->plen = plen;
+       ipsec_st->tailen = tailen;
 
        return 0;
 }
@@ -244,19 +242,17 @@ void mlx5e_ipsec_tx_build_eseg(struct mlx5e_priv *priv, struct sk_buff *skb,
                   ((struct iphdr *)skb_network_header(skb))->protocol :
                   ((struct ipv6hdr *)skb_network_header(skb))->nexthdr;
 
-       if (mlx5_is_ipsec_device(priv->mdev)) {
-               eseg->flow_table_metadata |= cpu_to_be32(MLX5_ETH_WQE_FT_META_IPSEC);
-               eseg->trailer |= cpu_to_be32(MLX5_ETH_WQE_INSERT_TRAILER);
-               encap = x->encap;
-               if (!encap) {
-                       eseg->trailer |= (l3_proto == IPPROTO_ESP) ?
-                               cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_OUTER_IP_ASSOC) :
-                               cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_OUTER_L4_ASSOC);
-               } else if (encap->encap_type == UDP_ENCAP_ESPINUDP) {
-                       eseg->trailer |= (l3_proto == IPPROTO_ESP) ?
-                               cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_INNER_IP_ASSOC) :
-                               cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_INNER_L4_ASSOC);
-               }
+       eseg->flow_table_metadata |= cpu_to_be32(MLX5_ETH_WQE_FT_META_IPSEC);
+       eseg->trailer |= cpu_to_be32(MLX5_ETH_WQE_INSERT_TRAILER);
+       encap = x->encap;
+       if (!encap) {
+               eseg->trailer |= (l3_proto == IPPROTO_ESP) ?
+                       cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_OUTER_IP_ASSOC) :
+                       cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_OUTER_L4_ASSOC);
+       } else if (encap->encap_type == UDP_ENCAP_ESPINUDP) {
+               eseg->trailer |= (l3_proto == IPPROTO_ESP) ?
+                       cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_INNER_IP_ASSOC) :
+                       cpu_to_be32(MLX5_ETH_WQE_TRAILER_HDR_INNER_L4_ASSOC);
        }
 }