/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
A D | ingress_ofld.c | 43 if (vport->ingress.offloads.modify_metadata_rule) { in esw_acl_ingress_prio_tag_create() 82 vport->ingress.offloads.modify_metadata = in esw_acl_ingress_mod_metadata_create() 96 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create() 129 flow_act.fg = vport->ingress.offloads.drop_grp; in esw_acl_ingress_src_port_drop_create() 136 vport->ingress.offloads.drop_rule = flow_rule; in esw_acl_ingress_src_port_drop_create() 144 if (!vport->ingress.offloads.drop_rule) in esw_acl_ingress_src_port_drop_destroy() 148 vport->ingress.offloads.drop_rule = NULL; in esw_acl_ingress_src_port_drop_destroy() 219 vport->ingress.offloads.drop_grp = g; in esw_acl_ingress_ofld_groups_create() 277 vport->ingress.offloads.drop_grp = NULL; in esw_acl_ingress_ofld_groups_create() 296 if (vport->ingress.offloads.drop_grp) { in esw_acl_ingress_ofld_groups_destroy() [all …]
|
A D | egress_ofld.c | 11 if (!vport->egress.offloads.fwd_rule) in esw_acl_egress_ofld_fwd2vport_destroy() 15 vport->egress.offloads.fwd_rule = NULL; in esw_acl_egress_ofld_fwd2vport_destroy() 20 if (!vport->egress.offloads.bounce_rule) in esw_acl_egress_ofld_bounce_rule_destroy() 24 vport->egress.offloads.bounce_rule = NULL; in esw_acl_egress_ofld_bounce_rule_destroy() 42 vport->egress.offloads.fwd_rule = in esw_acl_egress_ofld_fwd2vport_create() 45 if (IS_ERR(vport->egress.offloads.fwd_rule)) { in esw_acl_egress_ofld_fwd2vport_create() 46 err = PTR_ERR(vport->egress.offloads.fwd_rule); in esw_acl_egress_ofld_fwd2vport_create() 50 vport->egress.offloads.fwd_rule = NULL; in esw_acl_egress_ofld_fwd2vport_create() 142 vport->egress.offloads.fwd_grp = fwd_grp; in esw_acl_egress_ofld_groups_create() 156 vport->egress.offloads.fwd_grp = NULL; in esw_acl_egress_ofld_groups_destroy() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/ |
A D | eswitch_offloads.c | 1833 struct mlx5_esw_offload *offloads = &esw->offloads; in esw_destroy_offloads_table() local 1865 esw->offloads.vport_rx_group = g; in esw_create_vport_rx_group() 2036 struct mlx5_esw_offload *offloads = &esw->offloads; in esw_destroy_restore_table() local 2120 esw->offloads.restore_group = g; in esw_create_restore_table() 2225 xa_init(&esw->offloads.vport_reps); in esw_offloads_init_reps() 3498 esw->offloads.inline_mode); in mlx5_esw_vports_inline_set() 3599 esw->offloads.encap = encap; in mlx5_devlink_eswitch_encap_mode_set() 3603 if (esw->offloads.encap == encap) in mlx5_devlink_eswitch_encap_mode_set() 3615 esw->offloads.encap = encap; in mlx5_devlink_eswitch_encap_mode_set() 3622 esw->offloads.encap = !encap; in mlx5_devlink_eswitch_encap_mode_set() [all …]
|
A D | eswitch_offloads_termtbl.c | 122 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 124 hash_for_each_possible(esw->offloads.termtbl_tbl, tt, in mlx5_eswitch_termtbl_get_create() 151 hash_add(esw->offloads.termtbl_tbl, &tt->termtbl_hlist, hash_key); in mlx5_eswitch_termtbl_get_create() 154 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 158 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 166 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put() 169 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put()
|
A D | Kconfig | 74 Switchdev mode (eswitch offloads). 81 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE). 91 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT), 98 If set to N, TC offloads in both NIC and switchdev modes will be disabled. 137 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" 140 MLX5 IPoIB offloads & acceleration support.
|
A D | eswitch.c | 1647 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init() 1648 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init() 1649 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init() 1650 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init() 1651 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init() 1652 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init() 1653 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init() 1703 WARN_ON(!xa_empty(&esw->offloads.vhca_map)); in mlx5_eswitch_cleanup() 1704 xa_destroy(&esw->offloads.vhca_map); in mlx5_eswitch_cleanup() 1707 mutex_destroy(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_cleanup() [all …]
|
A D | eswitch.h | 87 ((esw)->fdb_table.offloads.esw_chains_priv) 123 } offloads; member 141 } offloads; member 237 } offloads; member 336 struct mlx5_esw_offload offloads; member 762 return esw->fdb_table.offloads.slow_fdb; in mlx5_eswitch_get_slow_fdb()
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
A D | vporttbl.c | 65 hash_for_each_possible(esw->fdb_table.offloads.vports.table, e, hlist, key) in esw_vport_tbl_lookup() 82 mutex_lock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get() 110 hash_add(esw->fdb_table.offloads.vports.table, &e->hlist, hkey); in mlx5_esw_vporttbl_get() 112 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get() 118 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get() 129 mutex_lock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_put() 139 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_put()
|
A D | indir_table.c | 293 hash_add(esw->fdb_table.offloads.indir->table, &e->hlist, in mlx5_esw_indir_table_entry_create() 316 hash_for_each_possible(esw->fdb_table.offloads.indir->table, e, hlist, key) in mlx5_esw_indir_table_entry_lookup() 330 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get() 348 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get() 352 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get() 361 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put() 381 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put()
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/en/ |
A D | tc_tun_encap.c | 411 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value() 530 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() 553 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_detach_decap() 801 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_encap() 857 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_encap() 929 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_attach_decap() 966 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_attach_decap() 1182 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_decap_route() 1293 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_decap_route() 1318 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap_route() [all …]
|
/linux-6.3-rc2/kernel/bpf/ |
A D | offload.c | 114 list_del_init(&offload->offloads); in __bpf_prog_offload_destroy() 140 list_del_init(&offmap->offloads); in __bpf_map_offload_destroy() 168 list_for_each_entry(offload, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister() 172 list_for_each_entry(offmap, &ondev->maps, offloads) in __bpf_offload_dev_netdev_unregister() 176 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister() 178 list_for_each_entry_safe(offmap, mtmp, &ondev->maps, offloads) in __bpf_offload_dev_netdev_unregister() 217 list_add_tail(&offload->offloads, &ondev->progs); in __bpf_prog_dev_bound_init() 379 list_del_init(&prog->aux->offload->offloads); in bpf_prog_dev_bound_destroy() 539 list_add_tail(&offmap->offloads, &ondev->maps); in bpf_map_offload_map_alloc()
|
/linux-6.3-rc2/net/ipv4/ |
A D | fou_core.c | 235 const struct net_offload __rcu **offloads; in fou_gro_receive() local 251 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_receive() 252 ops = rcu_dereference(offloads[proto]); in fou_gro_receive() 265 const struct net_offload __rcu **offloads; in fou_gro_complete() local 270 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_complete() 271 ops = rcu_dereference(offloads[proto]); in fou_gro_complete() 310 const struct net_offload __rcu **offloads; in gue_gro_receive() local 434 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in gue_gro_receive() 435 ops = rcu_dereference(offloads[proto]); in gue_gro_receive() 451 const struct net_offload __rcu **offloads; in gue_gro_complete() local [all …]
|
/linux-6.3-rc2/Documentation/networking/ |
A D | index.rst | 34 checksum-offloads 35 segmentation-offloads
|
A D | vxlan.rst | 63 offloads (most commonly VXLAN features, but support for a particular 72 perform protocol-aware offloads, like checksum validation offload of 73 inner frames (only needed by NICs without protocol-agnostic offloads)
|
A D | segmentation-offloads.rst | 68 In addition to the offloads described above it is possible for a frame to 111 deal with cases where device drivers cannot perform the offloads described 141 offloads or tunnel offloads with checksum to still make use of segmentation. 158 This requires a different approach to other offloads, as SCTP packets
|
/linux-6.3-rc2/drivers/net/hyperv/ |
A D | rndis_filter.c | 1353 struct ndis_offload_params offloads; in rndis_netdev_set_hwcaps() local 1363 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in rndis_netdev_set_hwcaps() 1366 offloads.ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED; in rndis_netdev_set_hwcaps() 1382 offloads.tcp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1385 offloads.lso_v2_ipv4 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1406 offloads.lso_v2_ipv6 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1423 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps() 1424 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps() 1426 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in rndis_netdev_set_hwcaps() 1427 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in rndis_netdev_set_hwcaps() [all …]
|
/linux-6.3-rc2/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/ |
A D | kconfig.rst | 12 | Basic features, ethernet net device rx/tx offloads and XDP, are available with the most basic fla… 32 …ng this option will allow basic ethernet netdevice support with all of the standard rx/tx offloads. 44 | IPoIB offloads & acceleration support. 91 | 2) `Switchdev mode (eswitch offloads) <https://www.mellanox.com/related-docs/prod_softw… 156 | offloads depending on the actual device used and firmware version.
|
A D | tracepoints.rst | 15 tc and eswitch offloads tracepoints: 52 Bridge offloads tracepoints:
|
/linux-6.3-rc2/drivers/net/ethernet/intel/ice/ |
A D | ice_virtchnl.c | 2711 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps() 2717 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps() 2724 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps() 2737 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps() 2748 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps() 2761 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps() 2789 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_svm_caps() 2793 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_svm_caps() 2806 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_svm_caps() 2812 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_svm_caps() [all …]
|
/linux-6.3-rc2/Documentation/infiniband/ |
A D | ipoib.rst | 57 Stateless offloads 60 If the IB HW supports IPoIB stateless offloads, IPoIB advertises 68 Stateless offloads are supported only in datagram mode.
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
A D | int_port.c | 93 flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, spec, in mlx5e_int_port_create_rx_rule() 182 ctx = esw->offloads.reg_c0_obj_pool; in mlx5e_int_port_add() 233 ctx = esw->offloads.reg_c0_obj_pool; in mlx5e_int_port_remove()
|
A D | sample.c | 525 err = mapping_add(esw->offloads.reg_c0_obj_pool, &restore_obj, &obj_id); in mlx5e_tc_sample_offload() 577 mapping_remove(esw->offloads.reg_c0_obj_pool, obj_id); in mlx5e_tc_sample_offload() 607 mapping_remove(esw->offloads.reg_c0_obj_pool, attr->sample_attr.restore_obj_id); in mlx5e_tc_sample_unoffload()
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
A D | tc.c | 101 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows() 127 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows() 690 mapping_ctx = esw->offloads.reg_c0_obj_pool; in mlx5e_rep_tc_receive()
|
/linux-6.3-rc2/Documentation/networking/device_drivers/ethernet/freescale/ |
A D | gianfar.rst | 16 in hardware. The Linux kernel only offloads the TCP and UDP
|
/linux-6.3-rc2/drivers/net/ |
A D | virtio_net.c | 205 __virtio64 offloads; member 3171 vi->ctrl->offloads = cpu_to_virtio64(vi->vdev, offloads); in virtnet_set_guest_offloads() 3173 sg_init_one(&sg, &vi->ctrl->offloads, sizeof(vi->ctrl->offloads)); in virtnet_set_guest_offloads() 3186 u64 offloads = 0; in virtnet_clear_guest_offloads() local 3191 return virtnet_set_guest_offloads(vi, offloads); in virtnet_clear_guest_offloads() 3196 u64 offloads = vi->guest_offloads; in virtnet_restore_guest_offloads() local 3201 return virtnet_set_guest_offloads(vi, offloads); in virtnet_restore_guest_offloads() 3354 u64 offloads; in virtnet_set_features() local 3362 offloads = vi->guest_offloads_capable; in virtnet_set_features() 3364 offloads = vi->guest_offloads_capable & in virtnet_set_features() [all …]
|