Home
last modified time | relevance | path

Searched refs:mlx5_eswitch (Results 1 – 25 of 47) sorted by relevance

12

/linux-5.19.10/drivers/net/ethernet/mellanox/mlx5/core/
Deswitch.h274 struct mlx5_eswitch *esw;
289 struct mlx5_eswitch { struct
336 void esw_offloads_disable(struct mlx5_eswitch *esw); argument
337 int esw_offloads_enable(struct mlx5_eswitch *esw);
338 void esw_offloads_cleanup_reps(struct mlx5_eswitch *esw);
339 int esw_offloads_init_reps(struct mlx5_eswitch *esw);
341 bool mlx5_esw_vport_match_metadata_supported(const struct mlx5_eswitch *esw);
342 int mlx5_esw_offloads_vport_metadata_set(struct mlx5_eswitch *esw, bool enable);
343 u32 mlx5_esw_match_metadata_alloc(struct mlx5_eswitch *esw);
344 void mlx5_esw_match_metadata_free(struct mlx5_eswitch *esw, u32 metadata);
[all …]
Deswitch_offloads.c79 static struct mlx5_eswitch_rep *mlx5_eswitch_get_rep(struct mlx5_eswitch *esw, in mlx5_eswitch_get_rep()
86 mlx5_eswitch_set_rule_flow_source(struct mlx5_eswitch *esw, in mlx5_eswitch_set_rule_flow_source()
108 mlx5_eswitch_clear_rule_source_port(struct mlx5_eswitch *esw, struct mlx5_flow_spec *spec) in mlx5_eswitch_clear_rule_source_port()
125 mlx5_eswitch_set_rule_source_port(struct mlx5_eswitch *esw, in mlx5_eswitch_set_rule_source_port()
128 struct mlx5_eswitch *src_esw, in mlx5_eswitch_set_rule_source_port()
178 esw_setup_decap_indir(struct mlx5_eswitch *esw, in esw_setup_decap_indir()
193 esw_cleanup_decap_indir(struct mlx5_eswitch *esw, in esw_cleanup_decap_indir()
218 struct mlx5_eswitch *esw, in esw_setup_ft_dest()
244 struct mlx5_eswitch *esw, int i) in esw_setup_slow_path_dest()
271 static void esw_put_dest_tables_loop(struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, in esw_put_dest_tables_loop()
[all …]
Deswitch.c78 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()
183 __esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u16 vport, bool rx_rule, in __esw_fdb_set_vport_rule()
246 esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u16 vport) in esw_fdb_set_vport_rule()
255 esw_fdb_set_vport_allmulti_rule(struct mlx5_eswitch *esw, u16 vport) in esw_fdb_set_vport_allmulti_rule()
268 esw_fdb_set_vport_promisc_rule(struct mlx5_eswitch *esw, u16 vport) in esw_fdb_set_vport_promisc_rule()
279 typedef int (*vport_addr_action)(struct mlx5_eswitch *esw,
282 static int esw_add_uc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) in esw_add_uc_addr()
314 static int esw_del_uc_addr(struct mlx5_eswitch *esw, struct vport_addr *vaddr) in esw_del_uc_addr()
341 static void update_allmulti_vports(struct mlx5_eswitch *esw, in update_allmulti_vports()
[all …]
/linux-5.19.10/include/linux/mlx5/
Deswitch.h42 int (*event)(struct mlx5_eswitch *esw,
60 struct mlx5_eswitch *esw;
63 void mlx5_eswitch_register_vport_reps(struct mlx5_eswitch *esw,
66 void mlx5_eswitch_unregister_vport_reps(struct mlx5_eswitch *esw, u8 rep_type);
67 void *mlx5_eswitch_get_proto_dev(struct mlx5_eswitch *esw,
70 struct mlx5_eswitch_rep *mlx5_eswitch_vport_rep(struct mlx5_eswitch *esw,
72 void *mlx5_eswitch_uplink_get_proto_dev(struct mlx5_eswitch *esw, u8 rep_type);
74 mlx5_eswitch_add_send_to_vport_rule(struct mlx5_eswitch *on_esw,
75 struct mlx5_eswitch *from_esw,
82 bool mlx5_eswitch_reg_c1_loopback_enabled(const struct mlx5_eswitch *esw);
[all …]
/linux-5.19.10/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
Dofld.h11 int esw_acl_egress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
13 int mlx5_esw_acl_egress_vport_bond(struct mlx5_eswitch *esw, u16 active_vport_num,
15 int mlx5_esw_acl_egress_vport_unbond(struct mlx5_eswitch *esw, u16 vport_num);
17 static inline bool mlx5_esw_acl_egress_fwd2vport_supported(struct mlx5_eswitch *esw) in mlx5_esw_acl_egress_fwd2vport_supported()
25 int esw_acl_ingress_ofld_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
26 void esw_acl_ingress_ofld_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport);
27 int mlx5_esw_acl_ingress_vport_bond_update(struct mlx5_eswitch *esw, u16 vport_num,
29 void mlx5_esw_acl_ingress_vport_drop_rule_destroy(struct mlx5_eswitch *esw, u16 vport_num);
30 int mlx5_esw_acl_ingress_vport_drop_rule_create(struct mlx5_eswitch *esw, u16 vport_num);
34 mlx5_esw_acl_ingress_vport_drop_rule_destroy(struct mlx5_eswitch *esw, in mlx5_esw_acl_ingress_vport_drop_rule_destroy()
[all …]
Dlgcy.h10 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);
Dingress_ofld.c10 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()
110 static void esw_acl_ingress_mod_metadata_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_mod_metadata_destroy()
121 static int esw_acl_ingress_src_port_drop_create(struct mlx5_eswitch *esw, in esw_acl_ingress_src_port_drop_create()
141 static void esw_acl_ingress_src_port_drop_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_src_port_drop_destroy()
151 static int esw_acl_ingress_ofld_rules_create(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_rules_create()
183 static void esw_acl_ingress_ofld_rules_destroy(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_rules_destroy()
191 static int esw_acl_ingress_ofld_groups_create(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_groups_create()
302 int esw_acl_ingress_ofld_setup(struct mlx5_eswitch *esw, in esw_acl_ingress_ofld_setup()
[all …]
Dhelper.h11 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);
Degress_ofld.c27 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()
/linux-5.19.10/drivers/net/ethernet/mellanox/mlx5/core/esw/
Dindir_table.h14 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()
Dlegacy.h11 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);
Dqos.c46 static int esw_qos_group_config(struct mlx5_eswitch *esw, struct mlx5_esw_rate_group *group, in esw_qos_group_config()
64 static int esw_qos_vport_config(struct mlx5_eswitch *esw, in esw_qos_vport_config()
101 static u32 esw_qos_calculate_min_rate_divider(struct mlx5_eswitch *esw, in esw_qos_calculate_min_rate_divider()
146 static int esw_qos_normalize_vports_min_rate(struct mlx5_eswitch *esw, in esw_qos_normalize_vports_min_rate()
175 static int esw_qos_normalize_groups_min_rate(struct mlx5_eswitch *esw, u32 divider, in esw_qos_normalize_groups_min_rate()
207 static int esw_qos_set_vport_min_rate(struct mlx5_eswitch *esw, struct mlx5_vport *evport, in esw_qos_set_vport_min_rate()
232 static int esw_qos_set_vport_max_rate(struct mlx5_eswitch *esw, struct mlx5_vport *evport, in esw_qos_set_vport_max_rate()
261 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()
292 static int esw_qos_set_group_max_rate(struct mlx5_eswitch *esw, in esw_qos_set_group_max_rate()
326 static int esw_qos_vport_create_sched_element(struct mlx5_eswitch *esw, in esw_qos_vport_create_sched_element()
[all …]
Dlegacy.c22 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 …]
Ddevlink_port.c17 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()
Dvporttbl.c25 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()
Dbridge.c95 static bool mlx5_esw_bridge_pkt_reformat_vlan_pop_supported(struct mlx5_eswitch *esw) in mlx5_esw_bridge_pkt_reformat_vlan_pop_supported()
104 mlx5_esw_bridge_pkt_reformat_vlan_pop_create(struct mlx5_eswitch *esw) in mlx5_esw_bridge_pkt_reformat_vlan_pop_create()
116 mlx5_esw_bridge_table_create(int max_fte, u32 level, struct mlx5_eswitch *esw) in mlx5_esw_bridge_table_create()
141 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()
179 mlx5_esw_bridge_ingress_filter_fg_create(struct mlx5_eswitch *esw, in mlx5_esw_bridge_ingress_filter_fg_create()
217 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()
253 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()
286 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()
317 mlx5_esw_bridge_egress_miss_fg_create(struct mlx5_eswitch *esw, struct mlx5_flow_table *egress_ft) in mlx5_esw_bridge_egress_miss_fg_create()
351 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_ingress_table_init()
[all …]
Dbridge.h17 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);
Dindir_table.c75 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()
Dqos.h9 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);
/linux-5.19.10/drivers/infiniband/hw/mlx5/
Dib_rep.c139 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()
Dib_rep.h20 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()
/linux-5.19.10/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
Dbridge.c22 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()
381 struct mlx5_eswitch *esw = br_offloads->esw; in mlx5_esw_bridge_switchdev_event()
461 struct mlx5_eswitch *esw = in mlx5e_rep_bridge_init()
521 struct mlx5_eswitch *esw = in mlx5e_rep_bridge_cleanup()
/linux-5.19.10/drivers/net/ethernet/mellanox/mlx5/core/en/
Dtc_tun_encap.c146 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_add()
216 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_del()
398 struct mlx5_eswitch *esw; in mlx5e_tc_update_neigh_used_value()
475 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put()
488 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_put()
508 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_encap()
538 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_decap()
596 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_get()
616 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_get()
656 static int mlx5e_set_vf_tunnel(struct mlx5_eswitch *esw, in mlx5e_set_vf_tunnel()
[all …]
Dtc_priv.h128 mlx5e_tc_offload_fdb_rules(struct mlx5_eswitch *esw,
187 void mlx5e_tc_unoffload_from_slow_path(struct mlx5_eswitch *esw,
190 mlx5e_tc_offload_to_slow_path(struct mlx5_eswitch *esw,
194 void mlx5e_tc_unoffload_fdb_rules(struct mlx5_eswitch *esw,
/linux-5.19.10/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
Dint_port.c31 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()

12