linux/include/net
David S. Miller c1b4a7e695 [TCP]: Move to new TSO segmenting scheme.
Make TSO segment transmit size decisions at send time not earlier.

The basic scheme is that we try to build as large a TSO frame as
possible when pulling in the user data, but the size of the TSO frame
output to the card is determined at transmit time.

This is guided by tp->xmit_size_goal.  It is always set to a multiple
of MSS and tells sendmsg/sendpage how large an SKB to try and build.

Later, tcp_write_xmit() and tcp_push_one() chop up the packet if
necessary and conditions warrant.  These routines can also decide to
"defer" in order to wait for more ACKs to arrive and thus allow larger
TSO frames to be emitted.

A general observation is that TSO elongates the pipe, thus requiring a
larger congestion window and larger buffering especially at the sender
side.  Therefore, it is important that applications 1) get a large
enough socket send buffer (this is accomplished by our dynamic send
buffer expansion code) 2) do large enough writes.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-05 15:24:38 -07:00
..
bluetooth Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irda [PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA 2005-04-16 15:24:56 -07:00
sctp [SCTP] Make init & delayed sack timeouts configurable by user. 2005-06-28 13:24:23 -07:00
tc_act [PKT_SCHED]: Introduce simple actions. 2005-04-24 20:10:16 -07:00
act_api.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
act_generic.h [PKT_SCHED]: Fixup simple action define. 2005-05-19 12:42:39 -07:00
addrconf.h [IPV6]: net/addrconf.h needs to include linux/in6.h earlier 2005-05-03 22:17:18 -07:00
af_unix.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ah.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
arp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
atmclip.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ax25.h [AX25]: endian-annotate ax25_type_trans() 2005-06-20 13:31:11 -07:00
checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
datalink.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_dev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_fib.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_neigh.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_nsp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_route.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dsfield.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dst.h [NET]: Shave sizeof(ptr) bytes off dst_entry 2005-04-19 20:46:37 -07:00
esp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
flow.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_stats.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
icmp.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
ieee80211.h [PATCH] ieee80211.h build fix 2005-06-28 22:45:32 -07:00
if_inet6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inet_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inet_ecn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inetpeer.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_fib.h [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
ip6_route.h [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
ip6_tunnel.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_fib.h [NETLINK]: fib_lookup() via netlink 2005-06-20 13:36:39 -07:00
ip_mp_alg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip.h [SCTP] Add support for ip_nonlocal_bind sysctl & IP_FREEBIND socket option 2005-06-13 15:12:33 -07:00
ipcomp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipconfig.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipip.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6.h [IPV6]: remove more unused IPV6_AUTHHDR things. 2005-06-28 15:46:24 -07:00
ipx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iw_handler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lapb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_ac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_ev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_st.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_conn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_if.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_pdu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_ac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_ev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_st.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_sap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ndisc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
neighbour.h [NEIGHBOUR]: Remove unused fields in struct neigh_parms and neigh_table 2005-06-18 22:51:12 -07:00
netrom.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
p8022.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pkt_act.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pkt_cls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pkt_sched.h [PKT_SCHED]: Cleanup qdisc creation and alignment macros 2005-07-05 14:15:09 -07:00
protocol.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
psnap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rawv6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
request_sock.h [NET] rename struct tcp_listen_opt to struct listen_sock 2005-06-18 22:48:55 -07:00
rose.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
route.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
sch_generic.h [PKT_SCHED]: Cleanup qdisc creation and alignment macros 2005-07-05 14:15:09 -07:00
scm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
slhc_vj.h [NET]: Remove __ARGS from include/net/slhc_vj.h 2005-07-05 15:12:04 -07:00
snmp.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
sock.h [TCP]: Simplify SKB data portion allocation with NETIF_F_SG. 2005-07-05 15:17:25 -07:00
syncppp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tcp_ecn.h [NET] Rename open_request to request_sock 2005-06-18 22:47:21 -07:00
tcp.h [TCP]: Move to new TSO segmenting scheme. 2005-07-05 15:24:38 -07:00
transp_v6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udp.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
x25.h [X25]: Fast select with no restriction on response 2005-06-22 22:16:17 -07:00
x25device.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm.h [IPSEC]: Add xfrm_state_afinfo->init_flags 2005-06-20 13:19:41 -07:00