#include "en/fs_tt_redirect.h"
#include "fs_core.h"
#include "mlx5_core.h"
enum fs_udp_type { … };
struct mlx5e_fs_udp { … };
struct mlx5e_fs_any { … };
static char *fs_udp_type2str(enum fs_udp_type i)
{ … }
static enum mlx5_traffic_types fs_udp2tt(enum fs_udp_type i)
{ … }
static enum fs_udp_type tt2fs_udp(enum mlx5_traffic_types i)
{ … }
void mlx5e_fs_tt_redirect_del_rule(struct mlx5_flow_handle *rule)
{ … }
static void fs_udp_set_dport_flow(struct mlx5_flow_spec *spec, enum fs_udp_type type,
u16 udp_dport)
{ … }
struct mlx5_flow_handle *
mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_flow_steering *fs,
enum mlx5_traffic_types ttc_type,
u32 tir_num, u16 d_port)
{ … }
static int fs_udp_add_default_rule(struct mlx5e_flow_steering *fs, enum fs_udp_type type)
{ … }
#define MLX5E_FS_UDP_NUM_GROUPS …
#define MLX5E_FS_UDP_GROUP1_SIZE …
#define MLX5E_FS_UDP_GROUP2_SIZE …
#define MLX5E_FS_UDP_TABLE_SIZE …
static int fs_udp_create_groups(struct mlx5e_flow_table *ft, enum fs_udp_type type)
{ … }
static int fs_udp_create_table(struct mlx5e_flow_steering *fs, enum fs_udp_type type)
{ … }
static void fs_udp_destroy_table(struct mlx5e_fs_udp *fs_udp, int i)
{ … }
static int fs_udp_disable(struct mlx5e_flow_steering *fs)
{ … }
static int fs_udp_enable(struct mlx5e_flow_steering *fs)
{ … }
void mlx5e_fs_tt_redirect_udp_destroy(struct mlx5e_flow_steering *fs)
{ … }
int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_flow_steering *fs)
{ … }
static void fs_any_set_ethertype_flow(struct mlx5_flow_spec *spec, u16 ether_type)
{ … }
struct mlx5_flow_handle *
mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs,
u32 tir_num, u16 ether_type)
{ … }
static int fs_any_add_default_rule(struct mlx5e_flow_steering *fs)
{ … }
#define MLX5E_FS_ANY_NUM_GROUPS …
#define MLX5E_FS_ANY_GROUP1_SIZE …
#define MLX5E_FS_ANY_GROUP2_SIZE …
#define MLX5E_FS_ANY_TABLE_SIZE …
static int fs_any_create_groups(struct mlx5e_flow_table *ft)
{ … }
static int fs_any_create_table(struct mlx5e_flow_steering *fs)
{ … }
static int fs_any_disable(struct mlx5e_flow_steering *fs)
{ … }
static int fs_any_enable(struct mlx5e_flow_steering *fs)
{ … }
static void fs_any_destroy_table(struct mlx5e_fs_any *fs_any)
{ … }
void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_flow_steering *fs)
{ … }
int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs)
{ … }