net/mlx5e: Remove exposure of IPsec RX flow steering struct
authorLeon Romanovsky <leonro@nvidia.com>
Tue, 3 Oct 2023 13:44:19 +0000 (16:44 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Tue, 5 Dec 2023 06:11:52 +0000 (22:11 -0800)
After previous commit, which unified various IPsec creation modes,
there is no need to have struct mlx5e_ipsec_rx exposed in global
IPsec header. Move it to ipsec_fs.c to be placed together with
already existing struct mlx5e_ipsec_tx.

Fixes: 1762f132d542 ("net/mlx5e: Support IPsec packet offload for RX in switchdev mode")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
drivers/net/ethernet/mellanox/mlx5/core/esw/ipsec_fs.c

index 8f4a37bceaf455c7bea24f4a21349b543e33818c..c3a40bf1195299046e56cb280fe86bad00829bdc 100644 (file)
@@ -201,19 +201,6 @@ struct mlx5e_ipsec_miss {
        struct mlx5_flow_handle *rule;
 };
 
-struct mlx5e_ipsec_rx {
-       struct mlx5e_ipsec_ft ft;
-       struct mlx5e_ipsec_miss pol;
-       struct mlx5e_ipsec_miss sa;
-       struct mlx5e_ipsec_rule status;
-       struct mlx5e_ipsec_miss status_drop;
-       struct mlx5_fc *status_drop_cnt;
-       struct mlx5e_ipsec_fc *fc;
-       struct mlx5_fs_chains *chains;
-       u8 allow_tunnel_mode : 1;
-       struct xarray ipsec_obj_id_map;
-};
-
 struct mlx5e_ipsec_tx_create_attr {
        int prio;
        int pol_level;
@@ -248,6 +235,7 @@ struct mlx5e_ipsec {
        struct mlx5_ipsec_fs *roce;
        u8 is_uplink_rep: 1;
        struct mlx5e_ipsec_mpv_work mpv_work;
+       struct xarray ipsec_obj_id_map;
 };
 
 struct mlx5e_ipsec_esn_state {
index 85ed5171e835389727f9b4b5274604b54f003c48..aa74a2422869835684f2f7126633c8787bee986b 100644 (file)
@@ -32,6 +32,18 @@ struct mlx5e_ipsec_tx {
        u8 allow_tunnel_mode : 1;
 };
 
+struct mlx5e_ipsec_rx {
+       struct mlx5e_ipsec_ft ft;
+       struct mlx5e_ipsec_miss pol;
+       struct mlx5e_ipsec_miss sa;
+       struct mlx5e_ipsec_rule status;
+       struct mlx5e_ipsec_miss status_drop;
+       struct mlx5_fc *status_drop_cnt;
+       struct mlx5e_ipsec_fc *fc;
+       struct mlx5_fs_chains *chains;
+       u8 allow_tunnel_mode : 1;
+};
+
 /* IPsec RX flow steering */
 static enum mlx5_traffic_types family2tt(u32 family)
 {
@@ -2052,7 +2064,7 @@ void mlx5e_accel_ipsec_fs_cleanup(struct mlx5e_ipsec *ipsec)
        kfree(ipsec->rx_ipv6);
 
        if (ipsec->is_uplink_rep) {
-               xa_destroy(&ipsec->rx_esw->ipsec_obj_id_map);
+               xa_destroy(&ipsec->ipsec_obj_id_map);
 
                mutex_destroy(&ipsec->tx_esw->ft.mutex);
                WARN_ON(ipsec->tx_esw->ft.refcnt);
@@ -2115,7 +2127,7 @@ int mlx5e_accel_ipsec_fs_init(struct mlx5e_ipsec *ipsec,
                mutex_init(&ipsec->tx_esw->ft.mutex);
                mutex_init(&ipsec->rx_esw->ft.mutex);
                ipsec->tx_esw->ns = ns_esw;
-               xa_init_flags(&ipsec->rx_esw->ipsec_obj_id_map, XA_FLAGS_ALLOC1);
+               xa_init_flags(&ipsec->ipsec_obj_id_map, XA_FLAGS_ALLOC1);
        } else if (mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_ROCE) {
                ipsec->roce = mlx5_ipsec_fs_roce_init(mdev, devcom);
        } else {
index 13b5916b64e224f66bfa630e989532368b8b3860..5a0047bdcb5105ae4992578003007d21dd4fa1b5 100644 (file)
@@ -50,7 +50,7 @@ int mlx5_esw_ipsec_rx_setup_modify_header(struct mlx5e_ipsec_sa_entry *sa_entry,
        u32 mapped_id;
        int err;
 
-       err = xa_alloc_bh(&ipsec->rx_esw->ipsec_obj_id_map, &mapped_id,
+       err = xa_alloc_bh(&ipsec->ipsec_obj_id_map, &mapped_id,
                          xa_mk_value(sa_entry->ipsec_obj_id),
                          XA_LIMIT(1, ESW_IPSEC_RX_MAPPED_ID_MASK), 0);
        if (err)
@@ -81,7 +81,7 @@ int mlx5_esw_ipsec_rx_setup_modify_header(struct mlx5e_ipsec_sa_entry *sa_entry,
        return 0;
 
 err_header_alloc:
-       xa_erase_bh(&ipsec->rx_esw->ipsec_obj_id_map, mapped_id);
+       xa_erase_bh(&ipsec->ipsec_obj_id_map, mapped_id);
        return err;
 }
 
@@ -90,7 +90,7 @@ void mlx5_esw_ipsec_rx_id_mapping_remove(struct mlx5e_ipsec_sa_entry *sa_entry)
        struct mlx5e_ipsec *ipsec = sa_entry->ipsec;
 
        if (sa_entry->rx_mapped_id)
-               xa_erase_bh(&ipsec->rx_esw->ipsec_obj_id_map,
+               xa_erase_bh(&ipsec->ipsec_obj_id_map,
                            sa_entry->rx_mapped_id);
 }
 
@@ -100,7 +100,7 @@ int mlx5_esw_ipsec_rx_ipsec_obj_id_search(struct mlx5e_priv *priv, u32 id,
        struct mlx5e_ipsec *ipsec = priv->ipsec;
        void *val;
 
-       val = xa_load(&ipsec->rx_esw->ipsec_obj_id_map, id);
+       val = xa_load(&ipsec->ipsec_obj_id_map, id);
        if (!val)
                return -ENOENT;