summaryrefslogtreecommitdiffstats
path: root/sys/netinet/in_proto.c
Commit message (Collapse)AuthorAgeFilesLines
* Throw options IPX, IPXIP and IPTUNNEL into opt_ipx.h.eivind1997-12-151-1/+2
| | | | | | | | The #ifdef IPXIP in netipx/ipx_if.h is OK (used from ipx_usrreq.c and ifconfig.c only). I also fixed a typo IPXTUNNEL -> IPTUNNEL (and #ifdef'ed out the code inside, as it never could have compiled - doh.)
* Make IPDIVERT a supported option. Alas, in_var.h depends on it, ijoerg1997-11-051-1/+3
| | | | | | hope i've found out all files that actually depend on this dependancy. IMHO, it's not very good practice to change the size of internal structs depending on kernel options.
* Removed unused #includes.bde1997-10-281-15/+1
|
* Make TCPDEBUG a new-style option.joerg1997-09-161-1/+3
|
* Fixed gratuitous ANSIisms.bde1997-09-161-2/+2
|
* Connect the ipdivert div_usrreqs struct to the ip proto switch tablepeter1997-05-251-2/+3
|
* The long-awaited mega-massive-network-code- cleanup. Part I.wollman1997-04-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Convert raw IP from mondo-switch-statement-from-Hell towollman1997-02-181-10/+20
| | | | | | | | | 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-2/+3
| | | | | | | | | | 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.
* Provide PRC_IFDOWN and PRC_IFUP support for IP. Now, when an interfacewollman1997-02-131-1/+1
| | | | | | | | is administratively downed, all routes to that interface (including the interface route itself) which are not static will be deleted. When it comes back up, and addresses remaining will have their interface routes re-added. This solves the problem where, for example, an Ethernet interface is downed by traffic continues to flow by way of ARP entries.
* Add IP Filter hooks (from patches).darrenr1997-02-101-0/+6
|
* 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.
* Modify the kernel to use the new pr_usrreqs interface rather than the oldwollman1996-07-111-3/+4
| | | | | | | | | | | | | | 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.
* Adding changes to ipfw and the kernel to support ip packet diversion..julian1996-07-101-1/+11
| | | | | | This stuff should not be too destructive if the IPDIVERT is not compiled in.. be aware that this changes the size of the ip_fw struct so ipfw needs to be recompiled to use it.. more changes coming to clean this up.
* Remove one last rip_output from inetsw (gpalmer missed it in rev 1.30)fenner1996-06-201-2/+2
|
* Remove useless entries from the inetsw structure initiliser whichgpalmer1996-05-081-8/+8
| | | | | | only produced compile-time warnings. Reviewed/Tested by: Bill Fenner <fenner@parc.xerox.com>
* Delete #if 0 block containing unused definitions for ARPANET/DDN IMPwollman1996-04-261-47/+1
| | | | and HYPERchannel link layers.
* Fix a warning by not referencing ip_output() as a pr_output() member.wollman1996-04-181-2/+2
|
* Make rip_input() take the header lengthfenner1996-03-261-4/+1
| | | | | | Move ipip_input() and rsvp_input() prototypes to ip_var.h Remove unused prototype for rip_ip_input() from ip_var.h Remove unused variable *opts from rip_output()
* Move or add #include <queue.h> in preparation for upcoming struct socketdg1996-03-111-2/+2
| | | | changes.
* #if out unsupported IMP code.wollman1996-02-081-1/+3
|
* in_proto.c: spell ``Internet'' right and put whitespace after commas.wollman1995-12-201-7/+8
| | | | | | | | others: start to populate the link-layer branch of the net mib, by moving ARP to its proper place. (ARP is not a protocol family, it's an interface layer between a medium-access layer and a protocol family.) sysctl(8) needs to be taught about the structure of this branch, unless Poul-Henning implements dynamic MIB exploration soon.
* Completed function declarations and/or added prototypes.bde1995-12-021-3/+5
|
* fix #includes & warnings.phk1995-11-201-2/+3
|
* New style sysctl & staticize alot of stuff.phk1995-11-141-7/+6
|
* Start adding new style sysctl here too.phk1995-11-091-1/+10
|
* Reviewed by: julian and jhay@mikom.csir.co.zajulian1995-10-261-1/+12
| | | | | | | | | | | | | | | | | | | | | Submitted by: Mike Mitchell, supervisor@alb.asctmd.com This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on.. Mikes been using it for a year or so but on 2.0 more changes and stuff will be merged in from other developers now that this is in. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com
* Merge 4.4-Lite-2: update some declarations that we don't support anyway.wollman1995-09-211-4/+4
| | | | Obtained from: 4.4BSD-Lite-2
* Corrected a bug that caused protocol-4 tunnels (used for multicastwollman1995-06-261-2/+2
| | | | | | forwarding between networks that aren't directly connected) not to work by intercepting the wrong protocol number. This should fix a bug reported previously by someone I don't remember.
* Kernel side of 3.5 multicast routing code, based on work by Bill Fennerwollman1995-06-131-4/+5
| | | | | and other work done here. The LKM support is probably broken, but it still compiles and will be fixed later.
* Remove trailing whitespace.rgrimes1995-05-301-2/+2
|
* Make networking domains drop-ins, through the magic of GNU ld. (Some day,wollman1995-05-111-2/+10
| | | | | | there may even be LKMs.) Also, change the internal name of `unixdomain' to `localdomain' since AF_LOCAL is now the preferred name of this family. Declare netisr correctly and in the right place.
* Implemented PCB hashing. Includes new functions in_pcbinshash, in_pcbrehash,dg1995-04-091-1/+2
| | | | and in_pcblookuphash.
* Transaction TCP support now standard. Hack away!wollman1995-02-161-6/+2
|
* Merge Transaction TCP, courtesy of Andras Olah <olah@cs.utwente.nl> andwollman1995-02-091-5/+2
| | | | | | | | | 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).
* Fixed another TTCP ifdef problem...there isn't any tcp_sysctl field indg1995-02-091-3/+6
| | | | !TTCP.
* T/TCP changes to generic IP code. This is all ifdefed TTCP so shouldwollman1995-02-081-2/+7
| | | | | have no effect on most users for now. (Eventually, once this code is fully tested, the ifdefs will go away.)
* Advanced route cache management is now an official part of IP support.wollman1994-12-111-7/+1
|
* Add code to be a bit smarter about IP routes, conditioned on the optionwollman1994-11-021-2/+11
| | | | | IN_RMX. (Eventually this will be standard, but I just wrote the code today and don't want to break anyone.)
* Made TCPDEBUG truely optional. Based on changes I made in FreeBSD 1.1.5.dg1994-09-151-121/+123
| | | | | Fixed somebody's idea of a joke - about the first half of the lines in in_proto.c were spaced over by one space.
* Shuffle some functions and variables around to make it possible forwollman1994-09-141-6/+2
| | | | | multicast routing to be implemented as an LKM. (There's still a bit of work to do in this area.)
* Initial get-the-easy-case-working upgrade of the multicast codewollman1994-09-061-106/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to something more recent than the ancient 1.2 release contained in 4.4. This code has the following advantages as compared to previous versions (culled from the README file for the SunOS release): - True multicast delivery - Configurable rate-limiting of forwarded multicast traffic on each physical interface or tunnel, using a token-bucket limiter. - Simplistic classification of packets for prioritized dropping. - Administrative scoping of multicast address ranges. - Faster detection of hosts leaving groups. - Support for multicast traceroute (code not yet available). - Support for RSVP, the Resource Reservation Protocol. What still needs to be done: - The multicast forwarder needs testing. - The multicast routing daemon needs to be ported. - Network interface drivers need to have the `#ifdef MULTICAST' goop ripped out of them. - The IGMP code should probably be bogon-tested. Some notes about the porting process: In some cases, the Berkeley people decided to incorporate functionality from later releases of the multicast code, but then had to do things differently. As a result, if you look at Deering's patches, and then look at our code, it is not always obvious whether the patch even applies. Let the reader beware. I ran ip_mroute.c through several passes of `unifdef' to get rid of useless grot, and to permanently enable the RSVP support, which we will include as standard. Ported by: Garrett Wollman Submitted by: Steve Deering and Ajit Thyagarajan (among others)
* Added $Id$dg1994-08-021-0/+1
|
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-251-0/+2
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+183
OpenPOWER on IntegriCloud