Home
last modified time | relevance | path

Searched refs:tso (Results 1 – 25 of 71) sorted by relevance

123

/linux/net/core/
H A Dtso.c8 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
48 tso->tcp_seq += size; /* not worth avoiding this operation for UDP */ in tso_build_data()
[all …]
/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/tools/testing/selftests/net/
H A Dgre_gso.sh126 ethtool -K veth0 tso off
131 ethtool -K veth0 tso on
H A Dsetup_veth.sh
H A Dbig_tcp.sh137 ip net exec $CLIENT_NS ethtool -K link0 tso $cli_tso
139 ip net exec $ROUTER_NS ethtool -K link2 tso $gw_tso
/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()
/linux/tools/testing/selftests/drivers/net/hw/
H A DMakefile41 tso.py \
/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()
H A Ddwc-xlgmac-common.c179 if (pdata->hw_feat.tso) { in xlgmac_init()
433 hw_feat->tso = XLGMAC_GET_REG_BITS(mac_hfr1, in xlgmac_get_all_hw_features()
658 pdata->hw_feat.tso ? "YES" : "NO"); in xlgmac_print_all_hw_features()
/linux/tools/testing/selftests/net/packetdrill/
H A Dtcp_slow_start_slow-start-after-idle.pkt3 // This test expects tso size to be at least initial cwnd * mss
H A Dtcp_slow_start_slow-start-after-win-update.pkt3 // This test expects tso size to be at least initial cwnd * mss
/linux/drivers/net/ethernet/sun/
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()
1288 if (port->tso && curr->len > dev->mtu) { in vnet_handle_offloads()
1713 port->tso = (port->vsw == 0); /* no tso in vsw, misbehaves in bridge */ in vnet_port_reset()
H A Dsunvnet_common.h66 unsigned tso:1; member
/linux/drivers/net/ethernet/huawei/hinic/
H A Dhinic_hw_qp.c564 u32 tso = 0, ufo = 0; in hinic_set_tso_inner_l4() local
567 tso = 1; in hinic_set_tso_inner_l4()
574 task->pkt_info0 |= HINIC_SQ_TASK_INFO0_SET(tso || ufo, TSO_FLAG); in hinic_set_tso_inner_l4()
578 HINIC_SQ_CTRL_SET(tso, QUEUE_INFO_TSO) | in hinic_set_tso_inner_l4()
/linux/arch/arm64/boot/dts/st/
H A Dstm32mp253.dtsi69 snps,tso;
H A Dstm32mp233.dtsi69 snps,tso;
/linux/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/
H A Dtx-gen2.c175 struct tso_t tso; in iwl_txq_gen2_build_amsdu() local
210 tso_start(skb, &tso); in iwl_txq_gen2_build_amsdu()
238 tso_build_hdr(skb, pos_hdr, &tso, data_left, !total_len); in iwl_txq_gen2_build_amsdu()
263 tb_len = min_t(unsigned int, tso.size, data_left); in iwl_txq_gen2_build_amsdu()
271 tb_phys, tso.data, in iwl_txq_gen2_build_amsdu()
278 tso_build_data(skb, &tso, tb_len); in iwl_txq_gen2_build_amsdu()
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.c936 struct tso_t tso; in otx2_sq_append_tso() local
938 hdr_len = tso_start(skb, &tso); in otx2_sq_append_tso()
965 tso_build_hdr(skb, hdr, &tso, seg_len, tcp_data == 0); in otx2_sq_append_tso()
976 size = min_t(int, tso.size, seg_len); in otx2_sq_append_tso()
981 tso.next_frag_idx - 1, in otx2_sq_append_tso()
982 (u64)tso.data, hdr_len, in otx2_sq_append_tso()
987 tso_build_data(skb, &tso, size); in otx2_sq_append_tso()
/linux/drivers/net/ethernet/google/gve/
H A Dgve_desc_dqo.h62 u8 tso: 1; member
/linux/drivers/net/ethernet/freescale/enetc/
H A Denetc.c592 static __wsum enetc_tso_hdr_csum(struct tso_t *tso, struct sk_buff *skb, in enetc_tso_hdr_csum() argument
598 if (tso->tlen != sizeof(struct udphdr)) { in enetc_tso_hdr_csum()
611 if (!tso->ipv6) { in enetc_tso_hdr_csum()
623 static void enetc_tso_complete_csum(struct enetc_bdr *tx_ring, struct tso_t *tso, in enetc_tso_complete_csum() argument
633 if (!tso->ipv6) in enetc_tso_complete_csum()
642 if (tso->tlen != sizeof(struct udphdr)) { in enetc_tso_complete_csum()
883 struct tso_t tso; in enetc_map_tx_tso_buffs() local
889 hdr_len = tso_start(skb, &tso); in enetc_map_tx_tso_buffs()
907 tso_build_hdr(skb, hdr, &tso, data_len, total_len == 0); in enetc_map_tx_tso_buffs()
910 csum = enetc_tso_hdr_csum(&tso, skb, hdr, hdr_len, &pos); in enetc_map_tx_tso_buffs()
[all …]
/linux/drivers/net/ethernet/pensando/ionic/
H A Dionic_stats.c137 IONIC_TX_STAT_DESC(tso),
180 stats->tx_tso += txstats->tso; in ionic_add_lif_txq_stats()
/linux/drivers/net/ethernet/intel/iavf/
H A Diavf_txrx.c2302 int tso, count; in iavf_xmit_frame_ring() local
2353 tso = iavf_tso(first, &hdr_len, &cd_type_cmd_tso_mss); in iavf_xmit_frame_ring()
2355 if (tso < 0) in iavf_xmit_frame_ring()
2357 else if (tso) in iavf_xmit_frame_ring()
2361 tso = iavf_tx_enable_csum(skb, &tx_flags, &td_cmd, &td_offset, in iavf_xmit_frame_ring()
2363 if (tso < 0) in iavf_xmit_frame_ring()
/linux/drivers/net/ethernet/cavium/thunder/
H A Dq_struct.h530 u64 tso:1; member
565 u64 tso:1;
/linux/drivers/net/ethernet/sfc/
H A Def100_nic.c202 netdev_features_t tso = NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_PARTIAL | in efx_ef100_init_datapath_caps() local
206 net_dev->features |= tso; in efx_ef100_init_datapath_caps()
207 net_dev->hw_features |= tso; in efx_ef100_init_datapath_caps()
208 net_dev->hw_enc_features |= tso; in efx_ef100_init_datapath_caps()
/linux/drivers/net/ethernet/freescale/dpaa2/
H A Ddpaa2-eth.c1166 skb = swa->tso.skb; in dpaa2_eth_free_tx_fd()
1172 dma_unmap_single(dev, fd_addr, swa->tso.sgt_size, in dpaa2_eth_free_tx_fd()
1182 for (i = 1; i < swa->tso.num_sg; i++) in dpaa2_eth_free_tx_fd()
1186 if (!swa->tso.is_last_fd) in dpaa2_eth_free_tx_fd()
1267 struct tso_t tso; in dpaa2_eth_build_gso_fd() local
1272 hdr_len = tso_start(skb, &tso); in dpaa2_eth_build_gso_fd()
1298 tso_build_hdr(skb, tso_hdr, &tso, data_left, total_len == 0); in dpaa2_eth_build_gso_fd()
1318 size = min_t(int, tso.size, data_left); in dpaa2_eth_build_gso_fd()
1320 addr = dma_map_single(dev, tso.data, size, DMA_TO_DEVICE); in dpaa2_eth_build_gso_fd()
1334 tso_build_data(skb, &tso, size); in dpaa2_eth_build_gso_fd()
[all …]

123