| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_eswitch.c | 14 * ice_eswitch_setup_env - configure eswitch HW filters 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() 183 repr = xa_load(&pf->eswitch.reprs, *repr_id); in ice_eswitch_update_repr() 200 xa_erase(&pf->eswitch.reprs, repr->id); in ice_eswitch_update_repr() 202 if (xa_insert(&pf->eswitch.reprs, repr->id, repr, GFP_KERNEL)) in ice_eswitch_update_repr() 235 * ice_eswitch_set_target_vsi - set eswitch context in Tx context descriptor 262 * ice_eswitch_release_env - clear eswitch HW filters 270 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_release_env() 288 * ice_eswitch_enable_switchdev - configure eswitch i 622 struct ice_eswitch *eswitch = &rx_ring->vsi->back->eswitch; ice_eswitch_get_target() local [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/net/ethernet/mellanox/mlx5/core/lag/ |
| H A D | shared_fdb.c | 28 mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) && in mlx5_lag_shared_fdb_supported_filter() 31 mlx5_eswitch_is_peer(dev0->priv.eswitch, dev->priv.eswitch)) in mlx5_lag_shared_fdb_supported_filter() 37 mlx5_eswitch_vport_match_metadata_enabled(dev0->priv.eswitch) && in mlx5_lag_shared_fdb_supported_filter() 38 mlx5_esw_offloads_devcom_is_ready(dev0->priv.eswitch) && in mlx5_lag_shared_fdb_supported_filter() 64 master_esw = dev0->priv.eswitch; in mlx5_lag_create_single_fdb_filter() 71 slave_esw = mlx5_lag_pf(ldev, i)->dev->priv.eswitch; in mlx5_lag_create_single_fdb_filter() 86 slave_esw = mlx5_lag_pf(ldev, j)->dev->priv.eswitch; in mlx5_lag_create_single_fdb_filter() 106 master_esw = dev0->priv.eswitch; in mlx5_lag_create_vport_lag() 114 slave_esw = mlx5_lag_pf(ldev, i)->dev->priv.eswitch; in mlx5_lag_create_vport_lag() 129 slave_esw = mlx5_lag_pf(ldev, j)->dev->priv.eswitch; in mlx5_lag_create_vport_lag() [all …]
|
| 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()
|
| H A D | lag.c | 36 #include <linux/mlx5/eswitch.h> 42 #include "eswitch.h" 736 mlx5_esw_acl_ingress_vport_drop_rule_destroy(pf->dev->priv.eswitch, in mlx5_lag_drop_rule_cleanup() 767 err = mlx5_esw_acl_ingress_vport_drop_rule_create(dev->priv.eswitch, in mlx5_lag_drop_rule_setup() 1130 if (mlx5_eswitch_num_vfs(dev->priv.eswitch) && !is_mdev_switchdev_mode(dev)) in mlx5_lag_check_prereq() 1279 esw = pf->dev->priv.eswitch; in mlx5_lag_reload_ib_reps_idx() 1347 esw = pf->dev->priv.eswitch; in mlx5_lag_unload_reps_unlocked() 1357 * the per-eswitch reps_lock to keep the reps_lock -> ldev->lock order. in mlx5_lag_unload_reps_from_locked() 1521 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_lag_set_vports_agg_speed() 1741 fg = mlx5_esw_lag_demux_fg_create(dev->priv.eswitch, in mlx5_lag_demux_fw_init() [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() 546 mdev->priv.eswitch; in mlx5e_rep_bridge_init() 607 mdev->priv.eswitch; in mlx5e_rep_bridge_cleanup()
|
| /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/ |
| H A D | eswitch.c | 92 return dev->priv.eswitch; in __mlx5_devlink_eswitch_get() 721 struct mlx5_eswitch *esw = dev->priv.eswitch; in esw_vport_change_handle_locked() 758 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in esw_vport_change_handler() 866 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_vhca_id_to_func_type() 1508 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_pf_enable_hca() 1534 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_pf_disable_hca() 2117 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_sf_max_spf_functions() 2135 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_get_num_spfs() 2146 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_spf_get_host_number() 2160 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_esw_get_hpf_host_number() [all …]
|
| H A D | en_rep.c | 203 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS() 574 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_add_sqs_fwd_rules() 629 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_remove_sqs_fwd_rules() 639 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_add_meta_tunnel_rule() 1049 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_create_rep_vport_rx_rule() 1349 mutex_lock(&mdev->priv.eswitch->state_lock); in mlx5e_uplink_rep_enable() 1352 mutex_unlock(&mdev->priv.eswitch->state_lock); in mlx5e_uplink_rep_enable() 1562 dl_port = mlx5_esw_offloads_devlink_port(dev->priv.eswitch, in mlx5e_vport_vf_rep_load() 1753 esw = mdev->priv.eswitch; in mlx5e_rep_probe() 1764 esw = mdev->priv.eswitch; in mlx5e_rep_remove()
|
| H A D | en_tc.c | 295 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_act_stats_handle() 312 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_get_int_port_priv() 329 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5e_get_flow_meters() 354 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_ct_priv() 371 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_sample_priv() 389 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_post_action() 408 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5_tc_rule_insert() 421 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5_tc_rule_delete() 493 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_rule_offload() 516 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_tc_rule_unoffload() [all …]
|
| H A D | eswitch_offloads.c | 760 esw_attr->in_mdev->priv.eswitch, in mlx5_eswitch_add_offloaded_rule() 853 esw_attr->in_mdev->priv.eswitch, in mlx5_eswitch_add_fwd_rule() 1160 dest->vport.num = peer_dev->priv.eswitch->manager_vport; in peer_miss_rules_setup() 1188 struct mlx5_eswitch *peer_esw = peer_dev->priv.eswitch; in esw_add_fdb_peer_miss_rules() 1338 struct mlx5_eswitch *peer_esw = peer_dev->priv.eswitch; in esw_del_fdb_peer_miss_rules() 2724 struct mlx5_eswitch *esw = dev->priv.eswitch; in esw_port_metadata_set() 2751 ctx->val.vbool = mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch); in esw_port_metadata_get() 3033 dest.vport.num = slave->priv.eswitch->manager_vport; in __esw_set_master_egress_rule() 3124 struct mlx5_eswitch *slave_esw = slave->priv.eswitch; in esw_set_slave_egress_rule() 3143 dest.vport.num = master->priv.eswitch->manager_vport; in esw_set_slave_egress_rule() [all …]
|
| H A D | rdma.c | 65 esw = dev->priv.eswitch; in mlx5_rdma_enable_roce_steering()
|
| /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/sf/ |
| H A D | devlink.c | 240 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_sf_add() 300 return dev->priv.eswitch && MLX5_ESWITCH_MANAGER(dev) && in mlx5_sf_table_supported() 362 struct mlx5_eswitch *esw = table->dev->priv.eswitch; in mlx5_sf_del() 376 mlx5_esw_reps_block(dev->priv.eswitch); in mlx5_devlink_sf_port_del() 378 mlx5_esw_reps_unblock(dev->priv.eswitch); in mlx5_devlink_sf_port_del()
|
| /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() 159 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_esw_ipsec_restore_dest_uplink()
|
| H A D | qos.c | 78 lockdep_assert_held(&dev->priv.eswitch->state_lock); in esw_assert_qos_lock_held() 86 mutex_lock(&dev->priv.eswitch->state_lock); in esw_qos_lock() 94 mutex_unlock(&dev->priv.eswitch->state_lock); in esw_qos_unlock() 112 mutex_lock(&dev->priv.eswitch->state_lock); in esw_qos_devlink_lock() 118 mutex_unlock(&dev->priv.eswitch->state_lock); in esw_qos_devlink_unlock() 1093 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_enable() 1132 esw_qos_put(vport->dev->priv.eswitch); in mlx5_esw_qos_vport_disable_locked() 1137 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_disable() 1240 node->parent->esw : vport->dev->priv.eswitch; in esw_qos_vport_validate_unsupported_tc_bw() 1636 if (!mlx5_esw_allowed(vport->dev->priv.eswitch)) in mlx5_esw_devlink_rate_leaf_tx_share_set() [all …]
|
| H A D | adj_vport.c | 5 #include "eswitch.h" 12 lockdep_assert_held(&dev->priv.eswitch->state_lock); in mlx5_esw_adj_vport_modify()
|
| /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()
|
| H A D | vlan.c | 182 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in tc_act_post_parse_vlan()
|
| /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()
|