Home
last modified time | relevance | path

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

12

/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()
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 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()
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 Deswitch_offloads.c82 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 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.h97 ((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 Deswitch.c2555 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 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/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.c1109 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 Doctep_pfvf_mbox.c247 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 Dvirtchnl.c1526 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 Drndis_filter.c1353 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 Dnetvsc_drv.c1886 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 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)
/linux/Documentation/translations/zh_CN/networking/
H A Dindex.rst58 * checksum-offloads
59 * segmentation-offloads
/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()
/linux/Documentation/networking/device_drivers/ethernet/freescale/
H A Dgianfar.rst16 in hardware. The Linux kernel only offloads the TCP and UDP
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H 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()
723 mapping_ctx = esw->offloads.reg_c0_obj_pool; in mlx5e_rep_tc_receive()
/linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/
H A Dtracepoints.rst15 tc and eswitch offloads tracepoints:
52 Bridge offloads tracepoints:

12