| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
understand the socket state flag.
2.2 candidate.
|
|
|
|
|
|
|
|
|
|
| |
(yes I had tested the hell out of this).
I've also temporarily disabled the code so that it behaves as it previously
did (tail drop's the syns) pending discussion with fenner about some socket
state flags that I don't fully understand.
Submitted by: fenner
|
|
|
|
|
|
|
|
|
|
| |
callers of it to take advantage of this. This reduces new connection
request overhead in the face of a large number of PCBs in the system.
Thanks to David Filo <filo@yahoo.com> for suggesting this and providing
a sample implementation (which wasn't used, but showed that it could be
done).
Reviewed by: wollman
|
|
|
|
|
|
|
| |
denial of service attacks.
Reviewed by: bde,wollman,olah
Inspired by: vjs@sgi.com
|
|
|
|
|
|
| |
this evening.
I think I'm going insane.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
drop the oldest entry in the queue.
There was a fair bit of discussion as to whether or not the
proper action is to drop a random entry in the queue. It's
my conclusion that a random drop is better than a head drop,
however profiling this section of code (done by John Capo)
shows that a head-drop results in a significant performance
increase.
There are scenarios where a random drop is more appropriate.
If I find one in reality, I'll add the random drop code under
a conditional.
Obtained from: discussions and code done by Vernon Schryver (vjs@sgi.com).
|
|
|
|
|
|
|
|
| |
time, in seconds, that state for non-established TCP sessions stays about)
a sysctl modifyable variable.
[part 1 of two commits, I just realized I can't play with the indices as
I was typing this commit message.]
|
|
|
|
|
|
|
|
| |
to "keepidle". this should not occur unless the connection has
been established via the 3-way handshake which requires an ACK
Submitted by: jmb
Obtained from: problem discussed in Stevens vol. 3
|
| |
|
|
|
|
| |
to store "192.252.119.189\0".
|
|
|
|
| |
Thanx to: jdp
|
|
|
|
| |
Requested by: davidg
|
|
|
|
|
|
| |
It's trivial to create a denial of service attack on a box so enabled.
These messages, if enabled at all, must be rate-limited. (!)
|
|
|
|
|
|
|
|
|
| |
Controlled by: sysctl net.inet.tcp.log_in_vain: 1
Log UDP syn packets for ports we don't listen on.
Controlled by: sysctl net.inet.udp.log_in_vain: 1
Suggested by: Warren Toomey <wkt@cs.adfa.oz.au>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from Larry Peterson &co. at Arizona:
- Header prediction for ACKs did not exclude Fast Retransmit/Recovery.
- srtt calculation tended to get ``stuck'' and could never decrease
when below 8. It still can't, but the scaling factors are adjusted
so that this artifact does not cause as bad an effect on the RTO
value as it used to.
The paper also points out the incr/8 error that has been long since fixed,
and the problems with ACKing frequency resulting from the use of options
which I suspect to be fixed already as well (as part of the T/TCP work).
Obtained from: Brakmo & Peterson, ``Performance Problems in BSD4.4 TCP''
|
|
|
|
| |
changes.
|
|
|
|
|
|
| |
the tcpstat structure. (netstat -s)
Reviewed by: wollman
Obtained from: Steves, TCP/IP Ill. vol.3, page 189
|
|
|
|
|
|
|
| |
discover the Path MTU for each connection if the connecting host didn't
offer an initial MSS.
Submitted by: davidg & olah
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when a connection enters the ESTBLS state using T/TCP, then window
scaling wasn't properly handled. The fix is twofold.
1) When the 3WHS completes, make sure that we update our window
scaling state variables.
2) When setting the `virtual advertized window', then make sure
that we do not try to offer a window that is larger than the maximum
window without scaling (TCP_MAXWIN).
Reviewed by: davidg
Reported by: Jerry Chen <chen@Ipsilon.COM>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- remove a redundant condition;
- complete all validity checks on segment before calling
soisconnected(so).
Reviewed by: Richard Stevens, davidg, wollman
|
|
|
|
|
|
| |
capacity of the link, even if the route's MTU indicates that we cannot
send that much in their direction. (This might actually make it possible
to test Path MTU discovery in a useful variety of cases.)
|
|
|
|
| |
to make ISS-guessing spoofing attacks harder.
|
|
|
|
|
|
| |
Correct a typo in a comment (SEND_SYN -> NEEDSYN).
Reviewed by: David Greenman
|
|
|
|
|
|
|
|
|
| |
or ssthresh that we were able to use
tcp_var.h - declare tcpstat entries for above; declare tcp_{send,recv}space
in_rmx.c - fill in the MTU and pipe sizes with the defaults TCP would have
used anyway in the absence of values here
|
|
|
|
|
|
| |
know better when to cache values in the route, rather than relying on a
heuristic involving sequence numbers that broke when tcp_sendspace
was increased to 16k.
|
| |
|
|
|
|
|
|
|
|
| |
currently considering reducing the TCP fasttimo to 100ms to help improve
things, but this would be done as a seperate step at some point in the
future.
This was done because it was causing some sometimes serious performance
problems with T/TCP.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Tue, 09 May 1995 04:35:27 PDT, Richard Stevens wrote:
> In tcp_dooptions() under the case TCPOPT_CC there is an assignment
>
> to->to_flag |= TCPOPT_CC;
>
> that should be
>
> to->to_flag |= TOF_CC;
>
> I haven't thought through the ramifications of what's been happening ...
>
> Rich Stevens
Submitted by: rstevens@noao.edu (Richard Stevens)
|
|
|
|
|
|
| |
the lookup fails. Updated callers to deal with this. Call in_pcblookuphash
instead of in_pcblookup() in in_pcbconnect; this improves performance of
UDP output by about 17% in the standard case.
|
|
|
|
| |
set when ti_len is non-zero.
|
|
|
|
|
| |
tcp_output to loop endlessly. This was freefall's problem during the past
day.
|
|
|
|
| |
and in_pcblookuphash.
|
|
|
|
|
|
|
| |
If a goto findpcb occurred during the processing of a segment, the TCP and
IP headers were dropped twice from the mbuf which resulted in data acked
by TCP but not delivered to the user.
Reviewed by: davidg
|
|
|
|
|
| |
differs slightly in the logic from the previous version; packets are now
acked immediately if the sender set PUSH.
|
|
|
|
|
|
| |
(except in netccitt, netiso and netns) and most of the warnings from
`gcc -Wnested-externs'. Fix all the bugs found. There were no serious
ones.
|
|
|
|
|
|
| |
code.
Obtained from: Stevens, vol. 2, pp. 959-960
|
| |
|
| |
|
|
|
|
| |
bogus commons declared in header files.
|
|
|
|
|
|
|
|
|
| |
Bob Braden <braden@isi.edu>.
NB: This has not had David's TCP ACK hack re-integrated. It is not clear
what the correct solution to this problem is, if any. If a better solution
doesn't pop up in response to this message, I'll put David's code back in
(or he's welcome to do so himself).
|
|
|
|
|
|
| |
size'' when doing congestion avoidance.
Submitted by: Mark Andrews
|
|
|
|
|
|
| |
Reviewed by:
Submitted by:
Obtained from:
|
|
|
|
|
| |
Fixed somebody's idea of a joke - about the first half of the lines in
in_proto.c were spaced over by one space.
|
|
|
|
|
|
|
|
|
| |
Several examples of connection initiation follow. Although these
examples do not show connection synchronization using data-carrying
segments, this is perfectly legitimate, so long as the receiving TCP
doesn't deliver the data to the user until it is clear the data is
valid (i.e., the data must be buffered at the receiver until the
connection reaches the ESTABLISHED state).
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Delete redundant declarations.
- Add -Wredundant-declarations to Makefile.i386 so they don't come back.
- Delete sloppy COMMON-style declarations of uninitialized data in
header files.
- Add a few prototypes.
- Clean up warnings resulting from the above.
NB: ioconf.c will still generate a redundant-declaration warning, which
is unavoidable unless somebody volunteers to make `config' smarter.
|