| /kernel/linux/linux-6.6/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() 69 if (!skb_queue_empty(&offload->skb_queue)) in can_rx_offload_napi_poll() 70 napi_reschedule(&offload->napi); in can_rx_offload_napi_poll() [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/kernel/bpf/ |
| D | offload.c | 30 /* Protects offdevs, members of bpf_offload_netdev and offload members 95 netdev_warn(netdev, "failed to register for BPF offload\n"); in __bpf_offload_dev_netdev_register() 110 struct bpf_prog_offload *offload = prog->aux->offload; in __bpf_prog_offload_destroy() local 112 if (offload->dev_state) in __bpf_prog_offload_destroy() 113 offload->offdev->ops->destroy(prog); in __bpf_prog_offload_destroy() 115 list_del_init(&offload->offloads); in __bpf_prog_offload_destroy() 116 kfree(offload); in __bpf_prog_offload_destroy() 117 prog->aux->offload = NULL; in __bpf_prog_offload_destroy() 150 struct bpf_prog_offload *offload, *ptmp; in __bpf_offload_dev_netdev_unregister() local 169 list_for_each_entry(offload, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister() [all …]
|
| /kernel/linux/linux-6.6/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_timestamp(struct can_rx_offload *offload, 47 unsigned int can_rx_offload_get_echo_skb_queue_timestamp(struct can_rx_offload *offload, 50 int can_rx_offload_queue_tail(struct can_rx_offload *offload, [all …]
|
| /kernel/linux/linux-6.6/Documentation/networking/ |
| D | xfrm_device.rst | 18 Luckily, there are NICs that offer a hardware based IPsec offload which 21 hardware offload. 23 Right now, there are two types of hardware offload that kernel supports. 24 * IPsec crypto offload: 27 * IPsec packet offload: 34 Userland access to the offload is typically through a system such as 37 like this for crypto offload: 43 offload dev eth4 dir in 45 and for packet offload 51 offload packet dev eth4 dir in [all …]
|
| 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 | 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 …]
|
| /kernel/linux/linux-5.10/include/linux/can/ |
| D | rx-offload.h | 3 * linux/can/rx-offload.h 18 struct sk_buff *(*mailbox_read)(struct can_rx_offload *offload, 34 struct can_rx_offload *offload); 36 struct can_rx_offload *offload, 39 struct can_rx_offload *offload, 41 int can_rx_offload_irq_offload_timestamp(struct can_rx_offload *offload, 43 int can_rx_offload_irq_offload_fifo(struct can_rx_offload *offload); 44 int can_rx_offload_queue_sorted(struct can_rx_offload *offload, 46 unsigned int can_rx_offload_get_echo_skb(struct can_rx_offload *offload, 48 int can_rx_offload_queue_tail(struct can_rx_offload *offload, [all …]
|
| /kernel/linux/linux-6.6/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() 45 offload->should_burst_write = in submit_dmub_read_modify_write() 46 (offload->same_addr_count == (DMUB_READ_MODIFY_WRITE_SEQ__MAX - 1)); in submit_dmub_read_modify_write() 48 sizeof(struct dmub_cmd_read_modify_write_sequence) * offload->reg_seq_count; in submit_dmub_read_modify_write() 50 dm_execute_dmub_cmd(ctx, &offload->cmd_data, DM_DMUB_WAIT_TYPE_NO_WAIT); in submit_dmub_read_modify_write() 54 offload->reg_seq_count = 0; in submit_dmub_read_modify_write() 55 offload->same_addr_count = 0; in submit_dmub_read_modify_write() 59 struct dc_reg_helper_state *offload, in submit_dmub_burst_write() argument 62 struct dmub_rb_cmd_burst_write *cmd_buf = &offload->cmd_data.burst_write; in submit_dmub_burst_write() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/ |
| D | dc_helper.c | 39 struct dc_reg_helper_state *offload, in submit_dmub_read_modify_write() argument 42 struct dmub_rb_cmd_read_modify_write *cmd_buf = &offload->cmd_data.read_modify_write; in submit_dmub_read_modify_write() 45 offload->should_burst_write = in submit_dmub_read_modify_write() 46 (offload->same_addr_count == (DMUB_READ_MODIFY_WRITE_SEQ__MAX - 1)); in submit_dmub_read_modify_write() 48 sizeof(struct dmub_cmd_read_modify_write_sequence) * offload->reg_seq_count; in submit_dmub_read_modify_write() 53 dc_dmub_srv_cmd_queue(ctx->dmub_srv, &offload->cmd_data); in submit_dmub_read_modify_write() 59 offload->reg_seq_count = 0; in submit_dmub_read_modify_write() 60 offload->same_addr_count = 0; in submit_dmub_read_modify_write() 64 struct dc_reg_helper_state *offload, in submit_dmub_burst_write() argument 67 struct dmub_rb_cmd_burst_write *cmd_buf = &offload->cmd_data.burst_write; in submit_dmub_burst_write() [all …]
|
| /kernel/linux/linux-5.10/net/netfilter/ |
| D | nf_flow_table_offload.c | 577 const struct flow_offload_work *offload, in nf_flow_offload_rule_alloc() argument 580 const struct nf_flowtable *flowtable = offload->flowtable; in nf_flow_offload_rule_alloc() 581 const struct flow_offload *flow = offload->flow; in nf_flow_offload_rule_alloc() 643 static int nf_flow_offload_alloc(const struct flow_offload_work *offload, in nf_flow_offload_alloc() argument 646 struct net *net = read_pnet(&offload->flowtable->net); in nf_flow_offload_alloc() 648 flow_rule[0] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc() 653 flow_rule[1] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc() 712 static int flow_offload_tuple_add(struct flow_offload_work *offload, in flow_offload_tuple_add() argument 716 return nf_flow_offload_tuple(offload->flowtable, offload->flow, in flow_offload_tuple_add() 717 flow_rule, dir, offload->priority, in flow_offload_tuple_add() [all …]
|
| /kernel/linux/linux-6.6/net/netfilter/ |
| D | nf_flow_table_offload.c | 733 const struct flow_offload_work *offload, in nf_flow_offload_rule_alloc() argument 736 const struct nf_flowtable *flowtable = offload->flowtable; in nf_flow_offload_rule_alloc() 738 struct flow_offload *flow = offload->flow; in nf_flow_offload_rule_alloc() 802 static int nf_flow_offload_alloc(const struct flow_offload_work *offload, in nf_flow_offload_alloc() argument 805 struct net *net = read_pnet(&offload->flowtable->net); in nf_flow_offload_alloc() 807 flow_rule[0] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc() 812 flow_rule[1] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc() 871 static int flow_offload_tuple_add(struct flow_offload_work *offload, in flow_offload_tuple_add() argument 875 return nf_flow_offload_tuple(offload->flowtable, offload->flow, in flow_offload_tuple_add() 877 offload->flowtable->priority, in flow_offload_tuple_add() [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/flower/ |
| D | qos_conf.c | 127 "Offload not supported when exceed action is not drop"); in nfp_policer_validate() 135 "Offload not supported when conform action is not continue or ok"); in nfp_policer_validate() 142 "Offload not supported when conform action is not pipe or ok"); in nfp_policer_validate() 150 "Offload not supported when conform action is ok, but action is not last"); in nfp_policer_validate() 157 "Offload not supported when peakrate/avrate/overhead is configured"); in nfp_policer_validate() 185 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_install_rate_limiter() 194 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on shared bl… in nfp_flower_install_rate_limiter() 199 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on non-VF po… in nfp_flower_install_rate_limiter() 206 "unsupported offload: qos rate limit offload only support action number 1 or 2"); in nfp_flower_install_rate_limiter() 212 "unsupported offload: qos rate limit offload requires a single action"); in nfp_flower_install_rate_limiter() [all …]
|
| /kernel/linux/linux-6.6/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. 58 bool "NFP IPsec crypto offload support" 63 Enable driver support IPsec crypto offload on NFP NIC. 65 offload. NOTE that IPsec crypto offload on NFP NIC
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/flower/ |
| D | qos_conf.c | 76 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_install_rate_limiter() 83 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on shared bl… in nfp_flower_install_rate_limiter() 88 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on non-VF po… in nfp_flower_install_rate_limiter() 93 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires a single action"); in nfp_flower_install_rate_limiter() 98 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires highest priority"… in nfp_flower_install_rate_limiter() 103 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires police action"); in nfp_flower_install_rate_limiter() 149 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_remove_rate_limiter() 158 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: cannot remove qos entry that does not exist"); in nfp_flower_remove_rate_limiter() 302 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_stats_rate_limiter() 309 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: cannot find qos entry for stats update"); in nfp_flower_stats_rate_limiter() [all …]
|