/Linux-v5.15/drivers/net/can/dev/ |
D | rx-offload.c | 9 #include <linux/can/rx-offload.h> 24 can_rx_offload_le(struct can_rx_offload *offload, in can_rx_offload_le() argument 27 if (offload->inc) in can_rx_offload_le() 34 can_rx_offload_inc(struct can_rx_offload *offload, unsigned int *val) in can_rx_offload_inc() argument 36 if (offload->inc) in can_rx_offload_inc() 44 struct can_rx_offload *offload = container_of(napi, in can_rx_offload_napi_poll() local 47 struct net_device *dev = offload->dev; in can_rx_offload_napi_poll() 53 (skb = skb_dequeue(&offload->skb_queue))) { in can_rx_offload_napi_poll() 66 if (!skb_queue_empty(&offload->skb_queue)) in can_rx_offload_napi_poll() 67 napi_reschedule(&offload->napi); in can_rx_offload_napi_poll() [all …]
|
/Linux-v5.15/kernel/bpf/ |
D | offload.c | 29 /* Protects offdevs, members of bpf_offload_netdev and offload members 83 struct bpf_prog_offload *offload; in bpf_prog_offload_init() local 93 offload = kzalloc(sizeof(*offload), GFP_USER); in bpf_prog_offload_init() 94 if (!offload) in bpf_prog_offload_init() 97 offload->prog = prog; in bpf_prog_offload_init() 99 offload->netdev = dev_get_by_index(current->nsproxy->net_ns, in bpf_prog_offload_init() 101 err = bpf_dev_offload_check(offload->netdev); in bpf_prog_offload_init() 106 ondev = bpf_offload_find_netdev(offload->netdev); in bpf_prog_offload_init() 111 offload->offdev = ondev->offdev; in bpf_prog_offload_init() 112 prog->aux->offload = offload; in bpf_prog_offload_init() [all …]
|
/Linux-v5.15/include/linux/can/ |
D | rx-offload.h | 3 * linux/can/rx-offload.h 18 struct sk_buff *(*mailbox_read)(struct can_rx_offload *offload, 35 struct can_rx_offload *offload); 37 struct can_rx_offload *offload, 40 struct can_rx_offload *offload, 42 int can_rx_offload_irq_offload_timestamp(struct can_rx_offload *offload, 44 int can_rx_offload_irq_offload_fifo(struct can_rx_offload *offload); 45 int can_rx_offload_queue_sorted(struct can_rx_offload *offload, 47 unsigned int can_rx_offload_get_echo_skb(struct can_rx_offload *offload, 50 int can_rx_offload_queue_tail(struct can_rx_offload *offload, [all …]
|
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/ |
D | dc_helper.c | 40 struct dc_reg_helper_state *offload, in submit_dmub_read_modify_write() argument 43 struct dmub_rb_cmd_read_modify_write *cmd_buf = &offload->cmd_data.read_modify_write; in submit_dmub_read_modify_write() 46 offload->should_burst_write = in submit_dmub_read_modify_write() 47 (offload->same_addr_count == (DMUB_READ_MODIFY_WRITE_SEQ__MAX - 1)); in submit_dmub_read_modify_write() 49 sizeof(struct dmub_cmd_read_modify_write_sequence) * offload->reg_seq_count; in submit_dmub_read_modify_write() 54 dc_dmub_srv_cmd_queue(ctx->dmub_srv, &offload->cmd_data); in submit_dmub_read_modify_write() 60 offload->reg_seq_count = 0; in submit_dmub_read_modify_write() 61 offload->same_addr_count = 0; in submit_dmub_read_modify_write() 65 struct dc_reg_helper_state *offload, in submit_dmub_burst_write() argument 68 struct dmub_rb_cmd_burst_write *cmd_buf = &offload->cmd_data.burst_write; in submit_dmub_burst_write() [all …]
|
/Linux-v5.15/Documentation/networking/ |
D | segmentation-offloads.rst | 12 to take advantage of segmentation offload capabilities of various NICs. 15 * TCP Segmentation Offload - TSO 16 * UDP Fragmentation Offload - UFO 18 * Generic Segmentation Offload - GSO 19 * Generic Receive Offload - GRO 20 * Partial Generic Segmentation Offload - GSO_PARTIAL 24 TCP Segmentation Offload 34 offload. For this reason TSO is normally disabled if the Tx checksum 35 offload for a given device is disabled. 37 In order to support TCP segmentation offload it is necessary to populate [all …]
|
D | xfrm_device.rst | 16 Luckily, there are NICs that offer a hardware based IPsec offload which 19 hardware offload. 21 Userland access to the offload is typically through a system such as 30 offload dev eth4 dir in 51 The NIC driver offering ipsec offload will need to implement these 52 callbacks to make the offload available to the network stack's 54 NETIF_F_HW_ESP_TX_CSUM will signal the availability of the offload. 71 When new SAs are set up with a request for "offload" feature, the 77 - enable the HW offload of the SA 82 -EOPNETSUPP offload not supported, try SW IPsec [all …]
|
D | tls-offload.rst | 4 Kernel TLS offload 10 Linux kernel provides TLS connection offload infrastructure. Once a TCP 24 * Packet-based NIC offload mode (``TLS_HW``) - the NIC handles crypto 28 (``ethtool`` flags ``tls-hw-tx-offload`` and ``tls-hw-rx-offload``). 29 * Full TCP NIC offload mode (``TLS_HW_RECORD``) - mode of operation where 36 offload opt-in or opt-out on per-connection basis is not currently supported. 48 for crypto offload based on the socket the packet is attached to, 63 .. kernel-figure:: tls-offload-layers.svg 64 :alt: TLS offload layers 82 network device is offload-capable and attempts the offload. In case offload [all …]
|
D | checksum-offloads.rst | 12 take advantage of checksum offload capabilities of various NICs. 16 * TX Checksum Offload 17 * LCO: Local Checksum Offload 18 * RCO: Remote Checksum Offload 22 * RX Checksum Offload 26 TX Checksum Offload 61 A driver declares its offload capabilities in netdev->hw_features; see 71 The stack should, for the most part, assume that checksum offload is supported 74 function compares the offload features requested by the SKB (which may include 75 other offloads besides TX Checksum Offload) and, if they are not supported or [all …]
|
D | nf_flowtable.rst | 9 also provides hardware offload support. The flowtable supports for the layer 3 16 path, from the second packet on, you might decide to offload the flow to the 60 |-----| | 'flow offload' rule | 105 The 'flow offload' action from the forward chain 'y' adds an entry to the 111 You can identify offloaded flows through the [OFFLOAD] tag when listing your 117 …rt=52728 dport=5201 src=192.168.10.2 dst=192.168.10.1 sport=5201 dport=52728 [OFFLOAD] mark=0 use=2 183 Hardware offload 186 If your network device provides hardware offload support, you can turn it on by 187 means of the 'offload' flag in your flowtable definition, e.g. 194 flags offload; [all …]
|
/Linux-v5.15/net/netfilter/ |
D | nf_flow_table_offload.c | 722 const struct flow_offload_work *offload, in nf_flow_offload_rule_alloc() argument 725 const struct nf_flowtable *flowtable = offload->flowtable; in nf_flow_offload_rule_alloc() 727 const struct flow_offload *flow = offload->flow; in nf_flow_offload_rule_alloc() 791 static int nf_flow_offload_alloc(const struct flow_offload_work *offload, in nf_flow_offload_alloc() argument 794 struct net *net = read_pnet(&offload->flowtable->net); in nf_flow_offload_alloc() 796 flow_rule[0] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc() 801 flow_rule[1] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc() 860 static int flow_offload_tuple_add(struct flow_offload_work *offload, in flow_offload_tuple_add() argument 864 return nf_flow_offload_tuple(offload->flowtable, offload->flow, in flow_offload_tuple_add() 865 flow_rule, dir, offload->priority, in flow_offload_tuple_add() [all …]
|
/Linux-v5.15/drivers/net/ethernet/netronome/nfp/flower/ |
D | qos_conf.c | 91 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_install_rate_limiter() 100 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on shared bl… in nfp_flower_install_rate_limiter() 105 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on non-VF po… in nfp_flower_install_rate_limiter() 112 "unsupported offload: qos rate limit offload only support action number 1 or 2"); in nfp_flower_install_rate_limiter() 118 "unsupported offload: qos rate limit offload requires a single action"); in nfp_flower_install_rate_limiter() 124 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires highest priority"… in nfp_flower_install_rate_limiter() 132 "unsupported offload: qos rate limit offload requires police action"); in nfp_flower_install_rate_limiter() 138 "unsupported offload: qos rate limit offload only support one BPS action"); in nfp_flower_install_rate_limiter() 145 "unsupported offload: FW does not support PPS action"); in nfp_flower_install_rate_limiter() 150 "unsupported offload: qos rate limit offload only support one PPS action"); in nfp_flower_install_rate_limiter() [all …]
|
D | action.c | 42 /* BOS is optional in the TC action but required for offload. */ in nfp_fl_push_mpls() 46 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: BOS field must explicitly be set for MPLS push"); in nfp_fl_push_mpls() 147 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: maximum allowed action list size exceeded at LAG … in nfp_fl_pre_lag() 189 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: invalid egress interface for mirred action"); in nfp_fl_output() 198 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: egress interface does not match the required tunn… in nfp_fl_output() 203 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: cannot offload more than one tunnel mirred output… in nfp_fl_output() 224 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: pre-tunnel rules not supported in loaded firmware… in nfp_fl_output() 229 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: pre-tunnel rules require single egress dev and pt… in nfp_fl_output() 243 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: ingress and egress interfaces are on different de… in nfp_fl_output() 249 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: egress interface is not an nfp port"); in nfp_fl_output() [all …]
|
D | offload.c | 160 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: geneve options exceed maximum length"); in nfp_flower_calc_opt_layer() 197 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: encap options not supported on vxlan tunnels"); in nfp_flower_calc_udp_tun_layer() 203 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: loaded firmware does not support geneve offload"); in nfp_flower_calc_udp_tun_layer() 221 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: loaded firmware does not support geneve option of… in nfp_flower_calc_udp_tun_layer() 230 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: tunnel type unknown"); in nfp_flower_calc_udp_tun_layer() 254 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: match not supported"); in nfp_flower_calculate_key_layers() 264 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: tunnel match not supported"); in nfp_flower_calculate_key_layers() 285 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: loaded firmware does not support VLAN PCP offload… in nfp_flower_calculate_key_layers() 301 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: loaded firmware does not support VLAN QinQ offloa… in nfp_flower_calculate_key_layers() 325 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: wildcarded protocols on tunnels are not supported… in nfp_flower_calculate_key_layers() [all …]
|
/Linux-v5.15/include/linux/ |
D | netdev_features.h | 30 NETIF_F_GRO_BIT, /* Generic receive offload */ 31 NETIF_F_LRO_BIT, /* large receive offload */ 61 NETIF_F_SCTP_CRC_BIT, /* SCTP checksum offload */ 64 NETIF_F_RXHASH_BIT, /* Receive hashing offload */ 65 NETIF_F_RXCSUM_BIT, /* Receive checksumming offload */ 75 NETIF_F_HW_TC_BIT, /* Offload TC infrastructure */ 76 NETIF_F_HW_ESP_BIT, /* Hardware ESP transformation offload */ 77 NETIF_F_HW_ESP_TX_CSUM_BIT, /* ESP with TX checksum offload */ 78 NETIF_F_RX_UDP_TUNNEL_PORT_BIT, /* Offload of RX port for UDP tunnels */ 79 NETIF_F_HW_TLS_TX_BIT, /* Hardware TLS TX offload */ [all …]
|
/Linux-v5.15/drivers/net/dsa/sja1105/ |
D | sja1105_tas.c | 31 const struct tc_taprio_qopt_offload *offload; in sja1105_tas_set_runtime_params() local 33 offload = tas_data->offload[port]; in sja1105_tas_set_runtime_params() 34 if (!offload) in sja1105_tas_set_runtime_params() 39 if (max_cycle_time < offload->cycle_time) in sja1105_tas_set_runtime_params() 40 max_cycle_time = offload->cycle_time; in sja1105_tas_set_runtime_params() 41 if (latest_base_time < offload->base_time) in sja1105_tas_set_runtime_params() 42 latest_base_time = offload->base_time; in sja1105_tas_set_runtime_params() 43 if (earliest_base_time > offload->base_time) { in sja1105_tas_set_runtime_params() 44 earliest_base_time = offload->base_time; in sja1105_tas_set_runtime_params() 45 its_cycle_time = offload->cycle_time; in sja1105_tas_set_runtime_params() [all …]
|
/Linux-v5.15/tools/testing/selftests/bpf/ |
D | test_offload.py | 581 args = "hw-tc-offload %s" % ("on" if enable else "off") 692 start_test("Test multi-attachment XDP - %s + offload..." % 694 sim.set_xdp(obj, "offload") 705 "Offload program not reported after other activated") 710 "Offload ID changed after loading other program") 713 ret, _, err = sim.set_xdp(obj, "offload", fail=False, include_stderr=True) 723 sim.unset_xdp("offload") 731 "Offload program not reported after other activated") 734 fail(offloaded != "0", "Offload ID reported with only other program left") 737 sim.set_xdp(obj, "offload") [all …]
|
/Linux-v5.15/Documentation/crypto/ |
D | async-tx-api.rst | 34 the details of different hardware offload engine implementations. Code 36 the API will fit the chain of operations to the available offload 42 The API was initially designed to offload the memory copy and 43 xor-parity-calculations of the md-raid5 driver using the offload engines 50 the platform they are running on has offload capabilities. The 96 resources, under control of the offload engine driver, to be reused as 100 acknowledged by the application before the offload engine driver is allowed to 113 async_<operation> call. Offload engine drivers batch operations to 131 context if the offload engine driver supports interrupts, or it is 260 offload engine channel management routines [all …]
|
/Linux-v5.15/tools/testing/selftests/drivers/net/mlxsw/ |
D | vxlan.sh | 5 # as sanitization of invalid configurations and offload indication. 421 # we offload must share certain properties such as source IP and 480 log_test "vxlan flood entry offload indication" 497 log_test "vxlan entry offload indication - initial state" 508 log_test "vxlan entry offload indication - after removal from bridge" 522 log_test "vxlan entry offload indication - after re-add to bridge" 533 log_test "vxlan entry offload indication - after removal from vxlan" 547 log_test "vxlan entry offload indication - after re-add to vxlan" 734 log_test "offload indication - attach vxlan first" 740 log_test "offload indication - set vxlan down" [all …]
|
/Linux-v5.15/drivers/net/netdevsim/ |
D | bpf.c | 68 state = env->prog->aux->offload->dev_priv; in nsim_bpf_verify_insn() 96 if (!prog || !prog->aux->offload) in nsim_prog_set_loaded() 99 state = prog->aux->offload->dev_priv; in nsim_prog_set_loaded() 109 "bad offload state, expected offload %sto be active", in nsim_bpf_offload() 128 "only offload of BPF classifiers supported"); in nsim_bpf_setup_tc_block_cb() 143 "netdevsim configured to reject BPF TC offload"); in nsim_bpf_setup_tc_block_cb() 147 if (prog && !prog->aux->offload && !ns->bpf_tc_non_bound_accept) { in nsim_bpf_setup_tc_block_cb() 165 "driver and netdev offload states mismatch"); in nsim_bpf_setup_tc_block_cb() 203 NSIM_EA(bpf->extack, "XDP offload disabled in DebugFS"); in nsim_xdp_set_prog() 249 prog->aux->offload->dev_priv = state; in nsim_bpf_create_prog() [all …]
|
/Linux-v5.15/net/sched/ |
D | sch_taprio.c | 87 struct tc_taprio_qopt_offload offload; member 283 /* txtime-assist and full offload are mutually exclusive */ in taprio_flags_valid() 439 …WARN_ONCE(1, "Trying to enqueue skb into the root of a taprio qdisc configured with full offload\n… in taprio_enqueue() 451 * smaller chunks. Skip it for the full offload case, as the driver in taprio_enqueue() 534 WARN_ONCE(1, "Trying to peek into the root of a taprio qdisc configured with full offload\n"); in taprio_peek_offload() 643 WARN_ONCE(1, "Trying to dequeue from the root of a taprio qdisc configured with full offload\n"); in taprio_dequeue_offload() 1136 __offload = kzalloc(struct_size(__offload, offload.entries, num_entries), in taprio_offload_alloc() 1143 return &__offload->offload; in taprio_offload_alloc() 1147 *offload) in taprio_offload_get() 1151 __offload = container_of(offload, struct __tc_taprio_qopt_offload, in taprio_offload_get() [all …]
|
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
D | ipsec.c | 218 netdev_info(netdev, "Cannot offload authenticated xfrm states\n"); in mlx5e_xfrm_validate_state() 226 netdev_info(netdev, "Cannot offload compressed xfrm states\n"); in mlx5e_xfrm_validate_state() 232 netdev_info(netdev, "Cannot offload ESN xfrm states\n"); in mlx5e_xfrm_validate_state() 254 netdev_info(netdev, "Cannot offload xfrm states without aead\n"); in mlx5e_xfrm_validate_state() 258 netdev_info(netdev, "Cannot offload xfrm states with AEAD ICV length other than 128bit\n"); in mlx5e_xfrm_validate_state() 263 netdev_info(netdev, "Cannot offload xfrm states with AEAD key length other than 128/256 bit\n"); in mlx5e_xfrm_validate_state() 267 netdev_info(netdev, "Cannot offload xfrm states with tfc padding\n"); in mlx5e_xfrm_validate_state() 271 netdev_info(netdev, "Cannot offload xfrm states without geniv\n"); in mlx5e_xfrm_validate_state() 275 netdev_info(netdev, "Cannot offload xfrm states with geniv other than seqiv\n"); in mlx5e_xfrm_validate_state() 281 netdev_info(netdev, "IPv6 xfrm state offload is not supported by this device\n"); in mlx5e_xfrm_validate_state() [all …]
|
/Linux-v5.15/drivers/net/ethernet/chelsio/cxgb4/ |
D | cxgb4_tc_matchall.h | 15 enum cxgb4_matchall_state state; /* Current MATCHALL offload state */ 21 enum cxgb4_matchall_state state; /* Current MATCHALL offload state */ 32 struct cxgb4_matchall_egress_entry egress; /* Egress offload info */ 33 struct cxgb4_matchall_ingress_entry ingress; /* Ingress offload info */
|
/Linux-v5.15/Documentation/scsi/ |
D | bnx2fc.rst | 6 Broadcom FCoE offload through bnx2fc is full stateful hardware offload that 12 Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does 14 interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'. 18 Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to
|
/Linux-v5.15/drivers/net/ethernet/netronome/nfp/abm/ |
D | qdisc.c | 125 nfp_warn(alink->abm->app->cpp, "Offload of '%08x' stopped\n", in nfp_abm_qdisc_offload_stop() 207 /* If we are starting offload init prev_stats */ in nfp_abm_offload_compile_red() 259 /* Clear offload marks */ in nfp_abm_qdisc_offload_update() 268 /* Refresh offload status */ in nfp_abm_qdisc_offload_update() 493 /* If the qdisc offload has stopped we may need to adjust the backlog in nfp_abm_gred_stats() 524 nfp_warn(cpp, "GRED offload failed - GRIO and WRED not supported (p:%08x h:%08x)\n", in nfp_abm_gred_check_params() 529 nfp_warn(cpp, "GRED offload failed - default band must be %d (p:%08x h:%08x)\n", in nfp_abm_gred_check_params() 534 nfp_warn(cpp, "GRED offload failed - band count must be %d (p:%08x h:%08x)\n", in nfp_abm_gred_check_params() 545 …nfp_warn(cpp, "GRED offload failed - drop is not supported (ECN option required) (p:%08x h:%08x vq… in nfp_abm_gred_check_params() 550 nfp_warn(cpp, "GRED offload failed - ECN marking not supported (p:%08x h:%08x vq:%d)\n", in nfp_abm_gred_check_params() [all …]
|
/Linux-v5.15/drivers/net/ethernet/netronome/ |
D | Kconfig | 33 bool "NFP4000/NFP6000 TC Flower offload support" 39 Enable driver support for TC Flower offload on NFP4000 and NFP6000. 40 Say Y, if you are planning to make use of TC Flower offload 42 TC Flower offload requires specific FW to work.
|