| /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 | 82 return xa_load(&esw->offloads.vport_reps, vport_num); in mlx5_eswitch_get_rep() 437 if (esw->offloads.ft_ipsec_tx_pol && in esw_setup_uplink_fwd_ipsec_needed() 454 if (!esw->offloads.ft_ipsec_tx_pol) in esw_flow_dests_fwd_ipsec_check() 499 dest[dest_idx].ft = esw->offloads.ft_ipsec_tx_pol; in esw_setup_dest_fwd_ipsec() 781 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_offloaded_rule() 867 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_fwd_rule() 902 atomic64_dec(&esw->offloads.num_flows); in __mlx5_eswitch_del_rule() 1004 on_esw == from_esw && on_esw->offloads.ft_ipsec_tx_pol) { in mlx5_eswitch_add_send_to_vport_rule() 1005 dest.ft = on_esw->offloads.ft_ipsec_tx_pol; in mlx5_eswitch_add_send_to_vport_rule() 1279 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 | Kconfig | 75 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 D | eswitch.h | 97 ((esw)->fdb_table.offloads.esw_chains_priv) 133 } offloads; member 157 } offloads; member 304 } offloads; member 427 struct mlx5_esw_offload offloads; member 808 xa_for_each(&((esw)->offloads.vport_reps), i, rep) 986 return esw->fdb_table.offloads.slow_fdb; in mlx5_eswitch_get_slow_fdb()
|
| H A D | eswitch.c | 2555 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init() 2556 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init() 2557 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init() 2558 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init() 2559 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init() 2560 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init() 2561 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init() 2562 xa_init_flags(&esw->offloads.vhca_map, XA_FLAGS_ALLOC); in mlx5_eswitch_init() 2571 esw->offloads.inline_mode = MLX5_INLINE_MODE_NONE; in mlx5_eswitch_init() 2574 esw->offloads.encap = DEVLINK_ESWITCH_ENCAP_MODE_BASIC; in mlx5_eswitch_init() [all …]
|
| /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)
|
| /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:
|