Home
last modified time | relevance | path

Searched refs:eswitch (Results 1 – 25 of 57) sorted by relevance

123

/openbmc/linux/drivers/net/ethernet/intel/ice/
H A Dice_eswitch.c24 struct ice_vsi *ctrl_vsi = pf->eswitch.control_vsi; in ice_eswitch_add_vf_sp_rule()
81 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_setup_env()
82 struct ice_vsi *ctrl_vsi = pf->eswitch.control_vsi; in ice_eswitch_setup_env()
147 struct ice_vsi *vsi = pf->eswitch.control_vsi; in ice_eswitch_remap_rings_to_vectors()
226 struct ice_vsi *ctrl_vsi = pf->eswitch.control_vsi; in ice_eswitch_setup_reprs()
393 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_release_env()
394 struct ice_vsi *ctrl_vsi = pf->eswitch.control_vsi; in ice_eswitch_release_env()
489 pf->eswitch.control_vsi = ice_eswitch_vsi_setup(pf, pf->hw.port_info); in ice_eswitch_enable_switchdev()
490 if (!pf->eswitch.control_vsi) in ice_eswitch_enable_switchdev()
493 ctrl_vsi = pf->eswitch.control_vsi; in ice_eswitch_enable_switchdev()
[all …]
H A Dice_eswitch_br.c953 struct ice_vsi *vsi = pf->eswitch.uplink_vsi; in ice_eswitch_br_uplink_port_init()
1191 struct ice_esw_br_offloads *br_offloads = pf->eswitch.br_offloads; in ice_eswitch_br_offloads_dealloc()
1200 pf->eswitch.br_offloads = NULL; in ice_eswitch_br_offloads_dealloc()
1211 if (pf->eswitch.br_offloads) in ice_eswitch_br_offloads_alloc()
1218 pf->eswitch.br_offloads = br_offloads; in ice_eswitch_br_offloads_alloc()
1229 br_offloads = pf->eswitch.br_offloads; in ice_eswitch_br_offloads_deinit()
/openbmc/linux/drivers/infiniband/hw/mlx5/
H A Dib_rep.c17 ibdev = mlx5_eswitch_uplink_get_proto_dev(dev->priv.eswitch, REP_IB); in mlx5_ib_set_vport_rep()
108 mlx5_ib_get_rep_netdev(lag_master->priv.eswitch, rep->vport); in mlx5_ib_vport_rep_load()
179 esw = peer_mdev->priv.eswitch; in mlx5_ib_vport_rep_unload()
200 esw = peer_mdev->priv.eswitch; in mlx5_ib_register_peer_vport_reps()
215 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch; in create_flow_rule_vport_sq()
236 esw = mdev->priv.eswitch; in mlx5r_rep_probe()
247 esw = mdev->priv.eswitch; in mlx5r_rep_remove()
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_encap.c156 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_add()
226 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_del()
420 esw = priv->mdev->priv.eswitch; in mlx5e_tc_update_neigh_used_value()
494 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put()
507 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put_locked()
520 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_put()
540 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_encap()
570 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_decap()
659 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_get()
679 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_get()
[all …]
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dbond.c229 err = mlx5_esw_acl_egress_vport_bond(priv->mdev->priv.eswitch, in mlx5e_rep_changelowerstate_event()
263 mlx5e_rep_bond_enslave(priv->mdev->priv.eswitch, netdev, lag_dev); in mlx5e_rep_changeupper_event()
265 mlx5e_rep_bond_unslave(priv->mdev->priv.eswitch, netdev, lag_dev); in mlx5e_rep_changeupper_event()
288 rpriv = mlx5_eswitch_get_uplink_priv(priv->mdev->priv.eswitch, REP_ETH); in mlx5e_rep_esw_bond_netevent()
315 if (!mlx5_esw_acl_egress_fwd2vport_supported(priv->mdev->priv.eswitch)) in mlx5e_rep_bond_init()
343 if (!mlx5_esw_acl_egress_fwd2vport_supported(priv->mdev->priv.eswitch) || in mlx5e_rep_bond_cleanup()
H A Dtc.c95 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_update_flows()
198 esw = priv->mdev->priv.eswitch; in mlx5e_rep_setup_ft_cb()
378 esw = mpriv->mdev->priv.eswitch; in mlx5e_rep_indr_setup_ft_cb()
435 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_check_indr_block_supported()
539 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_indr_replace_act()
577 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_indr_destroy_act()
599 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_indr_stats_act()
708 esw = priv->mdev->priv.eswitch; in mlx5e_rep_tc_receive()
H A Dbridge.c26 return esw == priv->mdev->priv.eswitch; in mlx5_esw_bridge_dev_same_esw()
81 if (!priv->mdev->priv.eswitch->br_offloads) in mlx5_esw_bridge_rep_vport_num_vhca_id_get()
525 mdev->priv.eswitch; in mlx5e_rep_bridge_init()
585 mdev->priv.eswitch; in mlx5e_rep_bridge_cleanup()
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lag/
H A Dmpesw.c20 esw = dev->priv.eswitch; in mlx5_mpesw_metadata_cleanup()
41 esw = dev->priv.eswitch; in mlx5_mpesw_metadata_set()
102 err = mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in enable_mpesw()
116 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in enable_mpesw()
H A Dlag.c375 mlx5_esw_acl_ingress_vport_drop_rule_destroy(ldev->pf[i].dev->priv.eswitch, in mlx5_lag_drop_rule_cleanup()
404 err = mlx5_esw_acl_ingress_vport_drop_rule_create(dev->priv.eswitch, in mlx5_lag_drop_rule_setup()
559 struct mlx5_eswitch *master_esw = dev0->priv.eswitch; in mlx5_lag_create_single_fdb()
564 struct mlx5_eswitch *slave_esw = ldev->pf[i].dev->priv.eswitch; in mlx5_lag_create_single_fdb()
575 ldev->pf[i].dev->priv.eswitch); in mlx5_lag_create_single_fdb()
674 struct mlx5_eswitch *master_esw = dev0->priv.eswitch; in mlx5_deactivate_lag()
688 ldev->pf[i].dev->priv.eswitch); in mlx5_deactivate_lag()
733 if (mlx5_eswitch_num_vfs(dev->priv.eswitch) && !is_mdev_switchdev_mode(dev)) in mlx5_lag_check_prereq()
823 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_disable_lag()
834 mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) && in mlx5_shared_fdb_supported()
[all …]
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/sf/
H A Ddevlink.c287 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_sf_add()
386 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_devlink_sf_port_del()
467 struct mlx5_eswitch *esw = table->dev->priv.eswitch; in mlx5_sf_deactivate_all()
516 return dev->priv.eswitch && MLX5_ESWITCH_MANAGER(dev) && in mlx5_sf_table_supported()
538 err = mlx5_esw_event_notifier_register(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_init()
550 mlx5_esw_event_notifier_unregister(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_init()
566 mlx5_esw_event_notifier_unregister(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_cleanup()
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
H A Dint_port.c154 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()
/openbmc/linux/Documentation/networking/devlink/
H A Ddevlink-port.rst25 - Any kind of physical port. This can be an eswitch physical port or any
32 - This indicates an eswitch port representing a port of PCI
35 - This indicates an eswitch port representing a port of PCI
38 - This indicates an eswitch port representing a port of PCI
64 consists of one or more ports. This port is represented by the devlink eswitch
70 An eswitch is on the PCI device which supports ports of multiple controllers.
81 ----------- | | controller_num=1 (no eswitch) |
86 | devlink eswitch ports and reps |
102 | local controller_num=0 (eswitch) |
106 doesn't have the eswitch. Local controller (identified by controller number = 0)
[all …]
/openbmc/linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/
H A Dswitchdev.rst21 $ devlink dev eswitch set pci/0000:06:00.0 mode switchdev
84 A subfunction supports eswitch representation through which it supports tc
85 offloads. The user configures eswitch to send/receive packets from/to
137 $ devlink dev eswitch set pci/0000:06:00.0 mode switchdev
163 This is supported only when the eswitch mode is set to switchdev. Port function
164 configuration of the PCI VF/SF is supported through devlink eswitch port.
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Deswitch.c92 return dev->priv.eswitch; in __mlx5_devlink_eswitch_get()
728 struct mlx5_eswitch *esw = dev->priv.eswitch; in esw_vport_change_handle_locked()
765 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in esw_vport_change_handler()
1872 dev->priv.eswitch = esw; in mlx5_eswitch_init()
1908 dev->priv.eswitch = NULL; in mlx5_eswitch_init()
1937 esw->dev->priv.eswitch = NULL; in mlx5_eswitch_cleanup()
2196 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_mode()
2207 esw = dev->priv.eswitch; in mlx5_eswitch_get_encap_mode()
2216 return (dev0->priv.eswitch->mode == MLX5_ESWITCH_OFFLOADS && in mlx5_esw_multipath_prereq()
2217 dev1->priv.eswitch->mode == MLX5_ESWITCH_OFFLOADS); in mlx5_esw_multipath_prereq()
[all …]
H A Den_tc.c293 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_act_stats_handle()
310 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_get_int_port_priv()
327 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5e_get_flow_meters()
352 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_ct_priv()
369 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_sample_priv()
387 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_post_action()
406 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5_tc_rule_insert()
419 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5_tc_rule_delete()
491 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_rule_offload()
514 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_rule_unoffload()
[all …]
H A Den_rep.c186 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS()
511 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_add_sqs_fwd_rules()
565 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_remove_sqs_fwd_rules()
575 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_add_meta_tunnel_rule()
974 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_create_rep_vport_rx_rule()
1504 dl_port = mlx5_esw_offloads_devlink_port(dev->priv.eswitch, in mlx5e_vport_vf_rep_load()
1691 esw = mdev->priv.eswitch; in mlx5e_rep_probe()
1702 esw = mdev->priv.eswitch; in mlx5e_rep_remove()
H A Dsriov.c78 err = mlx5_eswitch_enable(dev->priv.eswitch, num_vfs); in mlx5_device_enable_sriov()
150 mlx5_eswitch_disable_sriov(dev->priv.eswitch, clear_vf); in mlx5_device_disable_sriov()
H A Drdma.c65 esw = dev->priv.eswitch; in mlx5_rdma_enable_roce_steering()
H A Deswitch_offloads.c745 esw_attr->in_mdev->priv.eswitch, in mlx5_eswitch_add_offloaded_rule()
838 esw_attr->in_mdev->priv.eswitch, in mlx5_eswitch_add_fwd_rule()
1145 dest->vport.num = peer_dev->priv.eswitch->manager_vport; in peer_miss_rules_setup()
1206 esw_set_peer_miss_rule_source_port(esw, peer_dev->priv.eswitch, in esw_add_fdb_peer_miss_rules()
1232 peer_dev->priv.eswitch, in esw_add_fdb_peer_miss_rules()
1248 esw_set_peer_miss_rule_source_port(esw, peer_dev->priv.eswitch, in esw_add_fdb_peer_miss_rules()
2413 struct mlx5_eswitch *esw = dev->priv.eswitch; in esw_port_metadata_set()
2439 ctx->val.vbool = mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch); in esw_port_metadata_get()
2690 dest.vport.num = slave->priv.eswitch->manager_vport; in __esw_set_master_egress_rule()
2788 struct mlx5_eswitch *esw = master->priv.eswitch; in esw_set_master_egress_rule()
[all …]
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dipsec_fs.c38 dest->ft = mlx5_chains_get_table(esw_chains(ipsec->mdev->priv.eswitch), 0, 1, 0); in mlx5_esw_ipsec_rx_status_pass_dest_get()
145 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_esw_ipsec_restore_dest_uplink()
H A Dqos.c792 esw = vport->dev->priv.eswitch; in mlx5_esw_devlink_rate_leaf_tx_share_set()
818 esw = vport->dev->priv.eswitch; 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()
949 return mlx5_esw_qos_vport_update_group(vport->dev->priv.eswitch, in mlx5_esw_devlink_rate_parent_set()
953 return mlx5_esw_qos_vport_update_group(vport->dev->priv.eswitch, vport, group, extack); in mlx5_esw_devlink_rate_parent_set()
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/
H A Dtrap.c15 attr->dest_ft = mlx5_eswitch_get_slow_fdb(priv->mdev->priv.eswitch); in tc_act_parse_trap()
H A Dmirred.c28 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in verify_uplink_forwarding()
223 esw = priv->mdev->priv.eswitch; in parse_mirred()
H A Dgoto.c24 esw = priv->mdev->priv.eswitch; in validate_goto_chain()
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/
H A Dfs_chains.c127 if (!chains->dev->priv.eswitch || in mlx5_chains_get_prio_range()
128 chains->dev->priv.eswitch->mode != MLX5_ESWITCH_OFFLOADS) in mlx5_chains_get_prio_range()
214 struct mlx5_eswitch *esw = chain->chains->dev->priv.eswitch; in create_chain_restore()

123