Home
last modified time | relevance | path

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

123

/linux-6.15/drivers/net/ethernet/intel/ice/
H A Dice_eswitch.c201 xa_erase(&pf->eswitch.reprs, repr->id); in ice_eswitch_update_repr()
301 pf->eswitch.uplink_vsi = uplink_vsi; in ice_eswitch_enable_switchdev()
309 pf->eswitch.is_running = true; in ice_eswitch_enable_switchdev()
327 pf->eswitch.is_running = false; in ice_eswitch_disable_switchdev()
355 xa_destroy(&pf->eswitch.reprs); in ice_eswitch_mode_set()
368 xa_init(&pf->eswitch.reprs); in ice_eswitch_mode_set()
456 if (xa_empty(&pf->eswitch.reprs)) { in ice_eswitch_attach()
487 if (xa_empty(&pf->eswitch.reprs)) in ice_eswitch_attach()
552 if (xa_empty(&pf->eswitch.reprs)) in ice_eswitch_detach()
558 if (xa_empty(&pf->eswitch.reprs)) { in ice_eswitch_detach()
[all …]
H A 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.15/drivers/infiniband/hw/mlx5/
H A 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.15/Documentation/networking/devlink/
H A 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
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 …]
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_encap.c155 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()
1044 esw = priv->mdev->priv.eswitch; in mlx5e_tc_tun_encap_dests_set()
[all …]
/linux-6.15/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()
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 Dbridge.c26 return esw == priv->mdev->priv.eswitch; in mlx5_esw_bridge_dev_same_esw()
76 if (!priv->mdev->priv.eswitch->br_offloads) in mlx5_esw_bridge_rep_vport_num_vhca_id_get()
523 mdev->priv.eswitch; in mlx5e_rep_bridge_init()
583 mdev->priv.eswitch; in mlx5e_rep_bridge_cleanup()
/linux-6.15/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()
101 err = mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in enable_mpesw()
115 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in enable_mpesw()
H A Dlag.c656 master_esw = dev0->priv.eswitch; in mlx5_lag_create_single_fdb()
658 struct mlx5_eswitch *slave_esw = ldev->pf[i].dev->priv.eswitch; in mlx5_lag_create_single_fdb()
669 ldev->pf[j].dev->priv.eswitch); in mlx5_lag_create_single_fdb()
791 master_esw = dev0->priv.eswitch; in mlx5_deactivate_lag()
799 ldev->pf[i].dev->priv.eswitch); in mlx5_deactivate_lag()
930 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_disable_lag()
948 mlx5_eswitch_get_npeers(dev->priv.eswitch) == in mlx5_lag_shared_fdb_supported()
956 mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) && in mlx5_lag_shared_fdb_supported()
957 mlx5_esw_offloads_devcom_is_ready(dev->priv.eswitch) && in mlx5_lag_shared_fdb_supported()
1036 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_do_bond()
[all …]
/linux-6.15/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()
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/sf/
H A Ddevlink.c243 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_sf_add()
297 return dev->priv.eswitch && MLX5_ESWITCH_MANAGER(dev) && in mlx5_sf_table_supported()
359 struct mlx5_eswitch *esw = table->dev->priv.eswitch; in mlx5_sf_del()
484 err = mlx5_esw_event_notifier_register(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_init()
499 mlx5_esw_event_notifier_unregister(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_init()
516 mlx5_esw_event_notifier_unregister(dev->priv.eswitch, &table->esw_nb); in mlx5_sf_table_cleanup()
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dqos.c577 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in esw_qos_vport_enable()
596 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_enable()
626 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_disable()
649 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in mlx5_esw_qos_set_vport_max_rate()
664 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in mlx5_esw_qos_set_vport_min_rate()
675 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_set_vport_rate()
688 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_get_vport_rate()
704 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in esw_qos_vport_update_parent()
874 esw = vport->dev->priv.eswitch; in mlx5_esw_devlink_rate_leaf_tx_share_set()
895 esw = vport->dev->priv.eswitch; in mlx5_esw_devlink_rate_leaf_tx_max_set()
[all …]
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()
158 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_esw_ipsec_restore_dest_uplink()
/linux-6.15/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.
/linux-6.15/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()
1876 dev->priv.eswitch = esw; in mlx5_eswitch_init()
1916 dev->priv.eswitch = NULL; in mlx5_eswitch_init()
1946 esw->dev->priv.eswitch = NULL; in mlx5_eswitch_cleanup()
2207 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_mode()
2218 esw = dev->priv.eswitch; in mlx5_eswitch_get_encap_mode()
2251 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_esw_hold()
2361 esw = dev->priv.eswitch; in mlx5_eswitch_get_total_vports()
2380 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5_eswitch_block_ipsec()
[all …]
H A Den_tc.c327 struct mlx5_eswitch *esw = dev->priv.eswitch; in mlx5e_get_flow_meters()
1626 esw = flow->priv->mdev->priv.eswitch; in add_unready_flow()
1641 esw = flow->priv->mdev->priv.eswitch; in remove_unready_flow()
1681 esw = out_priv->mdev->priv.eswitch; in mlx5e_tc_query_route_vport()
2265 esw = priv->mdev->priv.eswitch; in mlx5e_get_flow_tunnel_id()
2348 esw = flow->priv->mdev->priv.eswitch; in mlx5e_put_flow_tunnel_id()
5026 esw = priv->mdev->priv.eswitch; in apply_police_params()
5400 esw = priv->mdev->priv.eswitch; in mlx5e_tc_esw_init()
5481 esw = priv->mdev->priv.eswitch; in mlx5e_tc_esw_cleanup()
5818 esw = priv->mdev->priv.eswitch; in mlx5e_get_priv_obj_mapping()
[all …]
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 Den_rep.c204 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS()
572 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_add_sqs_fwd_rules()
627 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_remove_sqs_fwd_rules()
637 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_add_meta_tunnel_rule()
1037 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_create_rep_vport_rx_rule()
1574 dl_port = mlx5_esw_offloads_devlink_port(dev->priv.eswitch, in mlx5e_vport_vf_rep_load()
1761 esw = mdev->priv.eswitch; in mlx5e_rep_probe()
1772 esw = mdev->priv.eswitch; in mlx5e_rep_remove()
/linux-6.15/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()
/linux-6.15/Documentation/netlink/specs/
H A Ddevlink.yaml96 name: eswitch-mode
104 name: eswitch-inline-mode
116 name: eswitch-encap-mode
288 name: eswitch-mode
290 enum: eswitch-mode
292 name: eswitch-inline-mode
429 name: eswitch-encap-mode
431 enum: eswitch-encap-mode
1540 name: eswitch-get
1555 - eswitch-mode
[all …]
/linux-6.15/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()
220 struct mlx5_eswitch *esw = chain->chains->dev->priv.eswitch; in create_chain_restore()

123