mlx5e_flow_steering
struct mlx5e_flow_steering *fs;
struct mlx5e_flow_steering;
int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs,
void mlx5e_arfs_destroy_tables(struct mlx5e_flow_steering *fs, bool ntuple);
int mlx5e_arfs_enable(struct mlx5e_flow_steering *fs);
int mlx5e_arfs_disable(struct mlx5e_flow_steering *fs);
static inline int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs,
static inline void mlx5e_arfs_destroy_tables(struct mlx5e_flow_steering *fs, bool ntuple) {}
static inline int mlx5e_arfs_enable(struct mlx5e_flow_steering *fs)
static inline int mlx5e_arfs_disable(struct mlx5e_flow_steering *fs)
void mlx5e_set_ttc_params(struct mlx5e_flow_steering *fs,
void mlx5e_destroy_ttc_table(struct mlx5e_flow_steering *fs);
int mlx5e_create_ttc_table(struct mlx5e_flow_steering *fs,
void mlx5e_enable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc);
void mlx5e_disable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc);
int mlx5e_create_flow_steering(struct mlx5e_flow_steering *fs,
void mlx5e_destroy_flow_steering(struct mlx5e_flow_steering *fs, bool ntuple,
struct mlx5e_flow_steering *mlx5e_fs_init(const struct mlx5e_profile *profile,
void mlx5e_fs_cleanup(struct mlx5e_flow_steering *fs);
struct mlx5e_vlan_table *mlx5e_fs_get_vlan(struct mlx5e_flow_steering *fs);
struct mlx5e_tc_table *mlx5e_fs_get_tc(struct mlx5e_flow_steering *fs);
struct mlx5e_l2_table *mlx5e_fs_get_l2(struct mlx5e_flow_steering *fs);
struct mlx5_flow_namespace *mlx5e_fs_get_ns(struct mlx5e_flow_steering *fs, bool egress);
void mlx5e_fs_set_ns(struct mlx5e_flow_steering *fs, struct mlx5_flow_namespace *ns, bool egress);
struct mlx5e_ethtool_steering *mlx5e_fs_get_ethtool(struct mlx5e_flow_steering *fs);
struct mlx5_ttc_table *mlx5e_fs_get_ttc(struct mlx5e_flow_steering *fs, bool inner);
void mlx5e_fs_set_ttc(struct mlx5e_flow_steering *fs, struct mlx5_ttc_table *ttc, bool inner);
struct mlx5e_arfs_tables *mlx5e_fs_get_arfs(struct mlx5e_flow_steering *fs);
void mlx5e_fs_set_arfs(struct mlx5e_flow_steering *fs, struct mlx5e_arfs_tables *arfs);
struct mlx5e_ptp_fs *mlx5e_fs_get_ptp(struct mlx5e_flow_steering *fs);
void mlx5e_fs_set_ptp(struct mlx5e_flow_steering *fs, struct mlx5e_ptp_fs *ptp_fs);
struct mlx5e_fs_any *mlx5e_fs_get_any(struct mlx5e_flow_steering *fs);
void mlx5e_fs_set_any(struct mlx5e_flow_steering *fs, struct mlx5e_fs_any *any);
struct mlx5e_fs_udp *mlx5e_fs_get_udp(struct mlx5e_flow_steering *fs);
void mlx5e_fs_set_udp(struct mlx5e_flow_steering *fs, struct mlx5e_fs_udp *udp);
struct mlx5e_accel_fs_tcp *mlx5e_fs_get_accel_tcp(struct mlx5e_flow_steering *fs);
void mlx5e_fs_set_accel_tcp(struct mlx5e_flow_steering *fs, struct mlx5e_accel_fs_tcp *accel_tcp);
void mlx5e_fs_set_state_destroy(struct mlx5e_flow_steering *fs, bool state_destroy);
void mlx5e_fs_set_vlan_strip_disable(struct mlx5e_flow_steering *fs, bool vlan_strip_disable);
struct mlx5_core_dev *mlx5e_fs_get_mdev(struct mlx5e_flow_steering *fs);
int mlx5e_add_vlan_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num);
void mlx5e_remove_vlan_trap(struct mlx5e_flow_steering *fs);
int mlx5e_add_mac_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num);
void mlx5e_remove_mac_trap(struct mlx5e_flow_steering *fs);
void mlx5e_fs_set_rx_mode_work(struct mlx5e_flow_steering *fs, struct net_device *netdev);
int mlx5e_fs_vlan_rx_add_vid(struct mlx5e_flow_steering *fs,
int mlx5e_fs_vlan_rx_kill_vid(struct mlx5e_flow_steering *fs,
void mlx5e_fs_init_l2_addr(struct mlx5e_flow_steering *fs, struct net_device *netdev);
struct dentry *mlx5e_fs_get_debugfs_root(struct mlx5e_flow_steering *fs);
void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs);
void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs);
static inline void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs) { }
static inline void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs) { }
static int fs_udp_add_default_rule(struct mlx5e_flow_steering *fs, enum fs_udp_type type)
static int fs_udp_create_table(struct mlx5e_flow_steering *fs, enum fs_udp_type type)
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)
mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs,
static int fs_any_add_default_rule(struct mlx5e_flow_steering *fs)
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)
void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_flow_steering *fs)
int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs)
mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_flow_steering *fs,
mlx5e_fs_tt_redirect_udp_add_rule(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);
mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs,
void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_flow_steering *fs);
int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs);
static void mlx5e_ptp_rx_unset_fs(struct mlx5e_flow_steering *fs)
struct mlx5e_flow_steering *fs = priv->fs;
int mlx5e_ptp_alloc_rx_fs(struct mlx5e_flow_steering *fs,
void mlx5e_ptp_free_rx_fs(struct mlx5e_flow_steering *fs,
int mlx5e_ptp_alloc_rx_fs(struct mlx5e_flow_steering *fs,
void mlx5e_ptp_free_rx_fs(struct mlx5e_flow_steering *fs,
static int accel_fs_tcp_add_default_rule(struct mlx5e_flow_steering *fs,
static int accel_fs_tcp_create_table(struct mlx5e_flow_steering *fs, enum accel_fs_tcp_type type)
static int accel_fs_tcp_disable(struct mlx5e_flow_steering *fs)
static int accel_fs_tcp_enable(struct mlx5e_flow_steering *fs)
static void accel_fs_tcp_destroy_table(struct mlx5e_flow_steering *fs, int i)
void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs)
int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs)
struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs,
int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs);
void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs);
struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs,
static inline int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) { return 0; }
static inline void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) {}
static inline struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs,
struct mlx5e_flow_steering *fs;
struct mlx5e_flow_steering *fs;
static int arfs_disable(struct mlx5e_flow_steering *fs)
static void arfs_del_rules(struct mlx5e_flow_steering *fs);
int mlx5e_arfs_disable(struct mlx5e_flow_steering *fs)
int mlx5e_arfs_enable(struct mlx5e_flow_steering *fs)
static void _mlx5e_cleanup_tables(struct mlx5e_flow_steering *fs)
void mlx5e_arfs_destroy_tables(struct mlx5e_flow_steering *fs, bool ntuple)
static int arfs_add_default_rule(struct mlx5e_flow_steering *fs,
static int arfs_create_table(struct mlx5e_flow_steering *fs,
int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs,
static void arfs_del_rules(struct mlx5e_flow_steering *fs)
struct dentry *mlx5e_fs_get_debugfs_root(struct mlx5e_flow_steering *fs)
static void mlx5e_destroy_l2_table(struct mlx5e_flow_steering *fs)
static int mlx5e_create_l2_table(struct mlx5e_flow_steering *fs)
static int mlx5e_fs_create_vlan_table(struct mlx5e_flow_steering *fs)
static void mlx5e_destroy_vlan_table(struct mlx5e_flow_steering *fs)
static void mlx5e_destroy_inner_ttc_table(struct mlx5e_flow_steering *fs)
void mlx5e_destroy_ttc_table(struct mlx5e_flow_steering *fs)
static int mlx5e_create_inner_ttc_table(struct mlx5e_flow_steering *fs,
int mlx5e_create_ttc_table(struct mlx5e_flow_steering *fs,
int mlx5e_create_flow_steering(struct mlx5e_flow_steering *fs,
void mlx5e_destroy_flow_steering(struct mlx5e_flow_steering *fs, bool ntuple,
static int mlx5e_fs_vlan_alloc(struct mlx5e_flow_steering *fs)
static void mlx5e_fs_vlan_free(struct mlx5e_flow_steering *fs)
struct mlx5e_vlan_table *mlx5e_fs_get_vlan(struct mlx5e_flow_steering *fs)
static int mlx5e_fs_tc_alloc(struct mlx5e_flow_steering *fs)
static void mlx5e_fs_tc_free(struct mlx5e_flow_steering *fs)
struct mlx5e_tc_table *mlx5e_fs_get_tc(struct mlx5e_flow_steering *fs)
static int mlx5e_fs_ethtool_alloc(struct mlx5e_flow_steering *fs)
static void mlx5e_fs_ethtool_free(struct mlx5e_flow_steering *fs)
struct mlx5e_ethtool_steering *mlx5e_fs_get_ethtool(struct mlx5e_flow_steering *fs)
static int mlx5e_fs_ethtool_alloc(struct mlx5e_flow_steering *fs)
static void mlx5e_fs_ethtool_free(struct mlx5e_flow_steering *fs) { }
static void mlx5e_fs_debugfs_init(struct mlx5e_flow_steering *fs,
struct mlx5e_flow_steering *mlx5e_fs_init(const struct mlx5e_profile *profile,
struct mlx5e_flow_steering *fs;
void mlx5e_fs_cleanup(struct mlx5e_flow_steering *fs)
struct mlx5e_l2_table *mlx5e_fs_get_l2(struct mlx5e_flow_steering *fs)
struct mlx5_flow_namespace *mlx5e_fs_get_ns(struct mlx5e_flow_steering *fs, bool egress)
void mlx5e_fs_set_ns(struct mlx5e_flow_steering *fs, struct mlx5_flow_namespace *ns, bool egress)
struct mlx5_ttc_table *mlx5e_fs_get_ttc(struct mlx5e_flow_steering *fs, bool inner)
void mlx5e_fs_set_ttc(struct mlx5e_flow_steering *fs, struct mlx5_ttc_table *ttc, bool inner)
struct mlx5e_arfs_tables *mlx5e_fs_get_arfs(struct mlx5e_flow_steering *fs)
void mlx5e_fs_set_arfs(struct mlx5e_flow_steering *fs, struct mlx5e_arfs_tables *arfs)
struct mlx5e_ptp_fs *mlx5e_fs_get_ptp(struct mlx5e_flow_steering *fs)
void mlx5e_fs_set_ptp(struct mlx5e_flow_steering *fs, struct mlx5e_ptp_fs *ptp_fs)
struct mlx5e_fs_any *mlx5e_fs_get_any(struct mlx5e_flow_steering *fs)
void mlx5e_fs_set_any(struct mlx5e_flow_steering *fs, struct mlx5e_fs_any *any)
struct mlx5e_accel_fs_tcp *mlx5e_fs_get_accel_tcp(struct mlx5e_flow_steering *fs)
void mlx5e_fs_set_accel_tcp(struct mlx5e_flow_steering *fs, struct mlx5e_accel_fs_tcp *accel_tcp)
void mlx5e_fs_set_state_destroy(struct mlx5e_flow_steering *fs, bool state_destroy)
void mlx5e_fs_set_vlan_strip_disable(struct mlx5e_flow_steering *fs,
struct mlx5e_fs_udp *mlx5e_fs_get_udp(struct mlx5e_flow_steering *fs)
void mlx5e_fs_set_udp(struct mlx5e_flow_steering *fs, struct mlx5e_fs_udp *udp)
struct mlx5_core_dev *mlx5e_fs_get_mdev(struct mlx5e_flow_steering *fs)
static int mlx5e_vport_context_update_vlans(struct mlx5e_flow_steering *fs)
static int __mlx5e_add_vlan_rule(struct mlx5e_flow_steering *fs,
static int mlx5e_add_vlan_rule(struct mlx5e_flow_steering *fs,
static void mlx5e_fs_del_vlan_rule(struct mlx5e_flow_steering *fs,
static void mlx5e_fs_del_any_vid_rules(struct mlx5e_flow_steering *fs)
static int mlx5e_fs_add_any_vid_rules(struct mlx5e_flow_steering *fs)
int mlx5e_add_vlan_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num)
void mlx5e_remove_vlan_trap(struct mlx5e_flow_steering *fs)
int mlx5e_add_mac_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num)
void mlx5e_remove_mac_trap(struct mlx5e_flow_steering *fs)
void mlx5e_enable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc)
void mlx5e_disable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc)
static int mlx5e_vlan_rx_add_cvid(struct mlx5e_flow_steering *fs, u16 vid)
static int mlx5e_vlan_rx_add_svid(struct mlx5e_flow_steering *fs,
int mlx5e_fs_vlan_rx_add_vid(struct mlx5e_flow_steering *fs,
int mlx5e_fs_vlan_rx_kill_vid(struct mlx5e_flow_steering *fs,
static void mlx5e_fs_add_vlan_rules(struct mlx5e_flow_steering *fs)
static void mlx5e_del_vlan_rules(struct mlx5e_flow_steering *fs)
static void mlx5e_execute_l2_action(struct mlx5e_flow_steering *fs,
static void mlx5e_sync_netdev_addr(struct mlx5e_flow_steering *fs,
static void mlx5e_fill_addr_array(struct mlx5e_flow_steering *fs, int list_type,
static void mlx5e_vport_context_update_addr_list(struct mlx5e_flow_steering *fs,
static void mlx5e_vport_context_update(struct mlx5e_flow_steering *fs,
static void mlx5e_apply_netdev_addr(struct mlx5e_flow_steering *fs)
static void mlx5e_handle_netdev_addr(struct mlx5e_flow_steering *fs,
static int mlx5e_add_l2_flow_rule(struct mlx5e_flow_steering *fs,
static int mlx5e_add_promisc_rule(struct mlx5e_flow_steering *fs)
static void mlx5e_del_l2_flow_rule(struct mlx5e_flow_steering *fs,
static int mlx5e_create_promisc_table(struct mlx5e_flow_steering *fs)
static void mlx5e_del_promisc_rule(struct mlx5e_flow_steering *fs)
static void mlx5e_destroy_promisc_table(struct mlx5e_flow_steering *fs)
void mlx5e_fs_set_rx_mode_work(struct mlx5e_flow_steering *fs,
void mlx5e_fs_init_l2_addr(struct mlx5e_flow_steering *fs, struct net_device *netdev)
static void mlx5e_set_inner_ttc_params(struct mlx5e_flow_steering *fs,
void mlx5e_set_ttc_params(struct mlx5e_flow_steering *fs,
static void mlx5e_del_l2_flow_rule(struct mlx5e_flow_steering *fs,
static int mlx5e_add_l2_flow_rule(struct mlx5e_flow_steering *fs,
static void del_ethtool_rule(struct mlx5e_flow_steering *fs,
void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs)
void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs)
struct mlx5e_flow_steering *fs = priv->fs;
struct mlx5e_flow_steering *fs = priv->fs;
struct mlx5e_flow_steering *fs;