net/mlx5e: Group IPsec miss handles into separate struct
authorLeon Romanovsky <leonro@nvidia.com>
Fri, 2 Dec 2022 20:10:36 +0000 (22:10 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 6 Dec 2022 13:06:26 +0000 (14:06 +0100)
Move miss handles into dedicated struct, so we can reuse it in next
patch when creating IPsec policy flow table.

Reviewed-by: Raed Salem <raeds@nvidia.com>
Reviewed-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c

index b89001538abd35955d9912cf378ec977c37b0b66..dfdda5ae2245ddea9261fc5615eef1f492395ede 100644 (file)
@@ -16,10 +16,14 @@ struct mlx5e_ipsec_ft {
        u32 refcnt;
 };
 
+struct mlx5e_ipsec_miss {
+       struct mlx5_flow_group *group;
+       struct mlx5_flow_handle *rule;
+};
+
 struct mlx5e_ipsec_rx {
        struct mlx5e_ipsec_ft ft;
-       struct mlx5_flow_group *miss_group;
-       struct mlx5_flow_handle *miss_rule;
+       struct mlx5e_ipsec_miss sa;
        struct mlx5_flow_destination default_dest;
        struct mlx5e_ipsec_rule status;
 };
@@ -135,18 +139,18 @@ static int rx_fs_create(struct mlx5_core_dev *mdev, struct mlx5e_ipsec_rx *rx)
                mlx5_core_err(mdev, "fail to create ipsec rx miss_group err=%d\n", err);
                goto out;
        }
-       rx->miss_group = miss_group;
+       rx->sa.group = miss_group;
 
        /* Create miss rule */
        miss_rule =
                mlx5_add_flow_rules(ft, spec, &flow_act, &rx->default_dest, 1);
        if (IS_ERR(miss_rule)) {
-               mlx5_destroy_flow_group(rx->miss_group);
+               mlx5_destroy_flow_group(rx->sa.group);
                err = PTR_ERR(miss_rule);
                mlx5_core_err(mdev, "fail to create ipsec rx miss_rule err=%d\n", err);
                goto out;
        }
-       rx->miss_rule = miss_rule;
+       rx->sa.rule = miss_rule;
 out:
        kvfree(flow_group_in);
        kvfree(spec);
@@ -155,8 +159,8 @@ out:
 
 static void rx_destroy(struct mlx5_core_dev *mdev, struct mlx5e_ipsec_rx *rx)
 {
-       mlx5_del_flow_rules(rx->miss_rule);
-       mlx5_destroy_flow_group(rx->miss_group);
+       mlx5_del_flow_rules(rx->sa.rule);
+       mlx5_destroy_flow_group(rx->sa.group);
        mlx5_destroy_flow_table(rx->ft.sa);
 
        mlx5_del_flow_rules(rx->status.rule);