/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
D | ingress_ofld.c | 43 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 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create() 98 if (IS_ERR(vport->ingress.offloads.modify_metadata_rule)) { in esw_acl_ingress_mod_metadata_create() 99 err = PTR_ERR(vport->ingress.offloads.modify_metadata_rule); in esw_acl_ingress_mod_metadata_create() 103 mlx5_modify_header_dealloc(esw->dev, vport->ingress.offloads.modify_metadata); in esw_acl_ingress_mod_metadata_create() [all …]
|
D | egress_ofld.c | 11 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() 33 vport->egress.offloads.fwd_rule = in esw_acl_egress_ofld_fwd2vport_create() 36 if (IS_ERR(vport->egress.offloads.fwd_rule)) { in esw_acl_egress_ofld_fwd2vport_create() 37 err = PTR_ERR(vport->egress.offloads.fwd_rule); in esw_acl_egress_ofld_fwd2vport_create() 41 vport->egress.offloads.fwd_rule = NULL; in esw_acl_egress_ofld_fwd2vport_create() 132 vport->egress.offloads.fwd_grp = fwd_grp; in esw_acl_egress_ofld_groups_create() 144 if (!IS_ERR_OR_NULL(vport->egress.offloads.fwd_grp)) { in esw_acl_egress_ofld_groups_destroy() 145 mlx5_destroy_flow_group(vport->egress.offloads.fwd_grp); in esw_acl_egress_ofld_groups_destroy() [all …]
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch_offloads.c | 120 hash_for_each_possible(esw->fdb_table.offloads.vports.table, e, hlist, key) in esw_vport_tbl_lookup() 134 mutex_lock(&esw->fdb_table.offloads.vports.lock); in esw_vport_tbl_put() 144 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in esw_vport_tbl_put() 157 mutex_lock(&esw->fdb_table.offloads.vports.lock); in esw_vport_tbl_get() 185 hash_add(esw->fdb_table.offloads.vports.table, &e->hlist, hkey); in esw_vport_tbl_get() 187 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in esw_vport_tbl_get() 193 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in esw_vport_tbl_get() 241 return &esw->offloads.vport_reps[idx]; in mlx5_eswitch_get_rep() 427 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_offloaded_rule() 501 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_fwd_rule() [all …]
|
D | eswitch_offloads_termtbl.c | 118 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 120 hash_for_each_possible(esw->offloads.termtbl_tbl, tt, in mlx5_eswitch_termtbl_get_create() 148 hash_add(esw->offloads.termtbl_tbl, &tt->termtbl_hlist, hash_key); in mlx5_eswitch_termtbl_get_create() 151 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 155 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 163 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put() 166 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put()
|
D | eswitch.h | 67 ((esw)->fdb_table.offloads.esw_chains_priv) 91 } offloads; member 107 } offloads; member 192 } offloads; member 272 struct mlx5_esw_offload offloads; member 590 (rep) = &(esw)->offloads.vport_reps[i], \ 595 (rep) = &(esw)->offloads.vport_reps[i], \ 600 (rep) = &(esw)->offloads.vport_reps[i], \ 612 (rep) = &(esw)->offloads.vport_reps[i], \ 617 (rep) = &(esw)->offloads.vport_reps[i], \
|
D | en_tc.c | 445 &esw->offloads.mod_hdr : in get_mod_hdr_table() 1725 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value() 1742 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value() 1800 if (!refcount_dec_and_mutex_lock(&e->refcnt, &esw->offloads.encap_tbl_lock)) in mlx5e_encap_put() 1803 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_encap_put() 1812 if (!refcount_dec_and_mutex_lock(&d->refcnt, &esw->offloads.decap_tbl_lock)) in mlx5e_decap_put() 1815 mutex_unlock(&esw->offloads.decap_tbl_lock); in mlx5e_decap_put() 1830 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() 1834 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() 1838 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() [all …]
|
D | Kconfig | 79 Switchdev mode (eswitch offloads). 86 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT), 93 If set to N, TC offloads in both NIC and switchdev modes will be disabled. 119 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" 123 MLX5 IPoIB offloads & acceleration support.
|
D | eswitch.c | 1773 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init() 1774 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init() 1775 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init() 1776 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init() 1777 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init() 1778 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init() 1779 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init() 1793 esw->offloads.inline_mode = MLX5_INLINE_MODE_NONE; in mlx5_eswitch_init() 1817 ida_destroy(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_cleanup() 1818 mlx5e_mod_hdr_tbl_destroy(&esw->offloads.mod_hdr); in mlx5_eswitch_cleanup() [all …]
|
/kernel/linux/linux-5.10/kernel/bpf/ |
D | offload.c | 113 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()
|
/kernel/linux/linux-5.10/Documentation/networking/ |
D | index.rst | 33 checksum-offloads 34 segmentation-offloads
|
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)
|
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
|
/kernel/linux/linux-5.10/net/ipv4/ |
D | fou.c | 234 const struct net_offload **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() 269 const struct net_offload **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 **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() 460 const struct net_offload **offloads; in gue_gro_complete() local [all …]
|
D | udp_offload.c | 153 const struct net_offload **offloads; in skb_udp_tunnel_segment() local 167 offloads = is_ipv6 ? inet6_offloads : inet_offloads; in skb_udp_tunnel_segment() 168 ops = rcu_dereference(offloads[skb->inner_ipproto]); in skb_udp_tunnel_segment()
|
/kernel/linux/linux-5.10/drivers/net/hyperv/ |
D | rndis_filter.c | 1252 struct ndis_offload_params offloads; in rndis_netdev_set_hwcaps() local 1262 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in rndis_netdev_set_hwcaps() 1265 offloads.ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED; in rndis_netdev_set_hwcaps() 1281 offloads.tcp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1284 offloads.lso_v2_ipv4 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1292 offloads.udp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1300 offloads.tcp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1305 offloads.lso_v2_ipv6 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1313 offloads.udp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1322 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps() [all …]
|
D | netvsc_drv.c | 1933 struct ndis_offload_params offloads; in netvsc_set_features() local 1942 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in netvsc_set_features() 1945 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features() 1946 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features() 1948 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features() 1949 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features() 1952 ret = rndis_filter_set_offload_params(ndev, nvdev, &offloads); in netvsc_set_features()
|
/kernel/linux/linux-5.10/Documentation/infiniband/ |
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.
|
/kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/mellanox/ |
D | mlx5.rst | 23 | Basic features, ethernet net device rx/tx offloads and XDP, are available with the most basic fla… 35 …ng this option will allow basic ethernet netdevice support with all of the standard rx/tx offloads. 69 | 2) `Switchdev mode (eswitch offloads) <https://www.mellanox.com/related-docs/prod_softw… 74 | IPoIB offloads & acceleration support. 286 tc and eswitch offloads tracepoints:
|
/kernel/linux/linux-5.10/drivers/net/ |
D | virtio_net.c | 178 __virtio64 offloads; member 2418 static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads) in virtnet_set_guest_offloads() argument 2421 vi->ctrl->offloads = cpu_to_virtio64(vi->vdev, offloads); in virtnet_set_guest_offloads() 2423 sg_init_one(&sg, &vi->ctrl->offloads, sizeof(vi->ctrl->offloads)); in virtnet_set_guest_offloads() 2436 u64 offloads = 0; in virtnet_clear_guest_offloads() local 2441 return virtnet_set_guest_offloads(vi, offloads); in virtnet_clear_guest_offloads() 2446 u64 offloads = vi->guest_offloads; in virtnet_restore_guest_offloads() local 2451 return virtnet_set_guest_offloads(vi, offloads); in virtnet_restore_guest_offloads() 2597 u64 offloads; in virtnet_set_features() local 2605 offloads = vi->guest_offloads_capable; in virtnet_set_features() [all …]
|
/kernel/linux/linux-5.10/drivers/vdpa/ |
D | Kconfig | 50 offloads depending on the actual device used and firmware version.
|
/kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/freescale/ |
D | gianfar.rst | 16 in hardware. The Linux kernel only offloads the TCP and UDP
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
D | devlink_port.c | 43 controller_num = dev->priv.eswitch->offloads.host_number + 1; in mlx5_esw_dl_port_alloc()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
D | tc.c | 97 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows() 124 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows()
|
/kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/neterion/ |
D | s2io.rst | 22 such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on.
|
/kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/freescale/dpaa2/ |
D | ethernet-driver.rst | 170 The checksum offloads can be independently configured on RX and TX through
|