| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
'RELENG_2_2_1_RELEASE'.
This commit was manufactured to restore the state of the 2.2.1-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
|
|
|
|
| |
Notes:
svn path=/stable/2.2/; revision=19661
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
Notes:
svn path=/head/; revision=18874
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=18795
|
|
|
|
|
|
|
|
|
|
| |
denial of service attacks.
Reviewed by: bde,wollman,olah
Inspired by: vjs@sgi.com
Notes:
svn path=/head/; revision=18787
|
|
|
|
|
|
|
|
|
| |
this evening.
I think I'm going insane.
Notes:
svn path=/head/; revision=18437
|
|
|
|
| |
Notes:
svn path=/head/; revision=18436
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
Notes:
svn path=/head/; revision=18431
|
|
|
|
|
|
|
|
|
|
|
| |
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.]
Notes:
svn path=/head/; revision=18280
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=18278
|
|
|
|
| |
Notes:
svn path=/head/; revision=15525
|
|
|
|
|
|
|
| |
to store "192.252.119.189\0".
Notes:
svn path=/head/; revision=15524
|
|
|
|
|
|
|
| |
Thanx to: jdp
Notes:
svn path=/head/; revision=15414
|
|
|
|
|
|
|
| |
Requested by: davidg
Notes:
svn path=/head/; revision=15396
|
|
|
|
|
|
|
|
|
| |
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. (!)
Notes:
svn path=/head/; revision=15154
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
Notes:
svn path=/head/; revision=15038
|
|
|
|
| |
Notes:
svn path=/head/; revision=14819
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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''
Notes:
svn path=/head/; revision=14753
|
|
|
|
|
|
|
| |
changes.
Notes:
svn path=/head/; revision=14546
|
|
|
|
|
|
|
|
|
| |
the tcpstat structure. (netstat -s)
Reviewed by: wollman
Obtained from: Steves, TCP/IP Ill. vol.3, page 189
Notes:
svn path=/head/; revision=14268
|
|
|
|
|
|
|
|
|
|
| |
discover the Path MTU for each connection if the connecting host didn't
offer an initial MSS.
Submitted by: davidg & olah
Notes:
svn path=/head/; revision=14181
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
Notes:
svn path=/head/; revision=13779
|
|
|
|
| |
Notes:
svn path=/head/; revision=12820
|
|
|
|
| |
Notes:
svn path=/head/; revision=12296
|
|
|
|
| |
Notes:
svn path=/head/; revision=12172
|
|
|
|
|
|
|
|
|
|
|
| |
- remove a redundant condition;
- complete all validity checks on segment before calling
soisconnected(so).
Reviewed by: Richard Stevens, davidg, wollman
Notes:
svn path=/head/; revision=12047
|
|
|
|
|
|
|
|
|
| |
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.)
Notes:
svn path=/head/; revision=11458
|
|
|
|
|
|
|
| |
to make ISS-guessing spoofing attacks harder.
Notes:
svn path=/head/; revision=11150
|
|
|
|
|
|
|
|
|
| |
Correct a typo in a comment (SEND_SYN -> NEEDSYN).
Reviewed by: David Greenman
Notes:
svn path=/head/; revision=9818
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=9470
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=9373
|
|
|
|
| |
Notes:
svn path=/head/; revision=8876
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=8429
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
Notes:
svn path=/head/; revision=8377
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=8235
|
|
|
|
|
|
|
| |
set when ti_len is non-zero.
Notes:
svn path=/head/; revision=7738
|
|
|
|
|
|
|
|
| |
tcp_output to loop endlessly. This was freefall's problem during the past
day.
Notes:
svn path=/head/; revision=7737
|
|
|
|
|
|
|
| |
and in_pcblookuphash.
Notes:
svn path=/head/; revision=7684
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=7634
|
|
|
|
|
|
|
|
| |
differs slightly in the logic from the previous version; packets are now
acked immediately if the sender set PUSH.
Notes:
svn path=/head/; revision=7417
|
|
|
|
|
|
|
|
|
| |
(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.
Notes:
svn path=/head/; revision=7090
|
|
|
|
|
|
|
|
|
| |
code.
Obtained from: Stevens, vol. 2, pp. 959-960
Notes:
svn path=/head/; revision=6480
|
|
|
|
| |
Notes:
svn path=/head/; revision=6475
|
|
|
|
| |
Notes:
svn path=/head/; revision=6363
|
|
|
|
|
|
|
| |
bogus commons declared in header files.
Notes:
svn path=/head/; revision=6348
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
Notes:
svn path=/head/; revision=6283
|
|
|
|
|
|
|
|
|
| |
size'' when doing congestion avoidance.
Submitted by: Mark Andrews
Notes:
svn path=/head/; revision=3561
|
|
|
|
|
|
|
|
|
| |
Reviewed by:
Submitted by:
Obtained from:
Notes:
svn path=/head/; revision=3311
|
|
|
|
|
|
|
|
| |
Fixed somebody's idea of a joke - about the first half of the lines in
in_proto.c were spaced over by one space.
Notes:
svn path=/head/; revision=2788
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
Notes:
svn path=/head/; revision=2304
|