An error occurred fetching the project authors.
- 22 Feb, 2005 1 commit
-
-
Arnaldo Carvalho de Melo authored
Various routines were putting a full struct tcp_sock on the local stack. What they really wanted was a subset of this information when doing TCP options processing when we only have a mini-socket (for example in SYN-RECVD and TIME_WAIT states). Therefore pull out the needed information into a sub-struct and use that in the TCP options processing routines. Signed-off-by:
Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 10 Feb, 2005 1 commit
-
-
David S. Miller authored
Helps with crazy Mac OS-X TCP implementations which delay the recvmsg() wakeup of the user until push is seen. Based upon ideas from Alexey Kuznetsov, and a preliminary patch by Stephen Hemminger. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 18 Jan, 2005 1 commit
-
-
Alexey Kuznetsov authored
Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 17 Jan, 2005 1 commit
-
-
Herbert Xu authored
IMHO the TSO stuff has mostly settled down now. As a result tcp_pcount_t is now more of a liability in that it reduces the readability of the code. So here is a patch to remove it. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 28 Dec, 2004 1 commit
-
-
Arnaldo Carvalho de Melo authored
No need for two structs, follow the new inet_sock layout style. Signed-off-by:
Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 27 Dec, 2004 1 commit
-
-
Arnaldo Carvalho de Melo authored
With this we can remove all the cut'n'pasted layouts in all inet_sock derived classes, such as tcp_sock, udp_sock, sctp_sock, etc. Signed-off-by:
Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 25 Oct, 2004 2 commits
-
-
Herbert Xu authored
Actually, I think we've caught your crash now. If that code path is triggering at all, then it'll trigger with TSO packets too. If we get a truly partial ack on a TSO packet, then tcp_tso_acked will not trim it off. So we will fall through to this last-ditch trim call, which doesn't update packets_out. There are two solutions to this problem. I've taken the simpler approach for now. We simply trim off the partial bits in tcp_tso_acked and live with the fact that the packet counters may differ from what's on the netwrok by one. Later on we can 'fix' this by remembering where the original TSO packet started from, perhaps in skb->h or somewhere. Dave, is this worth it? Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Christoph Hellwig authored
Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 22 Oct, 2004 1 commit
-
-
Herbert Xu authored
Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 21 Oct, 2004 1 commit
-
-
Herbert Xu authored
Dave, we need to use the skb's MSS in trim_head as otherwise the counters will be screwed up. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 20 Oct, 2004 1 commit
-
-
David S. Miller authored
Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 19 Oct, 2004 1 commit
-
-
Herbert Xu authored
The following patch makes it allocate skb_headlen(skb) - len instead of skb->len - len. When skb is linear there is no difference. When it's non-linear we only ever copy the bytes in the header. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 30 Sep, 2004 2 commits
-
-
David S. Miller authored
We can just use skb_shinfo(skb)->tso_{segs,size} directly. This also allows us to kill the hack zone code in ip_output.c The original impetus for thus change was a problem noted by John Heffner. We do not abide by the MSS of the connection for TCP segmentation, we were using the path MTU instead. This broke various local network setups with TSO enabled and is fixed as a side effect of these changes. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
This allows control over what percentage of the congestion window can be consumed by a single TSO frame. The setting of this parameter is a choice between burstiness and building larger TSO frames. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 29 Sep, 2004 2 commits
-
-
David S. Miller authored
- Export tcp_trim_head() and call it directly from tcp_tso_acked(). This also fixes URG handling. - Make tcp_trim_head() adjust the skb->truesize of the packet and liberate that space from the socket send buffer. - In tcp_current_mss(), limit TSO factor to 1/4 of snd_cwnd. The idea is from John Heffner. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
1) If tcp_{sendmsg,sendpage} tacks on more data to an existing SKB, this can make tso_factor inaccurate. Invalidate it, which forces it to be recalculated, by simply setting it to zero. 2) __tcp_trim_head() changes skb->len thus we need to recalculate tso_factor 3) BUG check that tcp_retrans_try_collapse() does not try to collapse packets with non-1 tso_factor 4) The Solaris FIN workaround in tcp_retransmit_skb() changes packet size, need to fixup tso_factor Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 28 Sep, 2004 2 commits
-
-
David S. Miller authored
Based upon a bug fix patch and suggestions from Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Also fix the return value of tcp_sync_mss() to be unsigned. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 27 Sep, 2004 3 commits
-
-
David S. Miller authored
Noted by Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
We only do congestion window expansion on full packet ACKs. We should do it for ACKs of sub-packets of a TSO frame as well. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Stephen Hemminger authored
The choice of congestion algorithm needs to be made when connection is setup to avoid problems when the sysctl values change later and the necessary data hasn't been collected. Signed-off-by:
Stephen Hemminger <shemminger@osdl.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 13 Sep, 2004 1 commit
-
-
David S. Miller authored
Noticed by Herbert Xu. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 12 Sep, 2004 1 commit
-
-
David S. Miller authored
Noticed by Herbert Xu. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 10 Sep, 2004 3 commits
-
-
David S. Miller authored
We run into a potential problem if we are doing TSO and we reduce the congestion window. We might create a case where the TSO packet is what we need to resend but the congestion window is not large enough to allow it through. The fix is very simple, since tcp_retransmit_skb() is going to chop the size of the packet down to size of the normal non-TSO MSS, we can pretend at the top level that each SKB is composed of only one real MSS worth of data. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Calls to tcp_fragment() change the tso_factor of an SKB, so we need to deal with that. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Do not reference the tso_factor of SKB buff until it is initialized. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 09 Sep, 2004 2 commits
-
-
David S. Miller authored
We divide by the wrong MSS. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Unused outside of tcp_output.c Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 08 Sep, 2004 1 commit
-
-
Baruch Even authored
Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 07 Sep, 2004 3 commits
-
-
David S. Miller authored
It needs to be set so that congestion window calculations have a valid value to work with. This means that doing it at write queue running time is too late. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Eliminate tp->mss_tso_factor. Instead, we calculate the SKB tso factor as we walk the write queue for initial transmit or fragment SKBs. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Previously TSO would not abide by the congestion window properly. Essentially, each TSO packet would be trated just like 1 normal packet, even though a TSO packet generates more than 1 normal packet. This violates congestion window rules entirely. So now we record the TSO factor, a count of how many real packets a TSO packet will generate, and include this in all the packet counting routines. This initial version has a bug in that skb_entail() is not the correct time to figure out the TSO factor for the SKB, and tp->mss_tso_factor is not necessarily the right value for a given SKB. Will fix this up next. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 26 Aug, 2004 1 commit
-
-
Stephen Hemminger authored
This patch gets rid of the tcp_default_win_scale sysctl and instead computes the optimum maximum window scale. It just means one less thing to have to tune. I also moved the code out of the inline because it gets called three places and isn't in the critical path. As a side effect, it will cause a smaller window scale for many people since the default tcp_rmem fits in a win_scale of 2. This is allows for finer grain windows (good), but may mask some of the problems with bad implementations we have already seen (bad). Signed-off-by:
Stephen Hemminger <shemminger@osdl.org> Signed-off-by:
David S. Miller <davem@redhat.com>
-
- 22 Jul, 2004 1 commit
-
-
David S. Miller authored
Signed-off-by:
David S. Miller <davem@redhat.com>
-
- 08 Jul, 2004 1 commit
-
-
Hideaki Yoshifuji authored
Signed-off-by:
Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
-
- 07 Jul, 2004 1 commit
-
-
John Heffner authored
Signed-off-by:
John Heffner <jheffner@psc.edu> Signed-off-by:
David S. Miller <davem@redhat.com>
-
- 01 Jul, 2004 1 commit
-
-
Stephen Hemminger authored
Current 2.6.7 tree acts as if it is alway under memory pressure because a recent change did a s/tcp_memory_pressure/tcp_prot.memory_pressure/. The problem is tcp_prot.memory_pressure is a pointer, so it is always non-zero! Rather than using *tcp_prot.memory_pressure, just go back to looking at tcp_memory_pressure. Signed-off-by:
Stephen Hemminger <shemminger@osdl.org> Signed-off-by:
David S. Miller <davem@redhat.com>
-
- 23 Jun, 2004 1 commit
-
-
Arnaldo Carvalho de Melo authored
Only new requirement was to add a max_header field to struct sock sk_prot member. Signed-off-by:
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-
- 22 Jun, 2004 2 commits
-
-
Arnaldo Carvalho de Melo authored
Signed-off-by:
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-
Arnaldo Carvalho de Melo authored
The poor cousins also need this, LLC will be the first to use it. Signed-off-by:
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-