Home
last modified time | relevance | path

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

123

/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
H A Dingress_ofld.c46 if (vport->ingress.offloads.modify_metadata_rule) { in esw_acl_ingress_prio_tag_create()
85 vport->ingress.offloads.modify_metadata = in esw_acl_ingress_mod_metadata_create()
99 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create()
140 flow_act.fg = vport->ingress.offloads.drop_grp; in esw_acl_ingress_src_port_drop_create()
147 vport->ingress.offloads.drop_rule = flow_rule; in esw_acl_ingress_src_port_drop_create()
160 if (!vport->ingress.offloads.drop_rule) in esw_acl_ingress_src_port_drop_destroy()
164 vport->ingress.offloads.drop_rule = NULL; in esw_acl_ingress_src_port_drop_destroy()
235 vport->ingress.offloads.drop_grp = g; in esw_acl_ingress_ofld_groups_create()
293 vport->ingress.offloads.drop_grp = NULL; in esw_acl_ingress_ofld_groups_create()
312 if (vport->ingress.offloads.drop_grp) { in esw_acl_ingress_ofld_groups_destroy()
[all …]
H A 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()
37 xa_erase(&vport->egress.offloads.bounce_rules, i); in esw_acl_egress_ofld_bounce_rules_destroy()
56 vport->egress.offloads.fwd_rule = in esw_acl_egress_ofld_fwd2vport_create()
59 if (IS_ERR(vport->egress.offloads.fwd_rule)) { in esw_acl_egress_ofld_fwd2vport_create()
60 err = PTR_ERR(vport->egress.offloads.fwd_rule); in esw_acl_egress_ofld_fwd2vport_create()
64 vport->egress.offloads.fwd_rule = NULL; in esw_acl_egress_ofld_fwd2vport_create()
156 vport->egress.offloads.fwd_grp = fwd_grp; in esw_acl_egress_ofld_groups_create()
170 vport->egress.offloads.fwd_grp = NULL; in esw_acl_egress_ofld_groups_destroy()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Deswitch_offloads.c2016 struct mlx5_esw_offload *offloads = &esw->offloads; in esw_destroy_offloads_table() local
2227 struct mlx5_esw_offload *offloads = &esw->offloads; in esw_destroy_restore_table() local
2311 esw->offloads.restore_group = g; in esw_create_restore_table()
3696 esw->offloads.num_block_mode++; in mlx5_eswitch_block_mode()
3709 esw->offloads.num_block_mode--; in mlx5_eswitch_unblock_mode()
3925 esw->offloads.num_block_encap++; in mlx5_eswitch_block_encap()
3938 esw->offloads.num_block_encap--; in mlx5_eswitch_unblock_encap()
3969 esw->offloads.encap = encap; in mlx5_devlink_eswitch_encap_mode_set()
3995 esw->offloads.encap = encap; in mlx5_devlink_eswitch_encap_mode_set()
4002 esw->offloads.encap = !encap; in mlx5_devlink_eswitch_encap_mode_set()
[all …]
H A 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()
H A DKconfig75 Switchdev mode (eswitch offloads).
82 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).
92 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
99 If set to N, TC offloads in both NIC and switchdev modes will be disabled.
138 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
141 MLX5 IPoIB offloads & acceleration support.
H A Deswitch.c1877 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init()
1878 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init()
1879 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init()
1880 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init()
1881 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init()
1882 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init()
1883 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init()
1930 WARN_ON(!xa_empty(&esw->offloads.vhca_map)); in mlx5_eswitch_cleanup()
1931 xa_destroy(&esw->offloads.vhca_map); in mlx5_eswitch_cleanup()
1934 mutex_destroy(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_cleanup()
[all …]
H A Deswitch.h87 ((esw)->fdb_table.offloads.esw_chains_priv)
123 } offloads; member
147 } offloads; member
268 } offloads; member
374 struct mlx5_esw_offload offloads; member
872 return esw->fdb_table.offloads.slow_fdb; in mlx5_eswitch_get_slow_fdb()
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dvporttbl.c27 if (esw->offloads.encap != DEVLINK_ESWITCH_ENCAP_MODE_NONE) in esw_vport_tbl_init()
73 hash_for_each_possible(esw->fdb_table.offloads.vports.table, e, hlist, key) in esw_vport_tbl_lookup()
90 mutex_lock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get()
119 hash_add(esw->fdb_table.offloads.vports.table, &e->hlist, hkey); in mlx5_esw_vporttbl_get()
121 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get()
127 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get()
138 mutex_lock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_put()
149 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_put()
H A Dindir_table.c293 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/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_encap.c412 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value()
491 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_encap_put()
544 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap()
567 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_detach_decap()
960 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_attach_decap()
997 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_attach_decap()
1039 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_tun_encap_dests_set()
1298 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_decap_route()
1409 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_decap_route()
1434 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap_route()
[all …]
/linux/drivers/net/ethernet/marvell/octeon_ep/
H A Doctep_ctrl_net.h134 struct octep_ctrl_net_offloads offloads; member
146 struct octep_ctrl_net_h2f_req_cmd_offloads offloads; member
204 struct octep_ctrl_net_offloads offloads; member
418 struct octep_ctrl_net_offloads *offloads,
H A Doctep_ctrl_net.c419 struct octep_ctrl_net_offloads *offloads, in octep_ctrl_net_set_offloads() argument
428 req->offloads.cmd = OCTEP_CTRL_NET_CMD_SET; in octep_ctrl_net_set_offloads()
429 req->offloads.offloads = *offloads; in octep_ctrl_net_set_offloads()
H A Doctep_main.c1107 struct octep_ctrl_net_offloads offloads = { 0 }; in octep_set_features() local
1116 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_TSO; in octep_set_features()
1119 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_TSO; in octep_set_features()
1122 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_CKSUM; in octep_set_features()
1125 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_CKSUM; in octep_set_features()
1128 offloads.rx_offloads |= OCTEP_RX_OFFLOAD_CKSUM; in octep_set_features()
1132 &offloads, in octep_set_features()
/linux/kernel/bpf/
H A Doffload.c115 list_del_init(&offload->offloads); in __bpf_prog_offload_destroy()
141 list_del_init(&offmap->offloads); in __bpf_map_offload_destroy()
169 list_for_each_entry(offload, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister()
173 list_for_each_entry(offmap, &ondev->maps, offloads) in __bpf_offload_dev_netdev_unregister()
177 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister()
179 list_for_each_entry_safe(offmap, mtmp, &ondev->maps, offloads) in __bpf_offload_dev_netdev_unregister()
220 list_add_tail(&offload->offloads, &ondev->progs); in __bpf_prog_dev_bound_init()
389 list_del_init(&prog->aux->offload->offloads); in bpf_prog_dev_bound_destroy()
549 list_add_tail(&offmap->offloads, &ondev->maps); in bpf_map_offload_map_alloc()
/linux/net/ipv4/
H A Dfou_core.c235 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/drivers/net/hyperv/
H A 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()
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/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/
H A Dkconfig.rst12 | 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) :ref:`Switchdev mode (eswitch offloads) <switchdev>`.
156 | offloads depending on the actual device used and firmware version.
/linux/Documentation/networking/
H A Dindex.rst35 checksum-offloads
36 segmentation-offloads
H A 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)
H A Dxsk-tx-metadata.rst7 This document describes how to enable offloads when transmitting packets
54 Besides the flags above, in order to trigger the offloads, the first
71 Every devices exports its offloads capabilities via netlink netdev family.
H A 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/drivers/net/ethernet/intel/ice/
H A Dice_virtchnl.c2827 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps()
2833 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps()
2840 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps()
2853 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps()
2864 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps()
2877 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps()
2905 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_svm_caps()
2909 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_svm_caps()
2922 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_svm_caps()
2928 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_svm_caps()
[all …]
/linux/Documentation/infiniband/
H A 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/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
H A 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()
H A 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()

123