summaryrefslogtreecommitdiffstats
path: root/sys/netinet
Commit message (Collapse)AuthorAgeFilesLines
* Some days, it just doesn't pay to get out of bed. Fix another brokenwollman1996-12-151-2/+2
| | | | | | reference to the now-dead-for-real-this-time ia_next field. Reminded by: Russell Vincent
* Somehow the removal of ia_next didn't make it in the last time. Hopewollman1996-12-151-2/+1
| | | | | it makes it in this time, and remember not to commit changes next time late on a Friday evening!
* Attempt to complete the fix in the previous revision. This versionbde1996-12-151-2/+2
| | | | fixes the problem reported by max.
* Missing TAILQ mod.dyson1996-12-141-2/+2
|
* Convert the interface address and IP interface address structureswollman1996-12-138-91/+70
| | | | | | to TAILQs. Fix places which referenced these for no good reason that I can see (the references remain, but were fixed to compile again; they are still questionable).
* Use queue macros for the list of interfaces. Next stop: ifaddrs!wollman1996-12-111-3/+3
|
* Include <net/if_arp.h> in the one header that requires it,wollman1996-12-111-1/+2
| | | | | | | <netinet/if_ether.h>, rather than in <net/if.h>, most of whose callers have no need of it. Pointed-out-by: bde
* Only pay attention to the offset and the IP_MF flag in ip_off. Pointeddg1996-12-111-2/+2
| | | | out by Nathaniel D. Daw (daw@panix.com), but fixed differently by me.
* Allocate a header mbuf for the start of the encapsulated packet.fenner1996-11-231-3/+3
| | | | | | | | The rest of the code was treating it as a header mbuf, but it was allocated as a normal mbuf. This fixes the panic: ip_output no HDR when you have a multicast tunnel configured.
* Reword two messages:fenner1996-11-151-5/+6
| | | | | | | | | | | | | | | duplicate ip address 204.162.228.7! sent from ethernet address: 08:00:20:09:7b:1d changed to arp: 08:00:20:09:7b:1d is using my IP address 204.162.228.7! and arp info overwritten for 204.162.228.2 by 08:00:20:09:7b:1d changed to arp: 204.162.228.2 moved from 08:00:20:07:b6:a0 to 08:00:20:09:7b:1d I think the new wordings are more clear and could save some support questions.
* Forward-declare `struct inpcb' so that including this file doesn't causebde1996-11-121-1/+2
| | | | | | lots of warnings. Should be in 2.2. Previous version shouldn't have been in 2.2.
* Add the IP_RECVIF socket option, which supplies a packet's incoming interfacefenner1996-11-117-110/+126
| | | | | | | | using a sockaddr_dl. Fix the other packet-information socket options (SO_TIMESTAMP, IP_RECVDSTADDR) to work for multicast UDP and raw sockets as well. (They previously only worked for unicast UDP).
* Re-enable the TCP SYN-attack protection code. I was the one who didn'tfenner1996-11-102-6/+2
| | | | | | understand the socket state flag. 2.2 candidate.
* Fix braino on my part. When we have three different port ranges (default,peter1996-10-302-3/+8
| | | | | | | "high" and "secure"), we can't use a single variable to track the most recently used port in all three ranges.. :-] This caused the next transient port to be allocated from the start of the range more often than it should.
* Don't allow reassembly to create packets bigger than IP_MAXPACKET, and countfenner1996-10-255-8/+32
| | | | | | | | | attempts to do so. Don't allow users to source packets bigger than IP_MAXPACKET. Make UDP length and ipovly's protocol length unsigned short. Reviewed by: wollman Submitted by: (partly by) kml@nas.nasa.gov (Kevin Lahey)
* Give ip_len and ip_off more natural, unsigned types.wollman1996-10-232-6/+6
|
* Changed args to the nat functions.sos1996-10-223-6/+6
|
* Reword two comments.alex1996-10-191-3/+3
|
* Forward-declared `struct route' for the KERNEL case so that <net/route.h>bde1996-10-151-5/+7
| | | | | | isn't a prerequisite. Fixed style of ifdefs.
* Removed nested include if <sys/socket.h> from <net/if.h> andbde1996-10-122-2/+4
| | | | | | | <net/if_arp.h> and fixed the things that depended on it. The nested include just allowed unportable programs to compile and made my simple #include checking program report that networking code doesn't need to include <sys/socket.h>.
* Log the interface name which received the packet.alex1996-10-121-8/+9
| | | | Suggested by: Hal Snyder <hsndyer@thoughtport.com>
* Fix two bugs I accidently put into the syn code at the last minutepst1996-10-112-10/+18
| | | | | | | | | | (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
* All three files: make COMPAT_IPFW==0 case work again.wollman1996-10-073-30/+46
| | | | | | | ip_input.c: - delete some dusty code - _IP_VHL - use fast inline header checksum when possible
* Improved in_pcblookuphash() to support wildcarding, and changed relaventdg1996-10-076-67/+60
| | | | | | | | | | 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
* Increase robustness of FreeBSD against high-rate connection attemptpst1996-10-072-26/+46
| | | | | | | denial of service attacks. Reviewed by: bde,wollman,olah Inspired by: vjs@sgi.com
* I don't understand, I committed this fix (move a counter and fixed a typo)pst1996-09-212-8/+6
| | | | | | this evening. I think I'm going insane.
* Syntax error: so_incom -> so_incompache1996-09-212-4/+4
|
* If the incomplete listen queue for a given socket is full,pst1996-09-202-10/+36
| | | | | | | | | | | | | | | | | 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).
* Handle ICMP codes defined in RFC1812 more appropriatelypst1996-09-201-1/+7
|
* Move TCPCTL_KEEPINIT to end of MIB list (sigh)pst1996-09-131-4/+4
|
* Make the misnamed tcp initial keepalive timer value (which is really thepst1996-09-136-14/+21
| | | | | | | | 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.]
* Receipt of two SYN's are sufficient to set the t_timer[TCPT_KEEP]pst1996-09-132-12/+24
| | | | | | | | 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
* Set subnetsarelocal to false. In a classless world, the other casewollman1996-09-091-2/+2
| | | | | is almost never useful. (This is only a quick hack; someone should go back and delete the entire subnetsarelocal==1 code path.)
* Dequeue mbuf before freeing it. Fixes mbuf leak and a potential crash whendg1996-09-081-2/+5
| | | | | | handling IP fragments. Submitted by: Darren Reed <avalon@coombs.anu.edu.au>
* Fix the visibility of the sysctl variables.alex1996-08-311-5/+5
| | | | Submitted by: phk
* Oops, send the operation type, not the name to the NAT code...sos1996-08-271-2/+2
|
* Mark sockets where the kernel chose the port# for.phk1996-08-232-2/+5
| | | | This can be used by netstat to behave more intelligently.
* Add hooks for an IP NAT module, much like the firewall stuff...sos1996-08-215-23/+60
| | | | | Move the sockopt definitions for the firewall code from ip_fw.h to in.h where it belongs.
* Add #define's for RFC1716/RFC1812 new ICMP UNREACHABLE types.fenner1996-08-201-1/+4
| | | | Obtained from: LBL's tcpdump distribution
* Completely rewrite handling of protocol field for firewalls, things arepst1996-08-132-98/+45
| | | | | | | now completely consistent across all IP protocols and should be quite a bit faster. Discussed with: fenner & alex
* Add two more portrange sysctls, which control the area of the belowpeter1996-08-122-17/+52
| | | | | | | | IPPORT_RESERVED that is used for selection when bind() is told to allocate a reserved port. Also, implement simple sanity checking for all the addresses set, to make it a little harder for a user/sysadmin to shoot themselves in the feet.
* Megacommit to straigthen out ETHER_ mess.phk1996-08-061-31/+17
| | | | | I'm pretty convinced after looking at this that the majority of our drivers are confused about the in/exclusion of ETHER_CRC_LEN :-(
* Filter by IP protocol.alex1996-08-051-21/+36
| | | | | | | Submitted by: fenner (with modifications by me) Use a common prefix string for all warning messages generated during ip_fw_ctl.
* Eliminate some more references to separate ip_v and ip_hl fields.wollman1996-07-245-16/+28
|
* Removed extraneous return.alex1996-07-201-2/+1
|
* Switch back to logging accepted packets with the text "Allow" insteadalex1996-07-141-2/+2
| | | | of "Accept"
* Fixed two bugs in previous commit: be sure to include tcp_debug.h whendg1996-07-122-3/+6
| | | | TCPDEBUG is defined, and fix typo in TCPDEBUG2() macro.
* Fix braino in rev 1.30 fix; m_copy() the mbuf that has the headerfenner1996-07-121-2/+2
| | | | | | pulled up already. This bug can cause the first packet from a source to a group to be corrupted when it is delivered to a process listening on the mrouter.
* Don't use NULL in non-pointer contexts.bde1996-07-121-2/+2
|
* Modify the kernel to use the new pr_usrreqs interface rather than the oldwollman1996-07-114-11/+450
| | | | | | | | | | | | | | 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.
OpenPOWER on IntegriCloud