Home
last modified time | relevance | path

Searched full:tso (Results 1 – 25 of 247) sorted by relevance

12345678910

/linux/net/core/
H A Dtso.c5 #include <net/tso.h>
8 void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso, in tso_build_hdr() argument
11 int hdr_len = skb_transport_offset(skb) + tso->tlen; in tso_build_hdr()
15 if (!tso->ipv6) { in tso_build_hdr()
18 iph->id = htons(tso->ip_id); in tso_build_hdr()
20 tso->ip_id++; in tso_build_hdr()
24 iph->payload_len = htons(size + tso->tlen); in tso_build_hdr()
27 if (tso->tlen != sizeof(struct udphdr)) { in tso_build_hdr()
30 put_unaligned_be32(tso->tcp_seq, &tcph->seq); in tso_build_hdr()
46 void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size) in tso_build_data() argument
[all …]
/linux/include/linux/
H A Dnetdev_features.h40 NETIF_F_GSO_GRE_BIT, /* ... GRE with TSO */
41 NETIF_F_GSO_GRE_CSUM_BIT, /* ... GRE with csum with TSO */
42 NETIF_F_GSO_IPXIP4_BIT, /* ... IP4 or IP6 over IP4 with TSO */
43 NETIF_F_GSO_IPXIP6_BIT, /* ... IP4 or IP6 over IP6 with TSO */
44 NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
45 NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
50 NETIF_F_GSO_TUNNEL_REMCSUM_BIT, /* ... TUNNEL with TSO & REMCSUM */
52 NETIF_F_GSO_ESP_BIT, /* ... ESP with TSO */
56 NETIF_F_GSO_ACCECN_BIT, /* TCP AccECN w/ TSO (no clear CWR) */
132 #define NETIF_F_TSO __NETIF_F(TSO)
/linux/arch/powerpc/kernel/ptrace/
H A Dptrace-view.c352 BUILD_BUG_ON(TSO(ebbrr) + sizeof(unsigned long) != TSO(ebbhr)); in ebb_get()
353 BUILD_BUG_ON(TSO(ebbhr) + sizeof(unsigned long) != TSO(bescr)); in ebb_get()
371 BUILD_BUG_ON(TSO(ebbrr) + sizeof(unsigned long) != TSO(ebbhr)); in ebb_set()
372 BUILD_BUG_ON(TSO(ebbhr) + sizeof(unsigned long) != TSO(bescr)); in ebb_set()
407 BUILD_BUG_ON(TSO(siar) + sizeof(unsigned long) != TSO(sdar)); in pmu_get()
408 BUILD_BUG_ON(TSO(sdar) + sizeof(unsigned long) != TSO(sier)); in pmu_get()
409 BUILD_BUG_ON(TSO(sier) + sizeof(unsigned long) != TSO(mmcr2)); in pmu_get()
410 BUILD_BUG_ON(TSO(mmcr2) + sizeof(unsigned long) != TSO(mmcr0)); in pmu_get()
425 BUILD_BUG_ON(TSO(siar) + sizeof(unsigned long) != TSO(sdar)); in pmu_set()
426 BUILD_BUG_ON(TSO(sdar) + sizeof(unsigned long) != TSO(sier)); in pmu_set()
[all …]
H A Dptrace-tm.c578 BUILD_BUG_ON(TSO(tm_tfhar) + sizeof(u64) != TSO(tm_texasr)); in tm_spr_get()
579 BUILD_BUG_ON(TSO(tm_texasr) + sizeof(u64) != TSO(tm_tfiar)); in tm_spr_get()
580 BUILD_BUG_ON(TSO(tm_tfiar) + sizeof(u64) != TSO(ckpt_regs)); in tm_spr_get()
623 BUILD_BUG_ON(TSO(tm_tfhar) + sizeof(u64) != TSO(tm_texasr)); in tm_spr_set()
624 BUILD_BUG_ON(TSO(tm_texasr) + sizeof(u64) != TSO(tm_tfiar)); in tm_spr_set()
625 BUILD_BUG_ON(TSO(tm_tfiar) + sizeof(u64) != TSO(ckpt_regs)); in tm_spr_set()
/linux/include/net/
H A Dtso.h26 void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso,
28 void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size);
29 int tso_start(struct sk_buff *skb, struct tso_t *tso);
/linux/include/uapi/linux/
H A Dif_tun.h89 #define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
90 #define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
91 #define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
96 /* I can handle TSO/USO for UDP tunneled packets */
100 * I can handle TSO/USO for UDP tunneled packets requiring csum offload for
/linux/drivers/net/ethernet/google/gve/
H A Dgve_desc.h46 u8 l3_offset; /* TSO: 2 byte units to start of IPH */
48 __be16 mss; /* TSO MSS */
55 #define GVE_TXD_TSO (0x1 << 4) /* TSO with Host Address */
63 /* GVE Transmit Descriptor Flags for TSO Segs */
64 #define GVE_TXSF_IPV6 BIT(1) /* IPv6 TSO */
H A Dgve_desc_dqo.h48 /* Maximum number of data descriptors allowed per packet, or per-TSO segment. */
62 u8 tso: 1; member
70 /* TX Native TSO Context DTYPE (0x05)
79 /* Max segment size in TSO excluding headers. */
83 u8 header_len; /* Header length to use for TSO offload */
/linux/drivers/net/ethernet/sfc/
H A Dtx_tso.c37 * struct tso_state - TSO state for an SKB
141 * under which TSO will be attempted hold true. Return the protocol number.
227 * @st: TSO state
280 * @st: TSO state
304 /* Send the original headers with a TSO option descriptor in tso_start_new_packet()
350 * efx_enqueue_skb_tso - segment and transmit a TSO socket buffer
358 * Add socket buffer @skb to @tx_queue, doing TSO or return != 0 if
432 "Out of memory for TSO headers, or DMA mapping error\n"); in efx_enqueue_skb_tso()
434 netif_err(efx, tx_err, efx->net_dev, "TSO failed, rc = %d\n", rc); in efx_enqueue_skb_tso()
/linux/Documentation/networking/device_drivers/ethernet/chelsio/
H A Dcxgb.rst77 TCP Segmentation Offloading (TSO) Support
87 By default, TSO is enabled.
88 To disable TSO::
90 ethtool -K <interface> tso off
92 To enable TSO::
94 ethtool -K <interface> tso on
96 To view the status of TSO::
/linux/Documentation/networking/device_drivers/ethernet/neterion/
H A Ds2io.rst22 such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on.
59 and receive, TSO.
160 c. Turn on TSO(using "ethtool -K")::
162 # ethtool -K <ethX> tso on
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.c10 #include <net/tso.h>
724 * sending TSO segment, hence set payload length in otx2_sqe_add_ext()
830 /* In case of TSO, HW needs this to be explicitly set. in otx2_sqe_add_hdr()
936 struct tso_t tso; in otx2_sq_append_tso() local
938 hdr_len = tso_start(skb, &tso); in otx2_sq_append_tso()
941 * It's done here to avoid mapping for every TSO segment's packet. in otx2_sq_append_tso()
963 /* Add TSO segment's pkt header */ in otx2_sq_append_tso()
965 tso_build_hdr(skb, hdr, &tso, seg_len, tcp_data == 0); in otx2_sq_append_tso()
971 /* Add TSO segment's payload data fragments */ in otx2_sq_append_tso()
976 size = min_t(int, tso.size, seg_len); in otx2_sq_append_tso()
[all …]
/linux/drivers/net/ethernet/myricom/myri10ge/
H A Dmyri10ge_mcp.h282 /* Return data = the max. size of the entire headers of a IPv6 TSO packet.
283 * If the header size of a IPv6 TSO packet is larger than the specified
284 * value, then the driver must not use TSO.
285 * This size restriction only applies to IPv6 TSO.
286 * For IPv4 TSO, the maximum size of the headers is fixed, and the NIC
291 /* data0 = TSO mode.
/linux/drivers/net/ethernet/sun/
H A Dsunvnet_common.h16 #define VNET_MINTSO 2048 /* VIO protocol's minimum TSO len */
17 #define VNET_MAXTSO 65535 /* VIO protocol's maximum TSO len */
66 unsigned tso:1; member
H A Dsunvnet_common.c111 if (vio_version_after_eq(vio, 1, 7) && port->tso) { in sunvnet_send_attr_common()
174 port->tso &= !!(pkt->cflags & VNET_LSO_IPV4_CAPAB); in handle_attr_info()
176 port->tso = false; in handle_attr_info()
177 if (port->tso) { in handle_attr_info()
182 port->tso = false; in handle_attr_info()
384 if (port->tso && port->tsolen > port->rmtu) in vnet_rx_one()
1254 if (port->tso && gso_size < datalen) in vnet_handle_offloads()
1270 if (port->tso && gso_size < datalen) { in vnet_handle_offloads()
1274 /* segment to TSO size */ in vnet_handle_offloads()
1288 if (port->tso && curr->len > dev->mtu) { in vnet_handle_offloads()
[all …]
/linux/tools/include/uapi/linux/
H A Dif_tun.h87 #define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
88 #define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
89 #define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
/linux/tools/testing/selftests/net/
H A Dgre_gso.sh124 log_test $? 0 "$name - copy file w/ TSO"
126 ethtool -K veth0 tso off
131 ethtool -K veth0 tso on
/linux/drivers/net/ethernet/stmicro/stmmac/
H A Ddwmac5.c44 { true, "TPES", "TSO Data Path Parity Check Error" },
139 { true, "TCES", "DMA TSO Memory Error" },
140 { true, "TAMS", "DMA TSO Memory Address Mismatch Error" },
141 { true, "TUES", "DMA TSO Memory Error" },
212 value |= TSOEE; /* TSO ECC */ in dwmac5_safety_feat_config()
233 value |= TCEIE; /* TSO Memory Correctable Error */ in dwmac5_safety_feat_config()
/linux/drivers/net/ethernet/amd/xgbe/
H A Dxgbe-desc.c428 unsigned int offset, tso, vlan, datalen, len; in xgbe_map_tx_skb() local
441 tso = XGMAC_GET_BITS(packet->attributes, TX_PACKET_ATTRIBUTES, in xgbe_map_tx_skb()
447 if ((tso && (packet->mss != ring->tx.cur_mss)) || in xgbe_map_tx_skb()
452 if (tso) { in xgbe_map_tx_skb()
453 /* Map the TSO header */ in xgbe_map_tx_skb()
/linux/drivers/net/ethernet/netronome/nfp/nfd3/
H A Dnfd3.h62 * Will be 1 for all non-TSO packets.
66 * on the head's buffer). Equal to skb->len for non-TSO packets.
/linux/drivers/net/ethernet/netronome/nfp/nfdk/
H A Dnfdk.h60 __le16 lso_meta_res; /* Rsvd bits in TSO metadata */
101 /* TSO (optional) */
/linux/drivers/net/ethernet/synopsys/
H A Ddwc-xlgmac-desc.c507 unsigned int tso, vlan; in xlgmac_map_tx_skb() local
519 tso = XLGMAC_GET_REG_BITS(pkt_info->attributes, in xlgmac_map_tx_skb()
527 if ((tso && (pkt_info->mss != ring->tx.cur_mss)) || in xlgmac_map_tx_skb()
532 if (tso) { in xlgmac_map_tx_skb()
533 /* Map the TSO header */ in xlgmac_map_tx_skb()
/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_dcb.h142 #define DCB_MAX_TSO_SIZE (32*1024) /* MAX TSO packet size supported in DCB mode */
143 #define MINIMUM_CREDIT_FOR_TSO (DCB_MAX_TSO_SIZE/64 + 1) /* 513 for 32KB TSO packet */
/linux/Documentation/networking/device_drivers/ethernet/stmicro/
H A Dstmmac.rst90 - TCP / UDP Segmentation Offload (TSO, USO)
273 TSO Support
276 TSO (TCP Segmentation Offload) feature is supported by GMAC > 4.x and XGMAC
285 When TSO is enabled, the TCP stack doesn't care about the maximum frame length
289 This feature can be enabled in device tree through ``snps,tso`` entry.
478 32) Enables TSO feature::
/linux/drivers/net/ethernet/intel/idpf/
H A Didpf_singleq_txrx.c51 * case of TSO. in idpf_tx_singleq_csum()
126 * header checksum in the case of TSO. in idpf_tx_singleq_csum()
218 /* If we failed a DMA mapping for a TSO packet, we will have in idpf_tx_singleq_dma_map_error()
418 int csum, tso, needed; in idpf_tx_singleq_frame() local
444 tso = idpf_tso(skb, &offload); in idpf_tx_singleq_frame()
445 if (tso < 0) in idpf_tx_singleq_frame()
452 if (tso || offload.cd_tunneling) in idpf_tx_singleq_frame()
459 if (tso) { in idpf_tx_singleq_frame()

12345678910