/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_eswitch.c | 201 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 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() 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/Documentation/networking/devlink/ |
H A D | devlink-eswitch-attr.rst | 66 $ 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 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/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() 1047 esw = priv->mdev->priv.eswitch; in mlx5e_tc_tun_encap_dests_set() [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() 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/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() 105 err = mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in enable_mpesw() 119 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in enable_mpesw()
|
H A D | lag.c | 454 err = mlx5_esw_acl_ingress_vport_drop_rule_create(dev->priv.eswitch, in mlx5_lag_drop_rule_setup() 677 master_esw = dev0->priv.eswitch; in mlx5_lag_create_single_fdb() 679 struct mlx5_eswitch *slave_esw = ldev->pf[i].dev->priv.eswitch; in mlx5_lag_create_single_fdb() 690 ldev->pf[j].dev->priv.eswitch); in mlx5_lag_create_single_fdb() 812 master_esw = dev0->priv.eswitch; in mlx5_deactivate_lag() 820 ldev->pf[i].dev->priv.eswitch); in mlx5_deactivate_lag() 951 mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch); in mlx5_disable_lag() 969 mlx5_eswitch_get_npeers(dev->priv.eswitch) == in mlx5_lag_shared_fdb_supported() 977 mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) && in mlx5_lag_shared_fdb_supported() 978 mlx5_esw_offloads_devcom_is_ready(dev->priv.eswitch) && in mlx5_lag_shared_fdb_supported() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | qos.c | 559 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in esw_qos_vport_enable() 578 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_enable() 608 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_vport_disable() 631 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in mlx5_esw_qos_set_vport_max_rate() 646 esw_assert_qos_lock_held(vport->dev->priv.eswitch); in mlx5_esw_qos_set_vport_min_rate() 657 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_set_vport_rate() 670 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in mlx5_esw_qos_get_vport_rate() 686 struct mlx5_eswitch *esw = vport->dev->priv.eswitch; in esw_qos_vport_update_parent() 856 esw = vport->dev->priv.eswitch; in mlx5_esw_devlink_rate_leaf_tx_share_set() 877 esw = vport->dev->priv.eswitch; in mlx5_esw_devlink_rate_leaf_tx_max_set() [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() 145 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_esw_ipsec_restore_dest_uplink()
|
/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()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/sf/ |
H A D | devlink.c | 243 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/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/ |
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() 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 D | en_tc.c | 327 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() 2268 esw = priv->mdev->priv.eswitch; in mlx5e_get_flow_tunnel_id() 2351 esw = flow->priv->mdev->priv.eswitch; in mlx5e_put_flow_tunnel_id() 5029 esw = priv->mdev->priv.eswitch; in apply_police_params() 5403 esw = priv->mdev->priv.eswitch; in mlx5e_tc_esw_init() 5484 esw = priv->mdev->priv.eswitch; in mlx5e_tc_esw_cleanup() 5821 esw = priv->mdev->priv.eswitch; in mlx5e_get_priv_obj_mapping() [all …]
|
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 | en_rep.c | 203 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() 626 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_remove_sqs_fwd_rules() 636 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_add_meta_tunnel_rule() 1032 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_create_rep_vport_rx_rule() 1569 dl_port = mlx5_esw_offloads_devlink_port(dev->priv.eswitch, in mlx5e_vport_vf_rep_load() 1756 esw = mdev->priv.eswitch; in mlx5e_rep_probe() 1767 esw = mdev->priv.eswitch; in mlx5e_rep_remove()
|
/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/Documentation/netlink/specs/ |
H A D | devlink.yaml | 96 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/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() 219 struct mlx5_eswitch *esw = chain->chains->dev->priv.eswitch; in create_chain_restore()
|