forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h
....@@ -75,6 +75,9 @@
7575 u64 ipsec_cmd_drop;
7676 };
7777
78
+struct mlx5e_accel_fs_esp;
79
+struct mlx5e_ipsec_tx;
80
+
7881 struct mlx5e_ipsec {
7982 struct mlx5e_priv *en_priv;
8083 DECLARE_HASHTABLE(sadb_rx, MLX5E_IPSEC_SADB_RX_BITS);
....@@ -84,12 +87,19 @@
8487 struct mlx5e_ipsec_sw_stats sw_stats;
8588 struct mlx5e_ipsec_stats stats;
8689 struct workqueue_struct *wq;
90
+ struct mlx5e_accel_fs_esp *rx_fs;
91
+ struct mlx5e_ipsec_tx *tx_fs;
8792 };
8893
8994 struct mlx5e_ipsec_esn_state {
9095 u32 esn;
9196 u8 trigger: 1;
9297 u8 overlap: 1;
98
+};
99
+
100
+struct mlx5e_ipsec_rule {
101
+ struct mlx5_flow_handle *rule;
102
+ struct mlx5_modify_hdr *set_modify_hdr;
93103 };
94104
95105 struct mlx5e_ipsec_sa_entry {
....@@ -102,17 +112,14 @@
102112 void *hw_context;
103113 void (*set_iv_op)(struct sk_buff *skb, struct xfrm_state *x,
104114 struct xfrm_offload *xo);
115
+ u32 ipsec_obj_id;
116
+ struct mlx5e_ipsec_rule ipsec_rule;
105117 };
106118
107119 void mlx5e_ipsec_build_inverse_table(void);
108120 int mlx5e_ipsec_init(struct mlx5e_priv *priv);
109121 void mlx5e_ipsec_cleanup(struct mlx5e_priv *priv);
110122 void mlx5e_ipsec_build_netdev(struct mlx5e_priv *priv);
111
-
112
-int mlx5e_ipsec_get_count(struct mlx5e_priv *priv);
113
-int mlx5e_ipsec_get_strings(struct mlx5e_priv *priv, uint8_t *data);
114
-void mlx5e_ipsec_update_stats(struct mlx5e_priv *priv);
115
-int mlx5e_ipsec_get_stats(struct mlx5e_priv *priv, u64 *data);
116123
117124 struct xfrm_state *mlx5e_ipsec_sadb_rx_lookup(struct mlx5e_ipsec *dev,
118125 unsigned int handle);
....@@ -134,26 +141,6 @@
134141
135142 static inline void mlx5e_ipsec_build_netdev(struct mlx5e_priv *priv)
136143 {
137
-}
138
-
139
-static inline int mlx5e_ipsec_get_count(struct mlx5e_priv *priv)
140
-{
141
- return 0;
142
-}
143
-
144
-static inline int mlx5e_ipsec_get_strings(struct mlx5e_priv *priv,
145
- uint8_t *data)
146
-{
147
- return 0;
148
-}
149
-
150
-static inline void mlx5e_ipsec_update_stats(struct mlx5e_priv *priv)
151
-{
152
-}
153
-
154
-static inline int mlx5e_ipsec_get_stats(struct mlx5e_priv *priv, u64 *data)
155
-{
156
- return 0;
157144 }
158145
159146 #endif