/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch.h | 268 struct mlx5_eswitch *esw; 283 struct mlx5_eswitch { struct 327 void esw_offloads_disable(struct mlx5_eswitch *esw); argument 328 int esw_offloads_enable(struct mlx5_eswitch *esw); 329 void esw_offloads_cleanup_reps(struct mlx5_eswitch *esw); 330 int esw_offloads_init_reps(struct mlx5_eswitch *esw); 332 bool mlx5_esw_vport_match_metadata_supported(const struct mlx5_eswitch *esw); 333 int mlx5_esw_offloads_vport_metadata_set(struct mlx5_eswitch *esw, bool enable); 334 u32 mlx5_esw_match_metadata_alloc(struct mlx5_eswitch *esw); 335 void mlx5_esw_match_metadata_free(struct mlx5_eswitch *esw, u32 metadata); [all …]
|
D | eswitch.c | 78 struct mlx5_eswitch *mlx5_devlink_eswitch_get(struct devlink *devlink) in mlx5_devlink_eswitch_get() 91 mlx5_eswitch_get_vport(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_eswitch_get_vport() 190 __esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u16 vport, bool rx_rule, in __esw_fdb_set_vport_rule() 253 esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u16 vport) in esw_fdb_set_vport_rule() 262 esw_fdb_set_vport_allmulti_rule(struct mlx5_eswitch *esw, u16 vport) in esw_fdb_set_vport_allmulti_rule() 275 esw_fdb_set_vport_promisc_rule(struct mlx5_eswitch *esw, u16 vport) in esw_fdb_set_vport_promisc_rule() 286 typedef int (*vport_addr_action)(struct mlx5_eswitch *esw, 289 static int esw_add_uc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) in esw_add_uc_addr() 321 static int esw_del_uc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) in esw_del_uc_addr() 348 static void update_allmulti_vports(struct mlx5_eswitch *esw, in update_allmulti_vports() [all …]
|
D | eswitch_offloads.c | 78 static struct mlx5_eswitch_rep *mlx5_eswitch_get_rep(struct mlx5_eswitch *esw, in mlx5_eswitch_get_rep() 85 mlx5_eswitch_set_rule_flow_source(struct mlx5_eswitch *esw, in mlx5_eswitch_set_rule_flow_source() 101 mlx5_eswitch_clear_rule_source_port(struct mlx5_eswitch *esw, struct mlx5_flow_spec *spec) in mlx5_eswitch_clear_rule_source_port() 118 mlx5_eswitch_set_rule_source_port(struct mlx5_eswitch *esw, in mlx5_eswitch_set_rule_source_port() 121 struct mlx5_eswitch *src_esw, in mlx5_eswitch_set_rule_source_port() 163 esw_setup_decap_indir(struct mlx5_eswitch *esw, in esw_setup_decap_indir() 178 esw_cleanup_decap_indir(struct mlx5_eswitch *esw, in esw_cleanup_decap_indir() 203 struct mlx5_eswitch *esw, in esw_setup_ft_dest() 248 static void esw_put_dest_tables_loop(struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, in esw_put_dest_tables_loop() 265 esw_is_chain_src_port_rewrite(struct mlx5_eswitch *esw, struct mlx5_esw_flow_attr *esw_attr) in esw_is_chain_src_port_rewrite() [all …]
|
D | eswitch_offloads_termtbl.c | 112 mlx5_eswitch_termtbl_get_create(struct mlx5_eswitch *esw, in mlx5_eswitch_termtbl_get_create() 163 mlx5_eswitch_termtbl_put(struct mlx5_eswitch *esw, in mlx5_eswitch_termtbl_put() 197 static bool mlx5_eswitch_offload_is_uplink_port(const struct mlx5_eswitch *esw, in mlx5_eswitch_offload_is_uplink_port() 214 mlx5_eswitch_termtbl_required(struct mlx5_eswitch *esw, in mlx5_eswitch_termtbl_required() 241 mlx5_eswitch_add_termtbl_rule(struct mlx5_eswitch *esw, in mlx5_eswitch_add_termtbl_rule()
|
/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
D | ofld.h | 10 int esw_acl_egress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 12 int mlx5_esw_acl_egress_vport_bond(struct mlx5_eswitch *esw, u16 active_vport_num, 14 int mlx5_esw_acl_egress_vport_unbond(struct mlx5_eswitch *esw, u16 vport_num); 16 static inline bool mlx5_esw_acl_egress_fwd2vport_supported(struct mlx5_eswitch *esw) in mlx5_esw_acl_egress_fwd2vport_supported() 24 int esw_acl_ingress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 25 void esw_acl_ingress_ofld_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport); 26 int mlx5_esw_acl_ingress_vport_bond_update(struct mlx5_eswitch *esw, u16 vport_num,
|
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);
|
D | ingress_ofld.c | 10 esw_acl_ingress_prio_tag_enabled(struct mlx5_eswitch *esw, in esw_acl_ingress_prio_tag_enabled() 17 static int esw_acl_ingress_prio_tag_create(struct mlx5_eswitch *esw, in esw_acl_ingress_prio_tag_create() 62 static int esw_acl_ingress_mod_metadata_create(struct mlx5_eswitch *esw, in esw_acl_ingress_mod_metadata_create() 109 static void esw_acl_ingress_mod_metadata_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_mod_metadata_destroy() 120 static int esw_acl_ingress_ofld_rules_create(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_rules_create() 152 static void esw_acl_ingress_ofld_rules_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_rules_destroy() 159 static int esw_acl_ingress_ofld_groups_create(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_groups_create() 241 int esw_acl_ingress_ofld_setup(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_setup() 287 void esw_acl_ingress_ofld_cleanup(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_cleanup() 296 int mlx5_esw_acl_ingress_vport_bond_update(struct mlx5_eswitch *esw, u16 vport_num, in mlx5_esw_acl_ingress_vport_bond_update()
|
D | egress_ofld.c | 27 static int esw_acl_egress_ofld_fwd2vport_create(struct mlx5_eswitch *esw, in esw_acl_egress_ofld_fwd2vport_create() 56 static int esw_acl_egress_ofld_rules_create(struct mlx5_eswitch *esw, in esw_acl_egress_ofld_rules_create() 102 static int esw_acl_egress_ofld_groups_create(struct mlx5_eswitch *esw, in esw_acl_egress_ofld_groups_create() 167 static bool esw_acl_egress_needed(struct mlx5_eswitch *esw, u16 vport_num) in esw_acl_egress_needed() 172 int esw_acl_egress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in esw_acl_egress_ofld_setup() 224 int mlx5_esw_acl_egress_vport_bond(struct mlx5_eswitch *esw, u16 active_vport_num, in mlx5_esw_acl_egress_vport_bond() 250 int mlx5_esw_acl_egress_vport_unbond(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_acl_egress_vport_unbond()
|
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);
|
/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
D | indir_table.h | 14 struct mlx5_flow_table *mlx5_esw_indir_table_get(struct mlx5_eswitch *esw, 18 void mlx5_esw_indir_table_put(struct mlx5_eswitch *esw, 23 mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw, 45 mlx5_esw_indir_table_get(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_get() 54 mlx5_esw_indir_table_put(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_put() 61 mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_needed()
|
D | qos.h | 9 int mlx5_esw_qos_set_vport_min_rate(struct mlx5_eswitch *esw, 13 int mlx5_esw_qos_set_vport_max_rate(struct mlx5_eswitch *esw, 17 void mlx5_esw_qos_create(struct mlx5_eswitch *esw); 18 void mlx5_esw_qos_destroy(struct mlx5_eswitch *esw); 19 int mlx5_esw_qos_vport_enable(struct mlx5_eswitch *esw, struct mlx5_vport *vport, 21 void mlx5_esw_qos_vport_disable(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
|
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() 167 static void esw_destroy_legacy_vepa_table(struct mlx5_eswitch *esw) in esw_destroy_legacy_vepa_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() 250 static int _mlx5_eswitch_set_vepa_locked(struct mlx5_eswitch *esw, in _mlx5_eswitch_set_vepa_locked() [all …]
|
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);
|
D | qos.c | 44 static int esw_qos_group_config(struct mlx5_eswitch *esw, struct mlx5_esw_rate_group *group, in esw_qos_group_config() 62 static int esw_qos_vport_config(struct mlx5_eswitch *esw, in esw_qos_vport_config() 89 static u32 esw_qos_calculate_min_rate_divider(struct mlx5_eswitch *esw, in esw_qos_calculate_min_rate_divider() 134 static int esw_qos_normalize_vports_min_rate(struct mlx5_eswitch *esw, in esw_qos_normalize_vports_min_rate() 163 static int esw_qos_normalize_groups_min_rate(struct mlx5_eswitch *esw, u32 divider, in esw_qos_normalize_groups_min_rate() 195 int mlx5_esw_qos_set_vport_min_rate(struct mlx5_eswitch *esw, in mlx5_esw_qos_set_vport_min_rate() 222 int mlx5_esw_qos_set_vport_max_rate(struct mlx5_eswitch *esw, in mlx5_esw_qos_set_vport_max_rate() 253 static int esw_qos_set_group_min_rate(struct mlx5_eswitch *esw, struct mlx5_esw_rate_group *group, in esw_qos_set_group_min_rate() 284 static int esw_qos_set_group_max_rate(struct mlx5_eswitch *esw, in esw_qos_set_group_max_rate() 318 static int esw_qos_vport_create_sched_element(struct mlx5_eswitch *esw, in esw_qos_vport_create_sched_element() [all …]
|
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 struct devlink_port *mlx5_esw_dl_port_alloc(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_dl_port_alloc() 68 int mlx5_esw_offloads_devlink_port_register(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_offloads_devlink_port_register() 108 void mlx5_esw_offloads_devlink_port_unregister(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_offloads_devlink_port_unregister() 129 struct devlink_port *mlx5_esw_offloads_devlink_port(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_offloads_devlink_port() 137 int mlx5_esw_devlink_sf_port_register(struct mlx5_eswitch *esw, struct devlink_port *dl_port, in mlx5_esw_devlink_sf_port_register() 175 void mlx5_esw_devlink_sf_port_unregister(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_devlink_sf_port_unregister()
|
D | vporttbl.c | 25 esw_vport_tbl_create(struct mlx5_eswitch *esw, struct mlx5_flow_namespace *ns, in esw_vport_tbl_create() 47 static u32 flow_attr_to_vport_key(struct mlx5_eswitch *esw, in flow_attr_to_vport_key() 61 esw_vport_tbl_lookup(struct mlx5_eswitch *esw, struct mlx5_vport_key *skey, u32 key) in esw_vport_tbl_lookup() 73 mlx5_esw_vporttbl_get(struct mlx5_eswitch *esw, struct mlx5_vport_tbl_attr *attr) in mlx5_esw_vporttbl_get() 123 mlx5_esw_vporttbl_put(struct mlx5_eswitch *esw, struct mlx5_vport_tbl_attr *attr) in mlx5_esw_vporttbl_put()
|
D | indir_table.c | 75 mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_needed() 118 static int mlx5_esw_indir_table_rule_get(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_rule_get() 256 static void mlx5_esw_indir_table_rule_put(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_rule_put() 284 static int mlx5_create_indir_recirc_group(struct mlx5_eswitch *esw, in mlx5_create_indir_recirc_group() 336 static int mlx5_create_indir_fwd_group(struct mlx5_eswitch *esw, in mlx5_create_indir_fwd_group() 382 mlx5_esw_indir_table_entry_create(struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, in mlx5_esw_indir_table_entry_create() 446 mlx5_esw_indir_table_entry_lookup(struct mlx5_eswitch *esw, u16 vport, u8 ip_version) in mlx5_esw_indir_table_entry_lookup() 458 struct mlx5_flow_table *mlx5_esw_indir_table_get(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_get() 492 void mlx5_esw_indir_table_put(struct mlx5_eswitch *esw, in mlx5_esw_indir_table_put()
|
D | bridge.h | 17 struct mlx5_eswitch *esw; 35 struct mlx5_esw_bridge_offloads *mlx5_esw_bridge_init(struct mlx5_eswitch *esw); 36 void mlx5_esw_bridge_cleanup(struct mlx5_eswitch *esw);
|
D | bridge.c | 90 mlx5_esw_bridge_table_create(int max_fte, u32 level, struct mlx5_eswitch *esw) in mlx5_esw_bridge_table_create() 115 mlx5_esw_bridge_ingress_vlan_fg_create(struct mlx5_eswitch *esw, struct mlx5_flow_table *ingress_ft) in mlx5_esw_bridge_ingress_vlan_fg_create() 153 mlx5_esw_bridge_ingress_filter_fg_create(struct mlx5_eswitch *esw, in mlx5_esw_bridge_ingress_filter_fg_create() 191 mlx5_esw_bridge_ingress_mac_fg_create(struct mlx5_eswitch *esw, struct mlx5_flow_table *ingress_ft) in mlx5_esw_bridge_ingress_mac_fg_create() 227 mlx5_esw_bridge_egress_vlan_fg_create(struct mlx5_eswitch *esw, struct mlx5_flow_table *egress_ft) in mlx5_esw_bridge_egress_vlan_fg_create() 260 mlx5_esw_bridge_egress_mac_fg_create(struct mlx5_eswitch *esw, struct mlx5_flow_table *egress_ft) in mlx5_esw_bridge_egress_mac_fg_create() 415 struct mlx5_eswitch *esw) in mlx5_esw_bridge_ingress_flow_with_esw_create() 487 struct mlx5_eswitch *peer_esw; in mlx5_esw_bridge_ingress_flow_peer_create() 756 mlx5_esw_bridge_vlan_push_create(struct mlx5_esw_bridge_vlan *vlan, struct mlx5_eswitch *esw) in mlx5_esw_bridge_vlan_push_create() 792 mlx5_esw_bridge_vlan_push_cleanup(struct mlx5_esw_bridge_vlan *vlan, struct mlx5_eswitch *esw) in mlx5_esw_bridge_vlan_push_cleanup() [all …]
|
/drivers/infiniband/hw/mlx5/ |
D | ib_rep.c | 139 struct mlx5_eswitch *esw; in mlx5_ib_vport_rep_unload() 159 struct mlx5_eswitch *esw; in mlx5_ib_register_peer_vport_reps() 168 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_netdev() 178 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch; in create_flow_rule_vport_sq() 197 struct mlx5_eswitch *esw; in mlx5r_rep_probe() 208 struct mlx5_eswitch *esw; in mlx5r_rep_remove()
|
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()
|
/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
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() 87 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() 113 struct mlx5_eswitch *esw) in mlx5_esw_bridge_is_local() 136 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_port_changeupper() 412 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_switchdev_event() 488 struct mlx5_eswitch *esw = in mlx5e_rep_bridge_init() 548 struct mlx5_eswitch *esw = in mlx5e_rep_bridge_cleanup()
|
/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | tc_tun_encap.c | 122 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_add() 182 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_del() 369 struct mlx5_eswitch *esw; in mlx5e_tc_update_neigh_used_value() 446 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put() 459 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_put() 477 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_encap() 504 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_decap() 562 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_get() 582 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_get() 622 static int mlx5e_set_vf_tunnel(struct mlx5_eswitch *esw, in mlx5e_set_vf_tunnel() [all …]
|
D | tc_priv.h | 113 mlx5e_tc_offload_fdb_rules(struct mlx5_eswitch *esw, 162 void mlx5e_tc_unoffload_from_slow_path(struct mlx5_eswitch *esw, 165 mlx5e_tc_offload_to_slow_path(struct mlx5_eswitch *esw, 168 void mlx5e_tc_unoffload_fdb_rules(struct mlx5_eswitch *esw,
|
/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
D | sample.c | 23 struct mlx5_eswitch *esw; 64 struct mlx5_eswitch *esw = tc_psample->esw; in sampler_termtbl_create() 286 struct mlx5_eswitch *esw = tc_psample->esw; in sample_restore_get() 366 add_post_rule(struct mlx5_eswitch *esw, struct mlx5e_sample_flow *sample_flow, in add_post_rule() 431 del_post_rule(struct mlx5_eswitch *esw, struct mlx5e_sample_flow *sample_flow, in del_post_rule() 505 struct mlx5_eswitch *esw; in mlx5e_tc_sample_offload() 635 struct mlx5_eswitch *esw; in mlx5e_tc_sample_unoffload() 677 mlx5e_tc_sample_init(struct mlx5_eswitch *esw, struct mlx5e_post_act *post_act) in mlx5e_tc_sample_init()
|