Home
last modified time | relevance | path

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

1234567891011

/linux/net/core/
H A Dtso.c5 #include <net/tso.h>
9 void tso_build_hdr(const struct sk_buff *skb, char *hdr, struct tso_t *tso, in tso_build_hdr() argument
12 int hdr_len = skb_transport_offset(skb) + tso->tlen; in tso_build_hdr()
16 if (!tso->ipv6) { in tso_build_hdr()
19 iph->id = htons(tso->ip_id); in tso_build_hdr()
21 tso->ip_id++; in tso_build_hdr()
25 iph->payload_len = htons(size + tso->tlen); in tso_build_hdr()
28 if (tso->tlen != sizeof(struct udphdr)) { in tso_build_hdr()
31 put_unaligned_be32(tso->tcp_seq, &tcph->seq); in tso_build_hdr()
48 void tso_build_data(const struct sk_buff *skb, struct tso_t *tso, int size) in tso_build_data() argument
[all …]
/linux/tools/testing/selftests/net/
H A Dveth.sh263 chk_tso_flag " - tso flag" $SRC on
264 chk_tso_flag " - peer tso flag" $DST on
267 chk_gro " - aggregation with TSO off" 10
274 chk_tso_flag " - tso flag" $SRC on
275 chk_tso_flag " - peer tso flag" $DST on
278 chk_gro " - aggregation with TSO off" 1
317 chk_tso_flag " - tso flag" $SRC on
318 chk_tso_flag " - peer tso flag" $DST on
339 chk_gro " - aggregation with TSO off" 1
421 chk_tso_flag " - tso fla
[all...]
H A Dgre_gso.sh100 log_test $? 0 "$name - copy file w/ TSO"
102 ethtool -K veth0 tso off
107 ethtool -K veth0 tso on
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_gso.c16 #include <net/tso.h>
72 struct tso_t tso; in bnxt_sw_udp_gso_xmit()
77 hdr_len = tso_start(skb, &tso); in bnxt_sw_udp_gso_xmit()
126 if (!tso.ipv6) in bnxt_sw_udp_gso_xmit()
156 tso_build_hdr(skb, this_hdr, &tso, seg_payload, last); in bnxt_sw_udp_gso_xmit()
163 if (!tso.ipv6) { in bnxt_sw_udp_gso_xmit()
52 struct tso_t tso; bnxt_sw_udp_gso_xmit() local
/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.h53 /* Maximum number of data descriptors allowed per packet, or per-TSO segment. */
67 u8 tso: 1; member
75 /* TX Native TSO Context DTYPE (0x05)
84 /* Max segment size in TSO excluding headers. */
88 u8 header_len; /* Header length to use for TSO offload */
/linux/include/uapi/linux/
H A Dif_tun.h93 #define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
94 #define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
95 #define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
100 /* I can handle TSO/USO for UDP tunneled packets */
104 * I can handle TSO/USO for UDP tunneled packets requiring csum offload for
/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/arch/powerpc/kernel/ptrace/
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/tools/testing/selftests/net/packetdrill/
H A Dtcp_urg_ptr_retransmit.pkt16 // | tun tso off -> software GSO splits it: |
37 // 2. server sends 5000 bytes; TSO on, so packetdrill sees whole super-skbs
47 // TSO on for the initial send (one super-skb, stable PSH) and disable it only
50 +0 `ethtool -K tun0 tso off gso off gro off lro off 2>/dev/null`
/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/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/cavium/thunder/
H A Dnicvf_queues.c12 #include <net/tso.h>
541 /* Preallocate memory for TSO segment's header */ in nicvf_init_snd_queue()
604 /* Check for dummy descriptor used for HW TSO offload on 88xx */ in nicvf_free_snd_queue()
606 /* Get actual TSO descriptors and unmap them */ in nicvf_free_snd_queue()
1214 /* Inform HW to xmit all TSO segments */ in nicvf_xdp_sq_doorbell()
1257 * segments of this TSO packet.
1315 /* Dummy descriptors to get TSO pkt completion notification */ in nicvf_sq_subdesc_required()
1346 /* post_cqe = 0, to avoid HW posting a CQE for every TSO in nicvf_sq_add_hdr_subdesc()
1383 hdr->tso = 1; in nicvf_sq_add_hdr_subdesc()
1395 /* Tx timestamping not supported along with TSO, so ignore request */ in nicvf_sq_add_hdr_subdesc()
[all …]
/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.h91 #define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
92 #define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
93 #define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
/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.c503 unsigned int tso, vlan; in xlgmac_map_tx_skb() local
515 tso = XLGMAC_GET_REG_BITS(pkt_info->attributes, in xlgmac_map_tx_skb()
523 if ((tso && (pkt_info->mss != ring->tx.cur_mss)) || in xlgmac_map_tx_skb()
528 if (tso) { in xlgmac_map_tx_skb()
529 /* Map the TSO header */ in xlgmac_map_tx_skb()
/linux/Documentation/networking/device_drivers/ethernet/stmicro/
H A Dstmmac.rst89 - TCP / UDP Segmentation Offload (TSO, USO)
272 TSO Support
275 TSO (TCP Segmentation Offload) feature is supported by GMAC > 4.x and XGMAC
284 When TSO is enabled, the TCP stack doesn't care about the maximum frame length
288 This feature can be enabled in device tree through ``snps,tso`` entry.
477 32) Enables TSO feature::
/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/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/
H A Dtx-gen2.c
/linux/Documentation/devicetree/bindings/net/
H A Deswin,eic7700-eth.yaml158 snps,tso;
184 snps,tso;

1234567891011