| /linux/net/core/ |
| H A D | tso.c | 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 50 tso->tcp_seq += size; /* not worth avoiding this operation for UDP */ in tso_build_data() [all …]
|
| H A D | Makefile | 14 sock_diag.o dev_ioctl.o tso.o sock_reuseport.o \
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_gso.c | 52 struct tso_t tso; in bnxt_sw_udp_gso_xmit() local 57 hdr_len = tso_start(skb, &tso); in bnxt_sw_udp_gso_xmit() 98 if (!tso.ipv6) in bnxt_sw_udp_gso_xmit() 126 tso_build_hdr(skb, this_hdr, &tso, seg_payload, last); in bnxt_sw_udp_gso_xmit() 133 if (!tso.ipv6) { in bnxt_sw_udp_gso_xmit()
|
| /linux/tools/testing/selftests/net/packetdrill/ |
| H A D | tcp_urg_ptr_retransmit.pkt | 16 // | tun tso off -> software GSO splits it: | 50 +0 `ethtool -K tun0 tso off gso off gro off lro off 2>/dev/null`
|
| H A D | tcp_slow_start_slow-start-after-idle.pkt | 3 // This test expects tso size to be at least initial cwnd * mss
|
| H A D | tcp_slow_start_slow-start-after-win-update.pkt | 3 // This test expects tso size to be at least initial cwnd * mss
|
| H A D | tcp_advmss_pmtu_ipv4.pkt | 9 ethtool -K tun0 tso off
|
| H A D | tcp_advmss_pmtu_ipv6.pkt | 9 ethtool -K tun0 tso off
|
| /linux/tools/testing/selftests/net/ |
| H A D | gre_gso.sh | 126 ethtool -K veth0 tso off 131 ethtool -K veth0 tso on
|
| H A D | setup_veth.sh | |
| H A D | big_tcp.sh | 137 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 D | xgbe-desc.c | 428 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/drivers/net/ethernet/synopsys/ |
| H A D | dwc-xlgmac-desc.c | 503 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()
|
| H A D | dwc-xlgmac-common.c | 179 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/drivers/net/ethernet/sun/ |
| H A D | sunvnet_common.c | 111 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 D | sunvnet_common.h | 66 unsigned tso:1; member
|
| /linux/tools/testing/selftests/drivers/net/hw/ |
| H A D | Makefile | 49 tso.py \
|
| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_hw_qp.c | 564 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/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/ |
| H A D | tx-gen2.c | 175 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 D | otx2_txrx.c | 936 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/arch/arm64/boot/dts/st/ |
| H A D | stm32mp253.dtsi | 69 snps,tso;
|
| H A D | stm32mp233.dtsi | 69 snps,tso;
|
| /linux/drivers/net/ethernet/freescale/enetc/ |
| H A D | enetc.c | 619 static __wsum enetc_tso_hdr_csum(struct tso_t *tso, struct sk_buff *skb, in enetc_tso_hdr_csum() argument 625 if (tso->tlen != sizeof(struct udphdr)) { in enetc_tso_hdr_csum() 638 if (!tso->ipv6) { in enetc_tso_hdr_csum() 650 static void enetc_tso_complete_csum(struct enetc_bdr *tx_ring, struct tso_t *tso, in enetc_tso_complete_csum() argument 660 if (!tso->ipv6) in enetc_tso_complete_csum() 669 if (tso->tlen != sizeof(struct udphdr)) { in enetc_tso_complete_csum() 910 struct tso_t tso; in enetc_map_tx_tso_buffs() local 916 hdr_len = tso_start(skb, &tso); in enetc_map_tx_tso_buffs() 934 tso_build_hdr(skb, hdr, &tso, data_len, total_len == 0); in enetc_map_tx_tso_buffs() 937 csum = enetc_tso_hdr_csum(&tso, skb, hdr, hdr_len, &pos); in enetc_map_tx_tso_buffs() [all …]
|
| /linux/drivers/net/ethernet/cavium/thunder/ |
| H A D | nicvf_queues.c | 1383 hdr->tso = 1; in nicvf_sq_add_hdr_subdesc() 1488 struct tso_t tso; in nicvf_sq_append_tso() local 1494 hdr_len = tso_start(skb, &tso); in nicvf_sq_append_tso() 1509 tso_build_hdr(skb, hdr, &tso, data_left, total_len == 0); in nicvf_sq_append_tso() 1521 size = min_t(int, tso.size, data_left); in nicvf_sq_append_tso() 1525 virt_to_phys(tso.data)); in nicvf_sq_append_tso() 1530 tso_build_data(skb, &tso, size); in nicvf_sq_append_tso()
|
| /linux/drivers/net/ethernet/google/gve/ |
| H A D | gve_desc_dqo.h | 67 u8 tso: 1; member
|