Contributors: 10
Author Tokens Token Proportion Commits Commit Proportion
Jianbo Liu 167 62.08% 6 25.00%
Leon Romanovsky 52 19.33% 8 33.33%
Huy Nguyen 20 7.43% 2 8.33%
Ilan Tayari 8 2.97% 1 4.17%
Maor Gottlieb 7 2.60% 2 8.33%
Raed Salem 5 1.86% 1 4.17%
Maxim Mikityanskiy 4 1.49% 1 4.17%
Amir Vadai 3 1.12% 1 4.17%
Mark Bloch 2 0.74% 1 4.17%
Yishai Hadas 1 0.37% 1 4.17%
Total 269 24


/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
/* Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */

#ifndef __MLX5_ESW_IPSEC_FS_H__
#define __MLX5_ESW_IPSEC_FS_H__

struct mlx5e_ipsec;
struct mlx5e_ipsec_sa_entry;

#ifdef CONFIG_MLX5_ESWITCH
void mlx5_esw_ipsec_rx_create_attr_set(struct mlx5e_ipsec *ipsec,
				       struct mlx5e_ipsec_rx_create_attr *attr);
int mlx5_esw_ipsec_rx_status_pass_dest_get(struct mlx5e_ipsec *ipsec,
					   struct mlx5_flow_destination *dest);
int mlx5_esw_ipsec_rx_setup_modify_header(struct mlx5e_ipsec_sa_entry *sa_entry,
					  struct mlx5_flow_act *flow_act);
void mlx5_esw_ipsec_rx_id_mapping_remove(struct mlx5e_ipsec_sa_entry *sa_entry);
int mlx5_esw_ipsec_rx_ipsec_obj_id_search(struct mlx5e_priv *priv, u32 id,
					  u32 *ipsec_obj_id);
void mlx5_esw_ipsec_tx_create_attr_set(struct mlx5e_ipsec *ipsec,
				       struct mlx5e_ipsec_tx_create_attr *attr);
void mlx5_esw_ipsec_restore_dest_uplink(struct mlx5_core_dev *mdev);
void mlx5_esw_ipsec_rx_rule_add_match_obj(struct mlx5e_ipsec_sa_entry *sa_entry,
					  struct mlx5_flow_spec *spec);
#else
static inline void mlx5_esw_ipsec_rx_create_attr_set(struct mlx5e_ipsec *ipsec,
						     struct mlx5e_ipsec_rx_create_attr *attr) {}

static inline int mlx5_esw_ipsec_rx_status_pass_dest_get(struct mlx5e_ipsec *ipsec,
							 struct mlx5_flow_destination *dest)
{
	return -EINVAL;
}

static inline int mlx5_esw_ipsec_rx_setup_modify_header(struct mlx5e_ipsec_sa_entry *sa_entry,
							struct mlx5_flow_act *flow_act)
{
	return -EINVAL;
}

static inline void mlx5_esw_ipsec_rx_id_mapping_remove(struct mlx5e_ipsec_sa_entry *sa_entry) {}

static inline int mlx5_esw_ipsec_rx_ipsec_obj_id_search(struct mlx5e_priv *priv, u32 id,
							u32 *ipsec_obj_id)
{
	return -EINVAL;
}

static inline void mlx5_esw_ipsec_tx_create_attr_set(struct mlx5e_ipsec *ipsec,
						     struct mlx5e_ipsec_tx_create_attr *attr) {}

static inline void mlx5_esw_ipsec_restore_dest_uplink(struct mlx5_core_dev *mdev) {}
static inline void
mlx5_esw_ipsec_rx_rule_add_match_obj(struct mlx5e_ipsec_sa_entry *sa_entry,
				     struct mlx5_flow_spec *spec) {}
#endif /* CONFIG_MLX5_ESWITCH */
#endif /* __MLX5_ESW_IPSEC_FS_H__ */