Home
last modified time | relevance | path

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

123

/linux-6.12.1/drivers/net/ethernet/intel/ice/
Dice_eswitch.c22 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_setup_env()
116 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_setup_repr()
190 repr = xa_load(&pf->eswitch.reprs, *repr_id); in ice_eswitch_update_repr()
207 xa_erase(&pf->eswitch.reprs, repr->id); in ice_eswitch_update_repr()
209 if (xa_insert(&pf->eswitch.reprs, repr->id, repr, GFP_KERNEL)) in ice_eswitch_update_repr()
273 struct ice_vsi *uplink_vsi = pf->eswitch.uplink_vsi; in ice_eswitch_release_env()
308 pf->eswitch.uplink_vsi = uplink_vsi; in ice_eswitch_enable_switchdev()
316 pf->eswitch.is_running = true; in ice_eswitch_enable_switchdev()
334 pf->eswitch.is_running = false; in ice_eswitch_disable_switchdev()
362 xa_destroy(&pf->eswitch.reprs); in ice_eswitch_mode_set()
[all …]
Dice_eswitch_br.c959 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-6.12.1/drivers/infiniband/hw/mlx5/
Dib_rep.c18 ibdev = mlx5_eswitch_uplink_get_proto_dev(dev->priv.eswitch, REP_IB); in mlx5_ib_set_vport_rep()
109 mlx5_ib_get_rep_netdev(lag_master->priv.eswitch, in mlx5_ib_vport_rep_load()
181 esw = peer_mdev->priv.eswitch; in mlx5_ib_vport_rep_unload()
202 esw = peer_mdev->priv.eswitch; in mlx5_ib_register_peer_vport_reps()
217 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch; in create_flow_rule_vport_sq()
238 esw = mdev->priv.eswitch; in mlx5r_rep_probe()
249 esw = mdev->priv.eswitch; in mlx5r_rep_remove()
/linux-6.12.1/Documentation/networking/devlink/
Ddevlink-eswitch-attr.rst66 $ devlink dev eswitch set pci/0000:08:00.0 mode switchdev
69 $ devlink dev eswitch set pci/0000:08:00.0 inline-mode none encap-mode basic
71 # display devlink device eswitch attributes
72 $ devlink dev eswitch show pci/0000:08:00.0
76 $ devlink dev eswitch set pci/0000:08:00.0 mode legacy inline-mode none encap-mode basic
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 …]
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/en/
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()
411 esw = priv->mdev->priv.eswitch; 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()
670 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_decap_get()
[all …]
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
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()
Dtc.c95 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()
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()
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/lag/
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()
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()
596 struct mlx5_eswitch *master_esw = dev0->priv.eswitch; in mlx5_lag_create_single_fdb()
601 struct mlx5_eswitch *slave_esw = ldev->pf[i].dev->priv.eswitch; in mlx5_lag_create_single_fdb()
612 ldev->pf[i].dev->priv.eswitch); in mlx5_lag_create_single_fdb()
712 struct mlx5_eswitch *master_esw = dev0->priv.eswitch; in mlx5_deactivate_lag()
726 ldev->pf[i].dev->priv.eswitch); in mlx5_deactivate_lag()
770 if (mlx5_eswitch_num_vfs(dev->priv.eswitch) && !is_mdev_switchdev_mode(dev)) in mlx5_lag_check_prereq()
858 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_disable_lag()
869 mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) && in mlx5_shared_fdb_supported()
[all …]
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
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()
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/sf/
Ddevlink.c243 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_sf_add()
296 return dev->priv.eswitch && MLX5_ESWITCH_MANAGER(dev) && in mlx5_sf_table_supported()
358 struct mlx5_eswitch *esw = table->dev->priv.eswitch; in mlx5_sf_del()
483 err = mlx5_esw_event_notifier_register(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_init()
498 mlx5_esw_event_notifier_unregister(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_init()
515 mlx5_esw_event_notifier_unregister(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_cleanup()
/linux-6.12.1/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/
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.
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/
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()
1873 dev->priv.eswitch = esw; in mlx5_eswitch_init()
1909 dev->priv.eswitch = NULL; in mlx5_eswitch_init()
1938 esw->dev->priv.eswitch = NULL; in mlx5_eswitch_cleanup()
2197 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_mode()
2208 esw = dev->priv.eswitch; in mlx5_eswitch_get_encap_mode()
2217 return (dev0->priv.eswitch->mode == MLX5_ESWITCH_OFFLOADS && in mlx5_esw_multipath_prereq()
2218 dev1->priv.eswitch->mode == MLX5_ESWITCH_OFFLOADS); in mlx5_esw_multipath_prereq()
[all …]
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 …]
Den_rep.c203 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS()
571 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_add_sqs_fwd_rules()
625 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_remove_sqs_fwd_rules()
635 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_add_meta_tunnel_rule()
1031 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_create_rep_vport_rx_rule()
1553 dl_port = mlx5_esw_offloads_devlink_port(dev->priv.eswitch, in mlx5e_vport_vf_rep_load()
1740 esw = mdev->priv.eswitch; in mlx5e_rep_probe()
1751 esw = mdev->priv.eswitch; in mlx5e_rep_remove()
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()
Drdma.c65 esw = dev->priv.eswitch; in mlx5_rdma_enable_roce_steering()
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/esw/
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()
Dqos.c864 esw = vport->dev->priv.eswitch; in mlx5_esw_devlink_rate_leaf_tx_share_set()
890 esw = vport->dev->priv.eswitch; 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()
1021 return mlx5_esw_qos_vport_update_group(vport->dev->priv.eswitch, in mlx5_esw_devlink_rate_parent_set()
1025 return mlx5_esw_qos_vport_update_group(vport->dev->priv.eswitch, vport, group, extack); in mlx5_esw_devlink_rate_parent_set()
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/
Dtrap.c15 attr->dest_ft = mlx5_eswitch_get_slow_fdb(priv->mdev->priv.eswitch); in tc_act_parse_trap()
Dmirred.c28 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in verify_uplink_forwarding()
223 esw = priv->mdev->priv.eswitch; in parse_mirred()
Dgoto.c24 esw = priv->mdev->priv.eswitch; in validate_goto_chain()
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/lib/
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