/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | eswitch.h | 313 struct mlx5_eswitch *esw; 336 struct mlx5_eswitch { struct 390 int esw_offloads_enable(struct mlx5_eswitch *esw); 392 int esw_offloads_init(struct mlx5_eswitch *esw); 465 mlx5_eswitch_termtbl_put(struct mlx5_eswitch *esw, 716 struct mlx5_eswitch *__must_check 831 int mlx5_esw_try_lock(struct mlx5_eswitch *esw); 832 int mlx5_esw_lock(struct mlx5_eswitch *esw); 833 void mlx5_esw_unlock(struct mlx5_eswitch *esw); 842 struct mlx5_eswitch *slave_esw); [all …]
|
H A D | eswitch_offloads.c | 228 struct mlx5_eswitch *esw, in esw_setup_ft_dest() 567 struct mlx5_eswitch *esw, in esw_setup_dests() 3428 struct mlx5_eswitch *esw; in esw_functions_changed_event_handler() 3448 struct mlx5_eswitch *esw; in mlx5_esw_funcs_changed_handler() 3712 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_mode_set() 3772 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_mode_get() 3835 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_inline_mode_set() 3891 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_inline_mode_get() 3936 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_encap_mode_set() 4006 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_encap_mode_get() [all …]
|
H A D | eswitch.c | 95 struct mlx5_eswitch *__must_check 728 struct mlx5_eswitch *esw = dev->priv.eswitch; in esw_vport_change_handle_locked() 999 struct mlx5_eswitch *esw = mlx5_nb_cof(nb, struct mlx5_eswitch, nb); in eswitch_vport_event() 1842 struct mlx5_eswitch *esw; in mlx5_eswitch_init() 2196 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_mode() 2205 struct mlx5_eswitch *esw; in mlx5_eswitch_get_encap_mode() 2318 int mlx5_esw_lock(struct mlx5_eswitch *esw) in mlx5_esw_lock() 2334 void mlx5_esw_unlock(struct mlx5_eswitch *esw) in mlx5_esw_unlock() 2348 struct mlx5_eswitch *esw; in mlx5_eswitch_get_total_vports() 2369 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_block_ipsec() [all …]
|
/openbmc/linux/include/linux/mlx5/ |
H A D | eswitch.h | 41 int (*event)(struct mlx5_eswitch *esw, 59 struct mlx5_eswitch *esw; 62 void mlx5_eswitch_register_vport_reps(struct mlx5_eswitch *esw, 66 void *mlx5_eswitch_get_proto_dev(struct mlx5_eswitch *esw, 69 struct mlx5_eswitch_rep *mlx5_eswitch_vport_rep(struct mlx5_eswitch *esw, 73 mlx5_eswitch_add_send_to_vport_rule(struct mlx5_eswitch *on_esw, 74 struct mlx5_eswitch *from_esw, 81 bool mlx5_eswitch_reg_c1_loopback_enabled(const struct mlx5_eswitch *esw); 104 u32 mlx5_eswitch_get_vport_metadata_for_match(struct mlx5_eswitch *esw, 106 u32 mlx5_eswitch_get_vport_metadata_for_set(struct mlx5_eswitch *esw, [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
H A D | ofld.h | 11 int esw_acl_egress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 14 int mlx5_esw_acl_egress_vport_bond(struct mlx5_eswitch *esw, u16 active_vport_num, 16 int mlx5_esw_acl_egress_vport_unbond(struct mlx5_eswitch *esw, u16 vport_num); 18 static inline bool mlx5_esw_acl_egress_fwd2vport_supported(struct mlx5_eswitch *esw) in mlx5_esw_acl_egress_fwd2vport_supported() 26 int esw_acl_ingress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 27 void esw_acl_ingress_ofld_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 28 int mlx5_esw_acl_ingress_vport_metadata_update(struct mlx5_eswitch *esw, u16 vport_num, 30 void mlx5_esw_acl_ingress_vport_drop_rule_destroy(struct mlx5_eswitch *esw, u16 vport_num); 31 int mlx5_esw_acl_ingress_vport_drop_rule_create(struct mlx5_eswitch *esw, u16 vport_num); 35 mlx5_esw_acl_ingress_vport_drop_rule_destroy(struct mlx5_eswitch *esw, in mlx5_esw_acl_ingress_vport_drop_rule_destroy() [all …]
|
H A D | lgcy.h | 10 int esw_acl_egress_lgcy_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 11 void esw_acl_egress_lgcy_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 14 int esw_acl_ingress_lgcy_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 15 void esw_acl_ingress_lgcy_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
|
H A D | ingress_ofld.c | 10 acl_ingress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 13 esw_acl_ingress_prio_tag_enabled(struct mlx5_eswitch *esw, in esw_acl_ingress_prio_tag_enabled() 20 static int esw_acl_ingress_prio_tag_create(struct mlx5_eswitch *esw, in esw_acl_ingress_prio_tag_create() 65 static int esw_acl_ingress_mod_metadata_create(struct mlx5_eswitch *esw, in esw_acl_ingress_mod_metadata_create() 113 static void esw_acl_ingress_mod_metadata_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_mod_metadata_destroy() 124 static int esw_acl_ingress_src_port_drop_create(struct mlx5_eswitch *esw, in esw_acl_ingress_src_port_drop_create() 157 static void esw_acl_ingress_src_port_drop_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_src_port_drop_destroy() 167 static int esw_acl_ingress_ofld_rules_create(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_rules_create() 199 static void esw_acl_ingress_ofld_rules_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_rules_destroy() 207 static int esw_acl_ingress_ofld_groups_create(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_groups_create() [all …]
|
H A D | helper.h | 11 esw_acl_table_create(struct mlx5_eswitch *esw, struct mlx5_vport *vport, int ns, int size); 15 int esw_egress_acl_vlan_create(struct mlx5_eswitch *esw, struct mlx5_vport *vport, 19 int esw_acl_egress_vlan_grp_create(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
|
H A D | egress_ofld.c | 41 static int esw_acl_egress_ofld_fwd2vport_create(struct mlx5_eswitch *esw, in esw_acl_egress_ofld_fwd2vport_create() 70 static int esw_acl_egress_ofld_rules_create(struct mlx5_eswitch *esw, in esw_acl_egress_ofld_rules_create() 116 static int esw_acl_egress_ofld_groups_create(struct mlx5_eswitch *esw, in esw_acl_egress_ofld_groups_create() 181 static bool esw_acl_egress_needed(struct mlx5_eswitch *esw, u16 vport_num) in esw_acl_egress_needed() 186 int esw_acl_egress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in esw_acl_egress_ofld_setup() 239 int mlx5_esw_acl_egress_vport_bond(struct mlx5_eswitch *esw, u16 active_vport_num, in mlx5_esw_acl_egress_vport_bond() 265 int mlx5_esw_acl_egress_vport_unbond(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_acl_egress_vport_unbond()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | indir_table.h | 14 struct mlx5_flow_table *mlx5_esw_indir_table_get(struct mlx5_eswitch *esw, 17 void mlx5_esw_indir_table_put(struct mlx5_eswitch *esw, 21 mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw, 43 mlx5_esw_indir_table_get(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_get() 51 mlx5_esw_indir_table_put(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_put() 57 mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_needed()
|
H A D | legacy.h | 11 struct mlx5_eswitch; 13 int esw_legacy_enable(struct mlx5_eswitch *esw); 14 void esw_legacy_disable(struct mlx5_eswitch *esw); 16 int esw_legacy_vport_acl_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 17 void esw_legacy_vport_acl_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
|
H A D | qos.c | 62 static int esw_qos_vport_config(struct mlx5_eswitch *esw, in esw_qos_vport_config() 280 static int esw_qos_set_group_max_rate(struct mlx5_eswitch *esw, in esw_qos_set_group_max_rate() 496 static void esw_qos_put(struct mlx5_eswitch *esw); 608 static void esw_qos_destroy(struct mlx5_eswitch *esw) in esw_qos_destroy() 638 static void esw_qos_put(struct mlx5_eswitch *esw) in esw_qos_put() 789 struct mlx5_eswitch *esw; in mlx5_esw_devlink_rate_leaf_tx_share_set() 815 struct mlx5_eswitch *esw; in mlx5_esw_devlink_rate_leaf_tx_max_set() 841 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_devlink_rate_node_tx_share_set() 859 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_devlink_rate_node_tx_max_set() 877 struct mlx5_eswitch *esw; in mlx5_esw_devlink_rate_node_new() [all …]
|
H A D | devlink_port.c | 17 static bool mlx5_esw_devlink_port_supported(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_devlink_port_supported() 24 static void mlx5_esw_offloads_pf_vf_devlink_port_attrs_set(struct mlx5_eswitch *esw, in mlx5_esw_offloads_pf_vf_devlink_port_attrs_set() 57 int mlx5_esw_offloads_pf_vf_devlink_port_init(struct mlx5_eswitch *esw, in mlx5_esw_offloads_pf_vf_devlink_port_init() 78 void mlx5_esw_offloads_pf_vf_devlink_port_cleanup(struct mlx5_eswitch *esw, in mlx5_esw_offloads_pf_vf_devlink_port_cleanup() 103 static void mlx5_esw_offloads_sf_devlink_port_attrs_set(struct mlx5_eswitch *esw, in mlx5_esw_offloads_sf_devlink_port_attrs_set() 118 int mlx5_esw_offloads_sf_devlink_port_init(struct mlx5_eswitch *esw, struct mlx5_vport *vport, in mlx5_esw_offloads_sf_devlink_port_init() 129 void mlx5_esw_offloads_sf_devlink_port_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in mlx5_esw_offloads_sf_devlink_port_cleanup() 148 int mlx5_esw_offloads_devlink_port_register(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in mlx5_esw_offloads_devlink_port_register() 186 void mlx5_esw_offloads_devlink_port_unregister(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in mlx5_esw_offloads_devlink_port_unregister() 200 struct devlink_port *mlx5_esw_offloads_devlink_port(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_offloads_devlink_port()
|
H A D | legacy.c | 22 static int esw_create_legacy_vepa_table(struct mlx5_eswitch *esw) in esw_create_legacy_vepa_table() 51 static void esw_destroy_legacy_fdb_table(struct mlx5_eswitch *esw) in esw_destroy_legacy_fdb_table() 72 static int esw_create_legacy_fdb_table(struct mlx5_eswitch *esw) in esw_create_legacy_fdb_table() 177 static int esw_create_legacy_table(struct mlx5_eswitch *esw) in esw_create_legacy_table() 195 static void esw_cleanup_vepa_rules(struct mlx5_eswitch *esw) in esw_cleanup_vepa_rules() 207 static void esw_destroy_legacy_table(struct mlx5_eswitch *esw) in esw_destroy_legacy_table() 218 int esw_legacy_enable(struct mlx5_eswitch *esw) in esw_legacy_enable() 237 void esw_legacy_disable(struct mlx5_eswitch *esw) in esw_legacy_disable() 387 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_query_vport_drop_stats() 426 int mlx5_eswitch_set_vport_vlan(struct mlx5_eswitch *esw, in mlx5_eswitch_set_vport_vlan() [all …]
|
H A D | vporttbl.c | 25 esw_vport_tbl_init(struct mlx5_eswitch *esw, struct esw_vport_tbl_namespace *ns) in esw_vport_tbl_init() 33 esw_vport_tbl_create(struct mlx5_eswitch *esw, struct mlx5_flow_namespace *ns, in esw_vport_tbl_create() 55 static u32 flow_attr_to_vport_key(struct mlx5_eswitch *esw, in flow_attr_to_vport_key() 69 esw_vport_tbl_lookup(struct mlx5_eswitch *esw, struct mlx5_vport_key *skey, u32 key) in esw_vport_tbl_lookup() 81 mlx5_esw_vporttbl_get(struct mlx5_eswitch *esw, struct mlx5_vport_tbl_attr *attr) in mlx5_esw_vporttbl_get() 132 mlx5_esw_vporttbl_put(struct mlx5_eswitch *esw, struct mlx5_vport_tbl_attr *attr) in mlx5_esw_vporttbl_put()
|
H A D | indir_table.c | 67 mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_needed() 95 static int mlx5_esw_indir_table_rule_get(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_rule_get() 171 static void mlx5_esw_indir_table_rule_put(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_rule_put() 209 static int mlx5_create_indir_fwd_group(struct mlx5_eswitch *esw, in mlx5_create_indir_fwd_group() 248 mlx5_esw_indir_table_entry_create(struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, in mlx5_esw_indir_table_entry_create() 311 mlx5_esw_indir_table_entry_lookup(struct mlx5_eswitch *esw, u16 vport) in mlx5_esw_indir_table_entry_lookup() 323 struct mlx5_flow_table *mlx5_esw_indir_table_get(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_get() 356 void mlx5_esw_indir_table_put(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_put()
|
H A D | bridge.c | 91 struct mlx5_eswitch *esw, in mlx5_esw_bridge_ingress_vlan_proto_fg_create() 249 struct mlx5_eswitch *esw, in mlx5_esw_bridge_egress_vlan_proto_fg_create() 368 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_ingress_table_init() 473 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_egress_table_init() 575 struct mlx5_eswitch *esw) in mlx5_esw_bridge_ingress_flow_with_esw_create() 656 struct mlx5_eswitch *tmp, *peer_esw = NULL; in mlx5_esw_bridge_ingress_flow_peer_create() 1022 struct mlx5_eswitch *esw) in mlx5_esw_bridge_vlan_push_create() 1173 struct mlx5_eswitch *esw) in mlx5_esw_bridge_vlan_create() 1515 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_mcast_set() 1546 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_vport_init() [all …]
|
H A D | qos.h | 9 int mlx5_esw_qos_set_vport_rate(struct mlx5_eswitch *esw, struct mlx5_vport *evport, 11 void mlx5_esw_qos_vport_disable(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
|
/openbmc/linux/drivers/infiniband/hw/mlx5/ |
H A D | ib_rep.c | 176 struct mlx5_eswitch *esw; in mlx5_ib_vport_rep_unload() 196 struct mlx5_eswitch *esw; in mlx5_ib_register_peer_vport_reps() 205 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_netdev() 215 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch; in create_flow_rule_vport_sq() 234 struct mlx5_eswitch *esw; in mlx5r_rep_probe() 245 struct mlx5_eswitch *esw; in mlx5r_rep_remove()
|
H A D | ib_rep.h | 20 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, 34 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_netdev()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
H A D | bridge.c | 22 static bool mlx5_esw_bridge_dev_same_esw(struct net_device *dev, struct mlx5_eswitch *esw) in mlx5_esw_bridge_dev_same_esw() 29 static bool mlx5_esw_bridge_dev_same_hw(struct net_device *dev, struct mlx5_eswitch *esw) in mlx5_esw_bridge_dev_same_hw() 45 mlx5_esw_bridge_lag_rep_get(struct net_device *dev, struct mlx5_eswitch *esw) in mlx5_esw_bridge_lag_rep_get() 67 mlx5_esw_bridge_rep_vport_num_vhca_id_get(struct net_device *dev, struct mlx5_eswitch *esw, in mlx5_esw_bridge_rep_vport_num_vhca_id_get() 91 mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get(struct net_device *dev, struct mlx5_eswitch *esw, in mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get() 117 struct mlx5_eswitch *esw) in mlx5_esw_bridge_is_local() 140 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_port_changeupper() 437 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_switchdev_event() 524 struct mlx5_eswitch *esw = in mlx5e_rep_bridge_init() 584 struct mlx5_eswitch *esw = in mlx5e_rep_bridge_cleanup()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | tc_priv.h | 129 mlx5e_tc_offload_fdb_rules(struct mlx5_eswitch *esw, 188 void mlx5e_tc_unoffload_from_slow_path(struct mlx5_eswitch *esw, 191 mlx5e_tc_offload_to_slow_path(struct mlx5_eswitch *esw, 195 void mlx5e_tc_unoffload_fdb_rules(struct mlx5_eswitch *esw,
|
H A D | tc_tun_encap.c | 147 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_add() 217 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_del() 408 struct mlx5_eswitch *esw; in mlx5e_tc_update_neigh_used_value() 485 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put() 498 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put_locked() 511 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_put() 531 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_encap() 561 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_decap() 650 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_get() 1030 struct mlx5_eswitch *esw; in mlx5e_tc_tun_encap_dests_set() [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
H A D | int_port.c | 31 bool mlx5e_tc_int_port_supported(const struct mlx5_eswitch *esw) in mlx5e_tc_int_port_supported() 61 mlx5e_int_port_create_rx_rule(struct mlx5_eswitch *esw, in mlx5e_int_port_create_rx_rule() 154 struct mlx5_eswitch *esw = priv->dev->priv.eswitch; in mlx5e_int_port_add() 230 struct mlx5_eswitch *esw = priv->dev->priv.eswitch; in mlx5e_int_port_remove() 308 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_int_port_init() 360 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_int_port_init_rep_rx() 380 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_int_port_cleanup_rep_rx()
|
H A D | int_port.h | 18 bool mlx5e_tc_int_port_supported(const struct mlx5_eswitch *esw); 56 static inline bool mlx5e_tc_int_port_supported(const struct mlx5_eswitch *esw) in mlx5e_tc_int_port_supported()
|