Home
last modified time | relevance | path

Searched refs:offloads (Results 1 – 25 of 49) sorted by relevance

12

/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
Dingress_ofld.c43 if (vport->ingress.offloads.modify_metadata_rule) { in esw_acl_ingress_prio_tag_create()
45 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_prio_tag_create()
82 vport->ingress.offloads.modify_metadata = in esw_acl_ingress_mod_metadata_create()
85 if (IS_ERR(vport->ingress.offloads.modify_metadata)) { in esw_acl_ingress_mod_metadata_create()
86 err = PTR_ERR(vport->ingress.offloads.modify_metadata); in esw_acl_ingress_mod_metadata_create()
94 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_mod_metadata_create()
95 flow_act.fg = vport->ingress.offloads.metadata_allmatch_grp; in esw_acl_ingress_mod_metadata_create()
96 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create()
99 if (IS_ERR(vport->ingress.offloads.modify_metadata_rule)) { in esw_acl_ingress_mod_metadata_create()
100 err = PTR_ERR(vport->ingress.offloads.modify_metadata_rule); in esw_acl_ingress_mod_metadata_create()
[all …]
Degress_ofld.c11 if (!vport->egress.offloads.fwd_rule) in esw_acl_egress_ofld_fwd2vport_destroy()
14 mlx5_del_flow_rules(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()
23 mlx5_del_flow_rules(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()
[all …]
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/
Deswitch_offloads.c55 xa_for_each(&((esw)->offloads.vport_reps), i, rep)
58 xa_for_each_marked(&((esw)->offloads.vport_reps), i, rep, MLX5_ESW_VPT_SF)
61 mlx5_esw_for_each_entry_marked(&((esw)->offloads.vport_reps), index, \
84 return xa_load(&esw->offloads.vport_reps, vport_num); in mlx5_eswitch_get_rep()
251 dest[i].ft = esw->fdb_table.offloads.slow_fdb; in esw_setup_slow_path_dest()
648 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_offloaded_rule()
734 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_fwd_rule()
770 atomic64_dec(&esw->offloads.num_flows); in __mlx5_eswitch_del_rule()
883 struct offloads_fdb *offloads = &esw->fdb_table.offloads; in mlx5_eswitch_add_vlan_action() local
921 if (!(offloads->vlan_push_pop_refcount)) { in mlx5_eswitch_add_vlan_action()
[all …]
Deswitch_offloads_termtbl.c122 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()
DKconfig74 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.
Deswitch.c1606 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init()
1607 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init()
1608 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init()
1609 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init()
1610 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init()
1611 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init()
1612 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init()
1613 xa_init_flags(&esw->offloads.vhca_map, XA_FLAGS_ALLOC); in mlx5_eswitch_init()
1620 esw->offloads.inline_mode = MLX5_INLINE_MODE_NONE; in mlx5_eswitch_init()
1623 esw->offloads.encap = DEVLINK_ESWITCH_ENCAP_MODE_BASIC; in mlx5_eswitch_init()
[all …]
Deswitch.h85 ((esw)->fdb_table.offloads.esw_chains_priv)
121 } offloads; member
139 } offloads; member
234 } offloads; member
333 struct mlx5_esw_offload offloads; member
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/esw/
Dvporttbl.c65 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()
Dindir_table.c432 hash_add(esw->fdb_table.offloads.indir->table, &e->hlist, in mlx5_esw_indir_table_entry_create()
455 hash_for_each_possible(esw->fdb_table.offloads.indir->table, e, hlist, key) in mlx5_esw_indir_table_entry_lookup()
470 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
488 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
492 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
502 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put()
522 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put()
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/
Dtc_tun_encap.c411 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value()
428 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value()
486 if (!refcount_dec_and_mutex_lock(&e->refcnt, &esw->offloads.encap_tbl_lock)) in mlx5e_encap_put()
490 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_encap_put()
499 if (!refcount_dec_and_mutex_lock(&d->refcnt, &esw->offloads.decap_tbl_lock)) in mlx5e_decap_put()
502 mutex_unlock(&esw->offloads.decap_tbl_lock); in mlx5e_decap_put()
530 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap()
534 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap()
539 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap()
553 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_detach_decap()
[all …]
/linux-6.1.9/kernel/bpf/
Doffload.c113 list_add_tail(&offload->offloads, &ondev->progs); in bpf_prog_offload_init()
219 list_del_init(&offload->offloads); in __bpf_prog_offload_destroy()
395 list_add_tail(&offmap->offloads, &ondev->maps); in bpf_map_offload_map_alloc()
413 list_del_init(&offmap->offloads); in __bpf_map_offload_destroy()
647 list_for_each_entry(offload, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister()
651 list_for_each_entry(offmap, &ondev->maps, offloads) in bpf_offload_dev_netdev_unregister()
655 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister()
657 list_for_each_entry_safe(offmap, mtmp, &ondev->maps, offloads) in bpf_offload_dev_netdev_unregister()
/linux-6.1.9/net/ipv4/
Dfou.c233 const struct net_offload __rcu **offloads; in fou_gro_receive() local
249 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_receive()
250 ops = rcu_dereference(offloads[proto]); in fou_gro_receive()
263 const struct net_offload __rcu **offloads; in fou_gro_complete() local
268 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_complete()
269 ops = rcu_dereference(offloads[proto]); in fou_gro_complete()
308 const struct net_offload __rcu **offloads; in gue_gro_receive() local
432 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in gue_gro_receive()
433 ops = rcu_dereference(offloads[proto]); in gue_gro_receive()
449 const struct net_offload __rcu **offloads; in gue_gro_complete() local
[all …]
Dudp_offload.c156 const struct net_offload __rcu **offloads; in skb_udp_tunnel_segment() local
171 offloads = is_ipv6 ? inet6_offloads : inet_offloads; in skb_udp_tunnel_segment()
172 ops = rcu_dereference(offloads[skb->inner_ipproto]); in skb_udp_tunnel_segment()
/linux-6.1.9/Documentation/networking/
Dindex.rst34 checksum-offloads
35 segmentation-offloads
Dvxlan.rst63 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)
Dsegmentation-offloads.rst68 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.1.9/drivers/net/hyperv/
Drndis_filter.c1353 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()
1393 offloads.udp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps()
1401 offloads.tcp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps()
1406 offloads.lso_v2_ipv6 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps()
1414 offloads.udp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps()
1423 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps()
[all …]
/linux-6.1.9/drivers/net/ethernet/intel/ice/
Dice_virtchnl.c2531 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps()
2537 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps()
2543 caps->offloads.ethertype_init = VIRTCHNL_VLAN_ETHERTYPE_8100; in ice_vc_set_dvm_caps()
2544 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps()
2557 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps()
2568 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps()
2579 caps->offloads.ethertype_init = VIRTCHNL_VLAN_ETHERTYPE_8100; in ice_vc_set_dvm_caps()
2581 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps()
2609 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_svm_caps()
2613 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_svm_caps()
[all …]
/linux-6.1.9/Documentation/infiniband/
Dipoib.rst57 Stateless offloads
60 If the IB HW supports IPoIB stateless offloads, IPoIB advertises
68 Stateless offloads are supported only in datagram mode.
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
Dint_port.c93 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()
Dsample.c525 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.1.9/Documentation/networking/device_drivers/ethernet/freescale/
Dgianfar.rst16 in hardware. The Linux kernel only offloads the TCP and UDP
/linux-6.1.9/drivers/net/
Dvirtio_net.c201 __virtio64 offloads; member
3040 static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads) in virtnet_set_guest_offloads() argument
3043 vi->ctrl->offloads = cpu_to_virtio64(vi->vdev, offloads); in virtnet_set_guest_offloads()
3045 sg_init_one(&sg, &vi->ctrl->offloads, sizeof(vi->ctrl->offloads)); in virtnet_set_guest_offloads()
3058 u64 offloads = 0; in virtnet_clear_guest_offloads() local
3063 return virtnet_set_guest_offloads(vi, offloads); in virtnet_clear_guest_offloads()
3068 u64 offloads = vi->guest_offloads; in virtnet_restore_guest_offloads() local
3073 return virtnet_set_guest_offloads(vi, offloads); in virtnet_restore_guest_offloads()
3219 u64 offloads; in virtnet_set_features() local
3227 offloads = vi->guest_offloads_capable; in virtnet_set_features()
[all …]
/linux-6.1.9/Documentation/networking/device_drivers/ethernet/mellanox/
Dmlx5.rst26 | Basic features, ethernet net device rx/tx offloads and XDP, are available with the most basic fla…
38 …ng this option will allow basic ethernet netdevice support with all of the standard rx/tx offloads.
72 | 2) `Switchdev mode (eswitch offloads) <https://www.mellanox.com/related-docs/prod_softw…
77 | IPoIB offloads & acceleration support.
269 offloads. The user configures eswitch to send/receive packets from/to
569 tc and eswitch offloads tracepoints:
606 Bridge offloads tracepoints:
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
Dtc.c102 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows()
128 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows()
864 err = mapping_find(esw->offloads.reg_c0_obj_pool, reg_c0, &mapped_obj); in mlx5e_rep_tc_receive()

12