linux/net/ipv6
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
..
netfilter [NETFILTER]: Fix ip6t_LOG sit tunnel logging 2005-06-21 14:07:13 -07:00
addrconf.c [IPV6]: Don't dump temporary addresses twice 2005-06-28 13:00:30 -07:00
af_inet6.c [IPV6]: Makes IPv6 rcv registration happen last during initialisation. 2005-07-05 14:41:20 -07:00
ah6.c [IPSEC]: Add xfrm_init_state 2005-06-20 13:18:08 -07:00
anycast.c [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
datagram.c [IPV4/IPV6]: Replace spin_lock_irq with spin_lock_bh 2005-06-18 22:56:18 -07:00
esp6.c [IPSEC]: Add xfrm_init_state 2005-06-20 13:18:08 -07:00
exthdrs_core.c [SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS. 2005-04-24 20:16:19 -07:00
exthdrs.c
icmp.c [IPV6]: Ensure to use icmpv6_socket in non-preemptive context. 2005-06-13 14:59:44 -07:00
ip6_fib.c [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
ip6_flowlabel.c [IPV6]: remove more unused IPV6_AUTHHDR things. 2005-06-28 15:46:24 -07:00
ip6_input.c
ip6_output.c [NET]: Remove unused security member in sk_buff 2005-07-05 14:12:44 -07:00
ip6_tunnel.c [IPV6]: Update parm.link in ip6ip6_tnl_change() 2005-06-08 14:54:38 -07:00
ipcomp6.c [IPSEC]: Add xfrm_init_state 2005-06-20 13:18:08 -07:00
ipv6_sockglue.c [IPV6]: multicast join and misc 2005-06-21 13:58:25 -07:00
ipv6_syms.c [IPV6]: Kill export of fl6_sock_lookup. 2005-06-02 13:06:36 -07:00
Kconfig
Makefile
mcast.c [NETFILTER]: Restore netfilter assumptions in IPv6 multicast 2005-06-21 14:02:15 -07:00
ndisc.c [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
proc.c
protocol.c
raw.c [IPV4/IPV6]: Replace spin_lock_irq with spin_lock_bh 2005-06-18 22:56:18 -07:00
reassembly.c
route.c [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
sit.c
sysctl_net_ipv6.c
tcp_ipv6.c [TCP]: Move to new TSO segmenting scheme. 2005-07-05 15:24:38 -07:00
udp.c [IPV4/IPV6]: Replace spin_lock_irq with spin_lock_bh 2005-06-18 22:56:18 -07:00
xfrm6_input.c
xfrm6_output.c [IPV6]: Fix xfrm tunnel oops with large packets 2005-05-23 13:11:07 -07:00
xfrm6_policy.c From: Kazunori Miyazawa <kazunori@miyazawa.org> 2005-05-26 12:58:04 -07:00
xfrm6_state.c
xfrm6_tunnel.c [IPSEC]: Add xfrm_init_state 2005-06-20 13:18:08 -07:00