mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
net/mlx5e: Remove exposure of IPsec RX flow steering struct
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: 1762f132d5 ("net/mlx5e: Support IPsec packet offload for RX in switchdev mode")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
This commit is contained in:
parent
94af50c0a9
commit
5ad00dee43
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user