Home
last modified time | relevance | path

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

12

/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
A Dingress_ofld.c43 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()
85 if (IS_ERR(vport->ingress.offloads.modify_metadata)) { in esw_acl_ingress_mod_metadata_create()
95 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create()
104 vport->ingress.offloads.modify_metadata_rule = NULL; in esw_acl_ingress_mod_metadata_create()
112 if (!vport->ingress.offloads.modify_metadata_rule) in esw_acl_ingress_mod_metadata_destroy()
117 vport->ingress.offloads.modify_metadata_rule = NULL; in esw_acl_ingress_mod_metadata_destroy()
192 vport->ingress.offloads.metadata_prio_tag_grp = g; in esw_acl_ingress_ofld_groups_create()
212 vport->ingress.offloads.metadata_allmatch_grp = g; in esw_acl_ingress_ofld_groups_create()
230 if (vport->ingress.offloads.metadata_allmatch_grp) { in esw_acl_ingress_ofld_groups_destroy()
[all …]
A Degress_ofld.c11 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/drivers/net/ethernet/mellanox/mlx5/core/
A Deswitch_offloads.c843 struct offloads_fdb *offloads = &esw->fdb_table.offloads; in mlx5_eswitch_add_vlan_action() local
912 struct offloads_fdb *offloads = &esw->fdb_table.offloads; in mlx5_eswitch_del_vlan_action() local
1930 struct mlx5_esw_offload *offloads = &esw->offloads; in esw_destroy_offloads_table() local
1962 esw->offloads.vport_rx_group = g; in esw_create_vport_rx_group()
2061 struct mlx5_esw_offload *offloads = &esw->offloads; in esw_destroy_restore_table() local
2145 esw->offloads.restore_group = g; in esw_create_restore_table()
3475 esw->offloads.inline_mode); in mlx5_esw_vports_inline_set()
3587 esw->offloads.encap = encap; in mlx5_devlink_eswitch_encap_mode_set()
3603 esw->offloads.encap = encap; in mlx5_devlink_eswitch_encap_mode_set()
3610 esw->offloads.encap = !encap; in mlx5_devlink_eswitch_encap_mode_set()
[all …]
A Deswitch_offloads_termtbl.c120 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create()
122 hash_for_each_possible(esw->offloads.termtbl_tbl, tt, in mlx5_eswitch_termtbl_get_create()
149 hash_add(esw->offloads.termtbl_tbl, &tt->termtbl_hlist, hash_key); in mlx5_eswitch_termtbl_get_create()
152 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create()
156 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create()
164 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put()
167 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put()
A Deswitch.c1567 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init()
1568 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init()
1569 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init()
1570 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init()
1571 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init()
1572 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init()
1573 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init()
1619 WARN_ON(!xa_empty(&esw->offloads.vhca_map)); in mlx5_eswitch_cleanup()
1620 xa_destroy(&esw->offloads.vhca_map); in mlx5_eswitch_cleanup()
1623 mutex_destroy(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_cleanup()
[all …]
A DKconfig78 Switchdev mode (eswitch offloads).
85 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).
95 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
102 If set to N, TC offloads in both NIC and switchdev modes will be disabled.
140 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
143 MLX5 IPoIB offloads & acceleration support.
A Deswitch.h85 ((esw)->fdb_table.offloads.esw_chains_priv)
118 } offloads; member
136 } offloads; member
230 } offloads; member
318 struct mlx5_esw_offload offloads; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
A Dtc_tun_encap.c390 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value()
504 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap()
527 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_detach_decap()
773 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_encap()
828 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_encap()
903 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_attach_decap()
940 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_attach_decap()
1156 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_attach_decap_route()
1267 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_decap_route()
1292 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap_route()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
A 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()
A Dindir_table.c427 hash_add(esw->fdb_table.offloads.indir->table, &e->hlist, in mlx5_esw_indir_table_entry_create()
450 hash_for_each_possible(esw->fdb_table.offloads.indir->table, e, hlist, key) in mlx5_esw_indir_table_entry_lookup()
465 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
483 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
487 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
497 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put()
517 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put()
/linux/kernel/bpf/
A Doffload.c113 list_add_tail(&offload->offloads, &ondev->progs); in bpf_prog_offload_init()
222 list_del_init(&offload->offloads); in __bpf_prog_offload_destroy()
398 list_add_tail(&offmap->offloads, &ondev->maps); in bpf_map_offload_map_alloc()
416 list_del_init(&offmap->offloads); in __bpf_map_offload_destroy()
650 list_for_each_entry(offload, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister()
654 list_for_each_entry(offmap, &ondev->maps, offloads) in bpf_offload_dev_netdev_unregister()
658 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister()
660 list_for_each_entry_safe(offmap, mtmp, &ondev->maps, offloads) in bpf_offload_dev_netdev_unregister()
/linux/net/ipv4/
A Dfou.c233 const struct net_offload __rcu **offloads; in fou_gro_receive() local
250 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_receive()
251 ops = rcu_dereference(offloads[proto]); in fou_gro_receive()
266 const struct net_offload __rcu **offloads; in fou_gro_complete() local
272 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_complete()
273 ops = rcu_dereference(offloads[proto]); in fou_gro_complete()
314 const struct net_offload __rcu **offloads; in gue_gro_receive() local
442 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in gue_gro_receive()
443 ops = rcu_dereference(offloads[proto]); in gue_gro_receive()
461 const struct net_offload __rcu **offloads; in gue_gro_complete() local
[all …]
A Dudp_offload.c155 const struct net_offload __rcu **offloads; in skb_udp_tunnel_segment() local
170 offloads = is_ipv6 ? inet6_offloads : inet_offloads; in skb_udp_tunnel_segment()
171 ops = rcu_dereference(offloads[skb->inner_ipproto]); in skb_udp_tunnel_segment()
/linux/drivers/net/hyperv/
A Drndis_filter.c1349 struct ndis_offload_params offloads; in rndis_netdev_set_hwcaps() local
1359 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in rndis_netdev_set_hwcaps()
1362 offloads.ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED; in rndis_netdev_set_hwcaps()
1378 offloads.tcp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps()
1381 offloads.lso_v2_ipv4 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps()
1402 offloads.lso_v2_ipv6 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps()
1419 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps()
1420 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps()
1422 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in rndis_netdev_set_hwcaps()
1423 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in rndis_netdev_set_hwcaps()
[all …]
A Dnetvsc_drv.c1947 struct ndis_offload_params offloads; in netvsc_set_features() local
1956 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in netvsc_set_features()
1959 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features()
1960 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features()
1962 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features()
1963 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features()
1966 ret = rndis_filter_set_offload_params(ndev, nvdev, &offloads); in netvsc_set_features()
/linux/Documentation/networking/
A Dindex.rst33 checksum-offloads
34 segmentation-offloads
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)
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/Documentation/infiniband/
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/
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()
A Dsample.c555 err = mapping_add(esw->offloads.reg_c0_obj_pool, &restore_obj, &obj_id); in mlx5e_tc_sample_offload()
606 mapping_remove(esw->offloads.reg_c0_obj_pool, obj_id); in mlx5e_tc_sample_offload()
639 mapping_remove(esw->offloads.reg_c0_obj_pool, attr->sample_attr->restore_obj_id); in mlx5e_tc_sample_unoffload()
/linux/drivers/net/
A Dvirtio_net.c180 __virtio64 offloads; member
2484 vi->ctrl->offloads = cpu_to_virtio64(vi->vdev, offloads); in virtnet_set_guest_offloads()
2486 sg_init_one(&sg, &vi->ctrl->offloads, sizeof(vi->ctrl->offloads)); in virtnet_set_guest_offloads()
2499 u64 offloads = 0; in virtnet_clear_guest_offloads() local
2504 return virtnet_set_guest_offloads(vi, offloads); in virtnet_clear_guest_offloads()
2509 u64 offloads = vi->guest_offloads; in virtnet_restore_guest_offloads() local
2514 return virtnet_set_guest_offloads(vi, offloads); in virtnet_restore_guest_offloads()
2660 u64 offloads; in virtnet_set_features() local
2668 offloads = vi->guest_offloads_capable; in virtnet_set_features()
2670 offloads = vi->guest_offloads_capable & in virtnet_set_features()
[all …]
/linux/Documentation/networking/device_drivers/ethernet/freescale/
A Dgianfar.rst16 in hardware. The Linux kernel only offloads the TCP and UDP
/linux/Documentation/networking/device_drivers/ethernet/mellanox/
A 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/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
A Dtc.c101 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()
746 err = mapping_find(esw->offloads.reg_c0_obj_pool, reg_c0, &mapped_obj); in mlx5e_rep_tc_receive()

Completed in 65 milliseconds

12