/openbmc/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_eswitch.c | 24 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 D | ice_eswitch_br.c | 953 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 D | ib_rep.c | 17 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 D | tc_tun_encap.c | 156 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 D | bond.c | 229 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 D | tc.c | 95 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 D | bridge.c | 26 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 D | mpesw.c | 20 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 D | lag.c | 375 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 D | devlink.c | 287 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 D | int_port.c | 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()
|
/openbmc/linux/Documentation/networking/devlink/ |
H A D | devlink-port.rst | 25 - 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 D | switchdev.rst | 21 $ 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 D | eswitch.c | 92 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 D | en_tc.c | 293 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 D | en_rep.c | 186 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 D | sriov.c | 78 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 D | rdma.c | 65 esw = dev->priv.eswitch; in mlx5_rdma_enable_roce_steering()
|
H A D | eswitch_offloads.c | 745 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 D | ipsec_fs.c | 38 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 D | qos.c | 792 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 D | trap.c | 15 attr->dest_ft = mlx5_eswitch_get_slow_fdb(priv->mdev->priv.eswitch); in tc_act_parse_trap()
|
H A D | mirred.c | 28 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in verify_uplink_forwarding() 223 esw = priv->mdev->priv.eswitch; in parse_mirred()
|
H A D | goto.c | 24 esw = priv->mdev->priv.eswitch; in validate_goto_chain()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | fs_chains.c | 127 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()
|