| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
| H A D | ingress_ofld.c | 46 if (vport->ingress.offloads.modify_metadata_rule) { in esw_acl_ingress_prio_tag_create() 48 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_prio_tag_create() 85 vport->ingress.offloads.modify_metadata = in esw_acl_ingress_mod_metadata_create() 88 if (IS_ERR(vport->ingress.offloads.modify_metadata)) { in esw_acl_ingress_mod_metadata_create() 89 err = PTR_ERR(vport->ingress.offloads.modify_metadata); in esw_acl_ingress_mod_metadata_create() 97 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_mod_metadata_create() 98 flow_act.fg = vport->ingress.offloads.metadata_allmatch_grp; in esw_acl_ingress_mod_metadata_create() 99 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create() 102 if (IS_ERR(vport->ingress.offloads.modify_metadata_rule)) { in esw_acl_ingress_mod_metadata_create() 103 err = PTR_ERR(vport->ingress.offloads.modify_metadata_rule); in esw_acl_ingress_mod_metadata_create() [all …]
|
| H A 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() 21 xa_load(&vport->egress.offloads.bounce_rules, rule_index); in esw_acl_egress_ofld_bounce_rule_destroy() 27 xa_erase(&vport->egress.offloads.bounce_rules, rule_index); in esw_acl_egress_ofld_bounce_rule_destroy() 35 xa_for_each(&vport->egress.offloads.bounce_rules, i, bounce_rule) { in esw_acl_egress_ofld_bounce_rules_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() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | eswitch_offloads.c | 80 return xa_load(&esw->offloads.vport_reps, vport_num); in mlx5_eswitch_get_rep() 435 if (esw->offloads.ft_ipsec_tx_pol && in esw_setup_uplink_fwd_ipsec_needed() 452 if (!esw->offloads.ft_ipsec_tx_pol) in esw_flow_dests_fwd_ipsec_check() 497 dest[dest_idx].ft = esw->offloads.ft_ipsec_tx_pol; in esw_setup_dest_fwd_ipsec() 779 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_offloaded_rule() 865 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_fwd_rule() 900 atomic64_dec(&esw->offloads.num_flows); in __mlx5_eswitch_del_rule() 1002 on_esw == from_esw && on_esw->offloads.ft_ipsec_tx_pol) { in mlx5_eswitch_add_send_to_vport_rule() 1003 dest.ft = on_esw->offloads.ft_ipsec_tx_pol; in mlx5_eswitch_add_send_to_vport_rule() 1263 flow = mlx5_add_flow_rules(esw->fdb_table.offloads.slow_fdb, in esw_add_fdb_peer_miss_rules() [all …]
|
| H 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()
|
| H A D | eswitch.c | 1638 * mlx5_eswitch_enable_locked() Enables eswitch in either legacy or offloads 2078 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init() 2079 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init() 2080 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init() 2081 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init() 2082 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init() 2083 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init() 2084 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init() 2085 xa_init_flags(&esw->offloads.vhca_map, XA_FLAGS_ALLOC); in mlx5_eswitch_init() 2091 esw->offloads in mlx5_eswitch_init() [all...] |
| H A D | eswitch.h | 87 ((esw)->fdb_table.offloads.esw_chains_priv) 123 } offloads; member 147 } offloads; member 292 } offloads; member 399 struct mlx5_esw_offload offloads; member 761 xa_for_each(&((esw)->offloads.vport_reps), i, rep) 926 return esw->fdb_table.offloads.slow_fdb; in mlx5_eswitch_get_slow_fdb()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| H A D | vporttbl.c | 27 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 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/drivers/net/ethernet/marvell/octeon_ep/ |
| H A D | octep_ctrl_net.h | 134 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 D | octep_ctrl_net.c | 419 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 D | octep_main.c | 1109 struct octep_ctrl_net_offloads offloads = { 0 }; in octep_set_features() local 1118 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_TSO; in octep_set_features() 1121 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_TSO; in octep_set_features() 1124 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_CKSUM; in octep_set_features() 1127 offloads.tx_offloads |= OCTEP_TX_OFFLOAD_CKSUM; in octep_set_features() 1130 offloads.rx_offloads |= OCTEP_RX_OFFLOAD_CKSUM; in octep_set_features() 1134 &offloads, in octep_set_features()
|
| H A D | octep_pfvf_mbox.c | 247 struct octep_ctrl_net_offloads offloads = { in octep_pfvf_set_offloads() local 253 err = octep_ctrl_net_set_offloads(oct, vf_id, &offloads, true); in octep_pfvf_set_offloads()
|
| /linux/drivers/net/ethernet/intel/ice/virt/ |
| H A D | virtchnl.c | 1526 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps() 1532 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps() 1538 caps->offloads.ethertype_init = VIRTCHNL_VLAN_ETHERTYPE_8100; in ice_vc_set_dvm_caps() 1539 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps() 1552 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_dvm_caps() 1563 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_dvm_caps() 1574 caps->offloads.ethertype_init = VIRTCHNL_VLAN_ETHERTYPE_8100; in ice_vc_set_dvm_caps() 1576 caps->offloads.ethertype_match = in ice_vc_set_dvm_caps() 1604 supported_caps = &caps->offloads.stripping_support; in ice_vc_set_svm_caps() 1608 supported_caps = &caps->offloads.insertion_support; in ice_vc_set_svm_caps() [all …]
|
| /linux/drivers/net/hyperv/ |
| H A D | rndis_filter.c | 1353 struct ndis_offload_params offloads; in rndis_netdev_set_hwcaps() local 1364 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in rndis_netdev_set_hwcaps() 1367 offloads.ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED; in rndis_netdev_set_hwcaps() 1383 offloads.tcp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1386 offloads.lso_v2_ipv4 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1394 offloads.udp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1402 offloads.tcp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1407 offloads.lso_v2_ipv6 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1415 offloads.udp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1424 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps() [all …]
|
| H A D | netvsc_drv.c | 1886 struct ndis_offload_params offloads; in netvsc_set_features() local 1895 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in netvsc_set_features() 1898 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features() 1899 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features() 1901 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features() 1902 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features() 1905 ret = rndis_filter_set_offload_params(ndev, nvdev, &offloads); in netvsc_set_features()
|
| /linux/Documentation/networking/ |
| H A D | index.rst | 35 checksum-offloads 36 segmentation-offloads
|
| H 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)
|
| H A D | xsk-tx-metadata.rst | 7 This document describes how to enable offloads when transmitting packets 58 Besides the flags above, in order to trigger the offloads, the first 132 Every devices exports its offloads capabilities via netlink netdev family.
|
| /linux/Documentation/translations/zh_CN/networking/ |
| H A D | index.rst | 58 * checksum-offloads 59 * segmentation-offloads
|
| /linux/Documentation/infiniband/ |
| H 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/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
| H 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()
|
| H 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/Documentation/networking/device_drivers/ethernet/freescale/ |
| H A D | gianfar.rst | 16 in hardware. The Linux kernel only offloads the TCP and UDP
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
| H 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() 723 mapping_ctx = esw->offloads.reg_c0_obj_pool; in mlx5e_rep_tc_receive()
|
| /linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/ |
| H A D | tracepoints.rst | 15 tc and eswitch offloads tracepoints: 52 Bridge offloads tracepoints:
|