| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_eswitch.c | 22 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_setup_env() 111 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_setup_repr() 185 repr = xa_load(&pf->eswitch.reprs, *repr_id); in ice_eswitch_update_repr() 202 xa_erase(&pf->eswitch.reprs, repr->id); in ice_eswitch_update_repr() 204 if (xa_insert(&pf->eswitch.reprs, repr->id, repr, GFP_KERNEL)) in ice_eswitch_update_repr() 272 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_release_env() 307 pf->eswitch.uplink_vsi = uplink_vsi; in ice_eswitch_enable_switchdev() 315 pf->eswitch.is_running = true; in ice_eswitch_enable_switchdev() 333 pf->eswitch.is_running = false; in ice_eswitch_disable_switchdev() 361 xa_destroy(&pf->eswitch.reprs); in ice_eswitch_mode_set() [all …]
|
| H A D | ice_eswitch_br.c | 959 struct ice_vsi *vsi = pf->eswitch.uplink_vsi; in ice_eswitch_br_uplink_port_init() 1197 struct ice_esw_br_offloads *br_offloads = pf->eswitch.br_offloads; in ice_eswitch_br_offloads_dealloc() 1206 pf->eswitch.br_offloads = NULL; in ice_eswitch_br_offloads_dealloc() 1217 if (pf->eswitch.br_offloads) in ice_eswitch_br_offloads_alloc() 1224 pf->eswitch.br_offloads = br_offloads; in ice_eswitch_br_offloads_alloc() 1235 br_offloads = pf->eswitch.br_offloads; in ice_eswitch_br_offloads_deinit()
|
| /linux/drivers/infiniband/hw/mlx5/ |
| H A D | ib_rep.c | 18 ibdev = mlx5_eswitch_uplink_get_proto_dev(dev->priv.eswitch, REP_IB); in mlx5_ib_set_vport_rep() 174 mlx5_ib_get_rep_netdev(lag_master->priv.eswitch, in mlx5_ib_vport_rep_load() 250 esw = peer_mdev->priv.eswitch; in mlx5_ib_vport_rep_unload() 272 esw = peer_mdev->priv.eswitch; in mlx5_ib_register_peer_vport_reps() 287 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch; in create_flow_rule_vport_sq() 308 esw = mdev->priv.eswitch; in mlx5r_rep_probe() 319 esw = mdev->priv.eswitch; in mlx5r_rep_remove()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | tc_tun_encap.c | 155 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_add() 225 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_encap_flows_del() 419 esw = priv->mdev->priv.eswitch; in mlx5e_tc_update_neigh_used_value() 493 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put() 506 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_put_locked() 519 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_put() 539 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_encap() 569 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_detach_decap() 658 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_encap_get() 678 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_get() [all …]
|
| /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() 212 esw = priv->mdev->priv.eswitch; in mlx5e_rep_setup_ft_cb() 392 esw = mpriv->mdev->priv.eswitch; in mlx5e_rep_indr_setup_ft_cb() 449 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_check_indr_block_supported() 553 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_indr_replace_act() 591 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_indr_destroy_act() 613 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_indr_stats_act() 722 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() 72 if (!priv->mdev->priv.eswitch->br_offloads) in mlx5_esw_bridge_rep_vport_num_vhca_id_get() 519 mdev->priv.eswitch; in mlx5e_rep_bridge_init() 580 mdev->priv.eswitch; in mlx5e_rep_bridge_cleanup()
|
| /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() 108 err = mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_lag_enable_mpesw() 124 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_lag_enable_mpesw()
|
| H A D | lag.c | 443 mlx5_esw_acl_ingress_vport_drop_rule_destroy(ldev->pf[i].dev->priv.eswitch, in mlx5_lag_drop_rule_cleanup() 472 err = mlx5_esw_acl_ingress_vport_drop_rule_create(dev->priv.eswitch, in mlx5_lag_drop_rule_setup() 674 master_esw = dev0->priv.eswitch; in mlx5_lag_create_single_fdb() 676 struct mlx5_eswitch *slave_esw = ldev->pf[i].dev->priv.eswitch; in mlx5_lag_create_single_fdb() 687 ldev->pf[j].dev->priv.eswitch); in mlx5_lag_create_single_fdb() 809 master_esw = dev0->priv.eswitch; in mlx5_deactivate_lag() 817 ldev->pf[i].dev->priv.eswitch); in mlx5_deactivate_lag() 861 if (mlx5_eswitch_num_vfs(dev->priv.eswitch) && !is_mdev_switchdev_mode(dev)) in mlx5_lag_check_prereq() 948 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_disable_lag() 963 mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) && in mlx5_lag_shared_fdb_supported() [all …]
|
| /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() 362 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_int_port_init_rep_rx() 382 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_int_port_cleanup_rep_rx()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| H A D | qos.c | 973 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in esw_qos_vport_tc_enable() 1071 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in esw_qos_vport_enable() 1093 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_enable() 1128 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_disable_locked() 1141 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_disable() 1162 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in mlx5_esw_qos_set_vport_max_rate() 1177 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in mlx5_esw_qos_set_vport_min_rate() 1190 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_set_vport_rate() 1203 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_get_vport_rate() 1248 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in esw_qos_vport_update() [all …]
|
| 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() 158 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_esw_ipsec_restore_dest_uplink()
|
| /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() 1310 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_host_pf_enable_hca() 1336 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_host_pf_disable_hca() 2036 dev->priv.eswitch = esw; in mlx5_eswitch_init() 2093 dev->priv.eswitch = NULL; in mlx5_eswitch_init() 2123 esw->dev->priv.eswitch = NULL; in mlx5_eswitch_cleanup() 2387 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_mode() 2398 esw = dev->priv.eswitch; in mlx5_eswitch_get_encap_mode() [all …]
|
| H A D | en_tc.c | 294 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_act_stats_handle() 311 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_get_int_port_priv() 328 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5e_get_flow_meters() 353 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_ct_priv() 370 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_sample_priv() 388 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_post_action() 407 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5_tc_rule_insert() 420 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5_tc_rule_delete() 492 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_rule_offload() 515 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_rule_unoffload() [all …]
|
| H A D | en_rep.c | 205 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS() 573 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_add_sqs_fwd_rules() 628 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_remove_sqs_fwd_rules() 638 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_add_meta_tunnel_rule() 1041 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_create_rep_vport_rx_rule() 1590 dl_port = mlx5_esw_offloads_devlink_port(dev->priv.eswitch, in mlx5e_vport_vf_rep_load() 1785 esw = mdev->priv.eswitch; in mlx5e_rep_probe() 1796 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 | 758 esw_attr->in_mdev->priv.eswitch, in mlx5_eswitch_add_offloaded_rule() 851 esw_attr->in_mdev->priv.eswitch, in mlx5_eswitch_add_fwd_rule() 1158 dest->vport.num = peer_dev->priv.eswitch->manager_vport; in peer_miss_rules_setup() 1186 struct mlx5_eswitch *peer_esw = peer_dev->priv.eswitch; in esw_add_fdb_peer_miss_rules() 1321 struct mlx5_eswitch *peer_esw = peer_dev->priv.eswitch; in esw_del_fdb_peer_miss_rules() 2597 struct mlx5_eswitch *esw = dev->priv.eswitch; in esw_port_metadata_set() 2624 ctx->val.vbool = mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch); in esw_port_metadata_get() 2878 dest.vport.num = slave->priv.eswitch->manager_vport; in __esw_set_master_egress_rule() 2976 struct mlx5_eswitch *esw = master->priv.eswitch; in esw_set_master_egress_rule() 3018 vport = mlx5_eswitch_get_vport(dev->priv.eswitch, in esw_unset_master_egress_rule() [all …]
|
| /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 …]
|
| /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.
|
| /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()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/sf/ |
| H A D | devlink.c | 240 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_sf_add() 294 return dev->priv.eswitch && MLX5_ESWITCH_MANAGER(dev) && in mlx5_sf_table_supported() 356 struct mlx5_eswitch *esw = table->dev->priv.eswitch; in mlx5_sf_del()
|
| /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() 220 struct mlx5_eswitch *esw = chain->chains->dev->priv.eswitch; in create_chain_restore()
|