Home
last modified time | relevance | path

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

123

/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Deswitch.h314 struct mlx5_eswitch *esw;
337 struct mlx5_eswitch { struct
391 int esw_offloads_enable(struct mlx5_eswitch *esw);
393 int esw_offloads_init(struct mlx5_eswitch *esw);
466 mlx5_eswitch_termtbl_put(struct mlx5_eswitch *esw,
719 struct mlx5_eswitch *__must_check
834 int mlx5_esw_try_lock(struct mlx5_eswitch *esw);
835 int mlx5_esw_lock(struct mlx5_eswitch *esw);
836 void mlx5_esw_unlock(struct mlx5_eswitch *esw);
845 struct mlx5_eswitch *slave_esw);
[all …]
H A Deswitch.c95 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 …]
H A Deswitch_offloads.c232 struct mlx5_eswitch *esw, in esw_setup_ft_dest()
571 struct mlx5_eswitch *esw, in esw_setup_dests()
3440 struct mlx5_eswitch *esw; in esw_functions_changed_event_handler()
3460 struct mlx5_eswitch *esw; in mlx5_esw_funcs_changed_handler()
3724 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_mode_set()
3790 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_mode_get()
3853 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_inline_mode_set()
3909 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_inline_mode_get()
3954 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_encap_mode_set()
4024 struct mlx5_eswitch *esw; in mlx5_devlink_eswitch_encap_mode_get()
[all …]
/linux/include/linux/mlx5/
H A Deswitch.h42 int (*event)(struct mlx5_eswitch *esw,
60 struct mlx5_eswitch *esw;
63 void mlx5_eswitch_register_vport_reps(struct mlx5_eswitch *esw,
67 void *mlx5_eswitch_get_proto_dev(struct mlx5_eswitch *esw,
70 struct mlx5_eswitch_rep *mlx5_eswitch_vport_rep(struct mlx5_eswitch *esw,
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);
105 u32 mlx5_eswitch_get_vport_metadata_for_match(struct mlx5_eswitch *esw,
107 u32 mlx5_eswitch_get_vport_metadata_for_set(struct mlx5_eswitch *esw,
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
H A Dofld.h11 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 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);
H A Dingress_ofld.c10 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 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);
H A Degress_ofld.c41 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()
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dindir_table.h14 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 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);
H A 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()
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 Dqos.c63 static int esw_qos_vport_config(struct mlx5_eswitch *esw, in esw_qos_vport_config()
281 static int esw_qos_set_group_max_rate(struct mlx5_eswitch *esw, in esw_qos_set_group_max_rate()
497 static void esw_qos_put(struct mlx5_eswitch *esw);
609 static void esw_qos_destroy(struct mlx5_eswitch *esw) in esw_qos_destroy()
639 static void esw_qos_put(struct mlx5_eswitch *esw) in esw_qos_put()
861 struct mlx5_eswitch *esw; in mlx5_esw_devlink_rate_leaf_tx_share_set()
887 struct mlx5_eswitch *esw; in mlx5_esw_devlink_rate_leaf_tx_max_set()
913 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_devlink_rate_node_tx_share_set()
931 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_devlink_rate_node_tx_max_set()
949 struct mlx5_eswitch *esw; in mlx5_esw_devlink_rate_node_new()
[all …]
H A 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 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()
105 static void mlx5_esw_offloads_sf_devlink_port_attrs_set(struct mlx5_eswitch *esw, in mlx5_esw_offloads_sf_devlink_port_attrs_set()
120 int mlx5_esw_offloads_sf_devlink_port_init(struct mlx5_eswitch *esw, struct mlx5_vport *vport, in mlx5_esw_offloads_sf_devlink_port_init()
131 void mlx5_esw_offloads_sf_devlink_port_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in mlx5_esw_offloads_sf_devlink_port_cleanup()
152 int mlx5_esw_offloads_devlink_port_register(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in mlx5_esw_offloads_devlink_port_register()
190 void mlx5_esw_offloads_devlink_port_unregister(struct mlx5_eswitch *esw, struct mlx5_vport *vport) in mlx5_esw_offloads_devlink_port_unregister()
204 struct devlink_port *mlx5_esw_offloads_devlink_port(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_esw_offloads_devlink_port()
H A Dvporttbl.c25 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 Dbridge.c91 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 Dindir_table.c67 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 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);
H A Dbridge.h18 struct mlx5_eswitch *esw;
46 struct mlx5_esw_bridge_offloads *mlx5_esw_bridge_init(struct mlx5_eswitch *esw);
47 void mlx5_esw_bridge_cleanup(struct mlx5_eswitch *esw);
/linux/drivers/infiniband/hw/mlx5/
H A Dib_rep.c178 struct mlx5_eswitch *esw; in mlx5_ib_vport_rep_unload()
198 struct mlx5_eswitch *esw; in mlx5_ib_register_peer_vport_reps()
207 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_netdev()
217 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch; in create_flow_rule_vport_sq()
236 struct mlx5_eswitch *esw; in mlx5r_rep_probe()
247 struct mlx5_eswitch *esw; in mlx5r_rep_remove()
H A 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/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A 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()
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()
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_encap.c147 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 …]
H A Dtc_priv.h130 mlx5e_tc_offload_fdb_rules(struct mlx5_eswitch *esw,
189 void mlx5e_tc_unoffload_from_slow_path(struct mlx5_eswitch *esw,
192 mlx5e_tc_offload_to_slow_path(struct mlx5_eswitch *esw,
196 void mlx5e_tc_unoffload_fdb_rules(struct mlx5_eswitch *esw,
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
H A 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()

123