summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_usrreq.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix all areas of the system (or at least all those in LINT) to avoid storingwollman1997-08-161-17/+14
| | | | | | | | socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family.
* Removed unused #includes.bde1997-08-021-6/+1
|
* The long-awaited mega-massive-network-code- cleanup. Part I.wollman1997-04-271-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | This commit includes the following changes: 1) Old-style (pr_usrreq()) protocols are no longer supported, the compatibility glue for them is deleted, and the kernel will panic on boot if any are compiled in. 2) Certain protocol entry points are modified to take a process structure, so they they can easily tell whether or not it is possible to sleep, and also to access credentials. 3) SS_PRIV is no more, and with it goes the SO_PRIVSTATE setsockopt() call. Protocols should use the process pointer they are now passed. 4) The PF_LOCAL and PF_ROUTE families have been updated to use the new style, as has the `raw' skeleton family. 5) PF_LOCAL sockets now obey the process's umask when creating a socket in the filesystem. As a result, LINT is now broken. I'm hoping that some enterprising hacker with a bit more time will either make the broken bits work (should be easy for netipx) or dike them out.
* Fix potential crash where a user attempts to perform an impliedwollman1997-02-211-1/+14
| | | | | | | | connect in TCP while sending urgent data. It is not clear what purpose is served by doing this, but there's no good reason why it shouldn't work. Submitted by: tjevans@raleigh.ibm.com via wpaul
* Convert raw IP from mondo-switch-statement-from-Hell towollman1997-02-181-55/+6
| | | | | | | | | pr_usrreqs. Collapse duplicates with udp_usrreq.c and tcp_usrreq.c (calling the generic routines in uipc_socket2.c and in_pcb.c). Calling sockaddr()_ or peeraddr() on a detached socket now traps, rather than harmlessly returning an error; this should never happen. Allow the raw IP buffer sizes to be controlled via sysctl.
* Fix the mechanism for choosing wehether to save the slow-start thresholdwollman1997-02-141-317/+0
| | | | | | | | | | in the route. This allows us to remove the unconditional setting of the pipesize in the route, which should mean that SO_SNDBUF and SO_RCVBUF should actually work again. While we're at it: - Convert udp_usrreq from `mondo switch statement from Hell' to new-style. - Delete old TCP mondo switch statement from Hell, which had previously been diked out.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Improved in_pcblookuphash() to support wildcarding, and changed relaventdg1996-10-071-2/+2
| | | | | | | | | | 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
* Make the misnamed tcp initial keepalive timer value (which is really thepst1996-09-131-2/+2
| | | | | | | | 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.]
* Fixed two bugs in previous commit: be sure to include tcp_debug.h whendg1996-07-121-2/+2
| | | | TCPDEBUG is defined, and fix typo in TCPDEBUG2() macro.
* Modify the kernel to use the new pr_usrreqs interface rather than the oldwollman1996-07-111-1/+428
| | | | | | | | | | | | | | pr_usrreq mechanism which was poorly designed and error-prone. This commit renames pr_usrreq to pr_ousrreq so that old code which depended on it would break in an obvious manner. This commit also implements the new interface for TCP, although the old function is left as an example (#ifdef'ed out). This commit ALSO fixes a longstanding bug in the TCP timer processing (introduced by davidg on 1995/04/12) which caused timer processing on a TCB to always stop after a single timer had expired (because it misinterpreted the return value from tcp_usrreq() to indicate that the TCB had been deleted). Finally, some code related to polling has been deleted from if.c because it is not relevant t -current and doesn't look at all like my current code.
* Move or add #include <queue.h> in preparation for upcoming struct socketdg1996-03-111-1/+2
| | | | changes.
* Removed unnecessary #includes of vm stuff. Most of them were oncebde1995-12-061-2/+1
| | | | | | | prerequisites for <sys/sysctl.h>. subr_prof.c: Also replaced #include of <sys/user.h> by #include of <sys/resourcevar.h>.
* New style sysctl & staticize alot of stuff.phk1995-11-141-53/+11
|
* Start adding new style sysctl here too.phk1995-11-091-2/+6
|
* Fix a logical error in T/TCP: when we actively open a connection, weolah1995-11-031-1/+20
| | | | | | | | | | have to decide whether to send a CC or CCnew option in our SYN segment depending on the contents of our TAO cache. This decision has to be made once when the connection starts. The earlier code delayed this decision until the segment was assembled in tcp_output() and retransmitted SYN segments could have different CC options. Reviewed by: Richard Stevens, davidg, wollman
* Start the 2MSL timer when the socket is closed and the TCP connection isolah1995-10-291-2/+6
| | | | | | | | | in the FIN_WAIT_2 state in order to prevent the conn. hanging there forever. Reviewed by: davidg, olah Submitted by: Arne Henrik Juul <arnej@imf.unit.no> Obtained from: bugs@netbsd.org
* Don't leak mbufs in an unusual error case in tcp_usrreq().wollman1995-09-131-2/+14
| | | | | Reviewed by: Andras Olah <olah@freebsd.org> Obtained from: Lite-2
* Merge RELENG_2_0_5 into HEADrgrimes1995-06-111-1/+3
|
* Remove trailing whitespace.rgrimes1995-05-301-4/+4
|
* Implemented PCB hashing. Includes new functions in_pcbinshash, in_pcbrehash,dg1995-04-091-4/+5
| | | | and in_pcblookuphash.
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-161-6/+4
| | | | | | (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.
* Include missing <sys/kernel.h> for `hz'.wollman1995-02-171-1/+2
| | | | Submitted by: David Greenman, Rod Grimes, Christoph Kukulies
* Correctly initialize so_linger in ticks (not seconds).wollman1995-02-161-3/+3
| | | | Obtained from: Stevens, vol. 2, p. 1010
* Transaction TCP support now standard. Hack away!wollman1995-02-161-48/+0
|
* Add lots of useful MIB variables and a few not-so-useful ones forwollman1995-02-161-9/+22
| | | | completeness.
* Merge Transaction TCP, courtesy of Andras Olah <olah@cs.utwente.nl> andwollman1995-02-091-2/+199
| | | | | | | | | 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).
* Fix PR 59: don't allow TCP connections withmulticast addresses at eitherwollman1994-12-151-1/+22
| | | | end.
* Made TCPDEBUG truely optional. Based on changes I made in FreeBSD 1.1.5.dg1994-09-151-1/+5
| | | | | Fixed somebody's idea of a joke - about the first half of the lines in in_proto.c were spaced over by one space.
* Added $Id$dg1994-08-021-0/+1
|
* Increased tcp_send/recvspace to 16k, and added TCP_SMALLSPACE ifdefdg1994-05-291-2/+12
| | | | to set it to 4k.
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-251-1/+1
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+517
OpenPOWER on IntegriCloud