Garrett Wollman
9167720192
Now that we've gone to all sorts of effort to allow TCP to cache some of
...
its connection parameters, we want to keep statistics on how often this
actually happens to see whether there is any work that needs to be done in
TCP itself.
Suggested by: John Wroclawski <jtw@lcs.mit.edu>
1995-06-19 16:45:33 +00:00
Garrett Wollman
1c5de19afb
Kernel side of 3.5 multicast routing code, based on work by Bill Fenner
...
and other work done here. The LKM support is probably broken, but it
still compiles and will be fixed later.
1995-06-13 17:51:16 +00:00
Rodney W. Grimes
d3628763db
Merge RELENG_2_0_5 into HEAD
1995-06-11 19:33:05 +00:00
Rodney W. Grimes
9b2e535452
Remove trailing whitespace.
1995-05-30 08:16:23 +00:00
David Greenman
765b90447e
These diffs modify the behaviour of multicast clients to conform with the
...
IGMPv2 spec. This fixes the following bugs:
o ntohs() on a char provides silly results
o timer needs to be scaled to units of PR_FASTHZ; this was being done
inconsistenly so now it gets done when it is initialized.
Reviewed by: Garrett Wollman
Submitted by: Bill Fenner <fenner@parc.xerox.com>
1995-05-16 01:28:29 +00:00
Andrey A. Chernov
2f632e8fe8
Fix getsockopt(IP_ACCT_*) to not panic kernel
...
Submitted by: Bill Fenner <fenner@parc.xerox.com>
1995-05-12 20:00:21 +00:00
Rodney W. Grimes
b2b795f07c
Fix -Wformat warnings from LINT kernel.
1995-05-11 19:26:53 +00:00
David Greenman
6b067b0744
#ifdef'd my Nagel/ACK hack with "TCP_ACK_HACK", disabled by default. I'm
...
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.
1995-05-11 01:41:06 +00:00
Garrett Wollman
748e0b0acc
Make networking domains drop-ins, through the magic of GNU ld. (Some day,
...
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.
1995-05-11 00:13:26 +00:00
David Greenman
94a5d9b6a1
Replaced some bcopy()'s with memcpy()'s so that gcc while inline/optimize.
1995-05-09 13:35:48 +00:00
Andras Olah
40db8ef747
Fix a misspelled constant in tcp_input.c.
...
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)
1995-05-09 12:32:06 +00:00
Andrey A. Chernov
2ee32961f5
Add IPTOS_MINCOST according to RFC 1349
...
Change IPTOS_PREC_ROUTINE to 0 (was conflict with IPTOS_LOWDELAY) according
to RFC 791 (unchanged since it) and BSDI 2.0 style
Submitted by: Igor Sviridov <siac@ua.net>
1995-05-05 14:36:38 +00:00
David Greenman
0d7b7d3ea7
Changed in_pcblookuphash() to not automatically call in_pcblookup() if
...
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.
1995-05-03 07:16:53 +00:00
Paul Traina
f5fea3ddc9
Cleanup loopback interface support.
...
Reviewed by: wollman
1995-04-26 18:10:58 +00:00
Garrett Wollman
1067217d5d
Disallow half-configured point-to-point interfaces. It's still possible to
...
get into a half-configured state by using the old-style ioctls;this
may be a feature.
1995-04-25 19:50:20 +00:00
Andras Olah
c4575b2416
Include <sys/queue.h> because <netinet/in_pcb.h> (also included
...
later in tcp_debug.c) requires it due to the pcb changes of DavidG.
1995-04-19 10:26:04 +00:00
David Greenman
230620627b
Fixed bug I introduced when changing PCB list to use 4.4BSD style queue
...
macros. Basically, detect 'tp' going away differently.
1995-04-12 06:49:56 +00:00
David Greenman
d79940da0a
Further satisfy my paranoia by making sure that the ACKNOW is only
...
set when ti_len is non-zero.
1995-04-10 17:37:46 +00:00
David Greenman
afa70c96dd
Fixed bug I introduced with my Nagel hack which caused tcp_input and
...
tcp_output to loop endlessly. This was freefall's problem during the past
day.
1995-04-10 17:16:10 +00:00
David Greenman
7bc4aca7f0
Added splnet protections for PCB list manipulations and traversals.
1995-04-10 08:52:45 +00:00
David Greenman
64e4231041
Backed out Jordan's #include of queue.h
1995-04-10 00:43:18 +00:00
Jordan K. Hubbard
cb7533f532
#include <sys/queue.h> or die horribly.
1995-04-09 16:46:47 +00:00
David Greenman
15bd2b4385
Implemented PCB hashing. Includes new functions in_pcbinshash, in_pcbrehash,
...
and in_pcblookuphash.
1995-04-09 01:29:31 +00:00
Andras Olah
755c1f07c8
Fix a bug in tcp_input reported by Rick Jones <raj@hpisrdq.cup.hp.com>.
...
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
1995-04-05 10:32:14 +00:00
Bruce Evans
8c62f8d80f
Remove redundant declarations.
1995-04-02 19:05:09 +00:00
Bill Paul
5f6d32c735
Add declaration for struct ether_addr (this is where Sun documents
...
it to go).
1995-04-02 01:26:26 +00:00
David Greenman
8a31826613
Backed out changes in rev 1.5 that prevent sending FIN if in CLOSING
...
state. This causes an infinite loop in some rare cases (probably caused
by some other, much more difficult to find bug).
1995-03-30 23:35:55 +00:00
David Greenman
e612a582cc
Re-apply my "breakage" to the Nagel congestion avoidence. This version
...
differs slightly in the logic from the previous version; packets are now
acked immediately if the sender set PUSH.
1995-03-27 07:12:24 +00:00
Garrett Wollman
ffa5b11ab5
in_var.h: in_multi structures now form a queue(3)-style LIST structure
...
in.c: when an interface address is deleted, keep its multicast membership
. records (attached to a struct multi_kludge) for attachment to the
. next address on the same interface. Also, in_multi structures now
. gain a reference to the ifaddr so that they won't point off into
. freed memory if an interface goes away and doesn't come back before
. the last socket reference drops. This is analogous to how it is
. done for routes, and seems to make the most sense.
1995-03-23 18:14:41 +00:00
Garrett Wollman
20e8807c09
This should be splimp() rather than splnet() since ifaddrs might go away
...
as a result of link-layer processing.
1995-03-20 18:31:51 +00:00
Garrett Wollman
9b626c29f7
Fix race conditions involved in setting IP multicast options. This should
...
fix Dennis Fortin's problem for good, if I've got it figured out right.
(The problem was that a `struct ifaddr' could get deleted out from under
the current requester, thus leaving him with an invalid interface pointer
and causing even more bogus accesses.)
1995-03-20 18:11:31 +00:00
David Greenman
edf8a81561
Removed redundant newlines that were in some panic strings.
1995-03-19 14:29:26 +00:00
Garrett Wollman
1025071f85
Reject source routes unless configured on by administrator.
1995-03-16 18:22:28 +00:00
Bruce Evans
b5e8ce9f12
Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
...
(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.
1995-03-16 18:17:34 +00:00
Garrett Wollman
ef0cdf3329
Add inet_ntoa() and replace ARP's private routine with same.
1995-03-16 17:32:27 +00:00
Garrett Wollman
d99c7a23fa
This set of patches enables IP multicasting to work under FreeBSD. I am
...
submitting them as context diffs for the following files:
sys/netinet/ip_mroute.c
sys/netinet/ip_var.h
sys/netinet/raw_ip.c
usr.sbin/mrouted/igmp.c
usr.sbin/mrouted/prune.c
The routine rip_ip_input in raw_ip.c is suggested by Mark Tinguely
(tinguely@plains.nodak.edu ). I have been running mrouted with these patches
for over a week and nothing has seemed seriously wrong. It is being run in
two places on our network as a tunnel on one and a subnet querier on the
other. The only problem I have run into is that mrouted on the tunnel must
start up last or the pruning isn't done correctly and multicast packets
flood your subnets.
Submitted by: Soochon Radee <slr@mitre.org>
1995-03-16 16:25:55 +00:00
David Greenman
2c8fe19f89
pcb allocations are not always done on behalf of a process; it is not
...
okay to wait.
1995-03-14 21:50:55 +00:00
David Greenman
d41f24e742
Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.
...
Submitted by: Matt Thomas
1995-03-14 09:16:07 +00:00
Ugen J.S. Antsilevich
9870b4d2de
Allocate memory as M_IPFW,now we can watch firewall memory usage
...
in vmstat..
1995-03-12 13:28:13 +00:00
Nate Williams
9617d8b1f6
Removed unnecessary define for TCPOUTFLAGS since they are not used.
1995-03-06 02:49:24 +00:00
David Greenman
3dbdc25caa
Move exact match pcb's to the head of the list to improve lookup
...
performance.
1995-03-02 19:29:42 +00:00
Ugen J.S. Antsilevich
29fe22b93f
Allow "via" to be specified ever as IP adress or
...
as interface name/unit...
1995-02-24 14:33:54 +00:00
Bruce Evans
6f05a6e836
Fix benign type mismatch.
1995-02-22 07:23:26 +00:00
David Greenman
38aa9fc375
Added missing newlines to calls to log().
1995-02-20 15:48:46 +00:00
Garrett Wollman
c7a82f9016
Include missing <sys/kernel.h> for `hz'.
...
Submitted by: David Greenman, Rod Grimes, Christoph Kukulies
1995-02-17 00:29:42 +00:00
Garrett Wollman
cb04d5c55b
Don't need to retransmit FIN bit in CLOSING state.
...
Obtained from: Stevens, vol. 2, exercise 29.5 (solution p. 1090)
1995-02-16 01:53:31 +00:00
Garrett Wollman
1c09f77422
spl back down in unusual out-of-memory condition in udp_output().
...
Obtained from: Stevens, vol. 2, exercise 23.4 (solution p. 1083)
1995-02-16 01:47:36 +00:00
Garrett Wollman
1fdbc7ae46
Correctly initialize so_linger in ticks (not seconds).
...
Obtained from: Stevens, vol. 2, p. 1010
1995-02-16 01:42:45 +00:00
Garrett Wollman
dac2030182
Avoid deadlock situation described by Stevens using his suggested replacement
...
code.
Obtained from: Stevens, vol. 2, pp. 959-960
1995-02-16 01:39:19 +00:00
Garrett Wollman
9bb8795d71
Don't add back in the IP header length to ip_len; icmp_error will do it
...
for us.
Obtained from: Stevens, vol. 2, p. 774
1995-02-16 01:25:06 +00:00
Garrett Wollman
41f82abe5a
Transaction TCP support now standard. Hack away!
1995-02-16 00:55:44 +00:00
Garrett Wollman
f2ea20e676
Add lots of useful MIB variables and a few not-so-useful ones for
...
completeness.
1995-02-16 00:27:47 +00:00
Garrett Wollman
628e3e3401
After dynamically reducing rtq_reallyold, have in_rtqkill() reduce the
...
expiration timer of anything which would expire later than that. (There
should be a way to call this from ip_sysctl() as well, but there currently
isn't.)
1995-02-14 23:11:26 +00:00
Garrett Wollman
ea80aed1a9
Attempt to make the host route cache a bit smarter under conditions of
...
high load:
1) If there ever get to be more than net.inet.ip.rtmaxcache entries
in the cache, in_rtqtimo() will reduce net.inet.ip.rtexpire by
1/3 and do another round, unles net.inet.ip.rtexpire is less than
net.inet.ip.rtminexpire, and never more than once in ten minutes
(rtq_timeout).
2) If net.inet.ip.rtexpire is set to zero, don't bother to cache
anything.
1995-02-14 23:04:52 +00:00
Poul-Henning Kamp
c70f45100d
YFfix.
1995-02-14 06:28:25 +00:00
Poul-Henning Kamp
c178994d81
YPfix
1995-02-14 06:25:17 +00:00
Garrett Wollman
2f96f1f446
Get rid of some unneeded #ifdef TTCP lines. Also, get rid of some
...
bogus commons declared in header files.
1995-02-14 02:35:19 +00:00
Garrett Wollman
a0292f2375
Merge Transaction TCP, courtesy of Andras Olah <olah@cs.utwente.nl> and
...
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).
1995-02-09 23:13:27 +00:00
David Greenman
e99d026c60
Fixed another TTCP ifdef problem...there isn't any tcp_sysctl field in
...
!TTCP.
1995-02-09 00:56:09 +00:00
David Greenman
512ff5eaa0
Fix/#ifdef prototype for tcp_mss...apparantly overlooked by Garrett.
1995-02-09 00:49:20 +00:00
Garrett Wollman
999f1343a5
T/TCP changes to generic IP code. This is all ifdefed TTCP so should
...
have no effect on most users for now. (Eventually, once this code is
fully tested, the ifdefs will go away.)
1995-02-08 20:22:09 +00:00
Garrett Wollman
eb6ad69646
Merge in T/TCP TCP header file changes.
1995-02-08 20:18:48 +00:00
Gary Palmer
6db216a6d7
Remove a possible loophole - previously the code wouldn't pass packets destined
...
to the loopback address to the packet filter.
Reviewed by: "Ugen J.S.Antsilevich" <ugen@netvision.net.il>
1995-02-07 20:30:42 +00:00
Garrett Wollman
838ecf4225
Make sure to disable RSVP intercept when the socket is closed.
1995-02-07 02:53:14 +00:00
Garrett Wollman
479bb8da0e
Correct long-standing error in the RSVP hooks (would initialize but never
...
return success).
1995-01-26 18:59:02 +00:00
Ugen J.S. Antsilevich
2b43c8c9db
ip_fwdef.c was missing some assignments , and this
...
caused that bug by which firewall code was not working
if configured into kernel and worked only as lkm.
Now this must be fixed...Sorry guys..
1995-01-26 10:26:15 +00:00
David Greenman
8eea120788
Kill previous commit as it isn't necessary.
1995-01-26 03:56:20 +00:00
David Greenman
b99f012ec5
Extended the previous change to cover the non-options case, too.
1995-01-24 08:03:22 +00:00
David Greenman
297a37f334
Applied fix from Andreas Schulz with a different comment by me. Fixes a
...
bug where TCP connections are closed prematurely.
Submitted by: Andreas Schulz
1995-01-23 17:58:27 +00:00
Garrett Wollman
bbb7c7109b
Change caching strategy somewhat:
...
1) Don't clone routes to multicast destinations; there is nothing useful
to be gained in this case.
2) Reduce default expiration timer to one hour. Busy sites will still
likely want to reduce this, but for ordinary users this is a reasonable
value to use.
1995-01-23 02:02:50 +00:00
Ugen J.S. Antsilevich
4dd1662b4c
Actual firewall change.
...
1) Firewall is not subdivided on forwarding / blocking chains
anymore.Actually only one chain left-it was the blocking one.
2) LKM support.ip_fwdef.c is function pointers definition and
goes into kernel along with all INET stuff.
1995-01-12 13:06:32 +00:00
David Greenman
aedcdea1de
Fixed mbuf lossage when level != IPPROTO_IP. Problem reported by Robert
...
Dobbs, hint from Charles Hannum, fix by me.
1995-01-12 10:53:25 +00:00
Garrett Wollman
b2774d00ad
Make arp_rtrequest() static since nobody needs to referene it any more.
1994-12-22 22:00:30 +00:00
Garrett Wollman
dd2e410221
Move ARP interface initialization into if_ether.c:arp_ifinit().
1994-12-22 21:56:22 +00:00
Garrett Wollman
f811ab0233
Avoid a serious race by blocking netisrs while walking the route tree.
...
(IWBRNI we could just block IP netisrs...)
1994-12-21 17:25:52 +00:00
Garrett Wollman
3c896bda76
Correct sysctl info so that net.inet.ip.rtexpire is actually accessible.
1994-12-21 17:23:59 +00:00
Garrett Wollman
9ee39fc64d
Fix PR 59: don't allow TCP connections withmulticast addresses at either
...
end.
1994-12-15 20:39:34 +00:00
Garrett Wollman
5be2baf843
Make rtq_reallyold user-configurable via sysctl.
1994-12-14 19:06:37 +00:00
Garrett Wollman
2c17fe9339
Call rtalloc_ign() so that protocol cloning will not occur at the IP layer.
1994-12-13 23:08:12 +00:00
Garrett Wollman
31246bc25f
Update calls to rtalloc1(). Also merge rt_prflags with rt_flags.
1994-12-13 22:32:45 +00:00
Ugen J.S. Antsilevich
3107b31b8d
Add clear one accounting entry control.
...
Structure fields changed to seem more standart.
1994-12-13 15:57:34 +00:00
Ugen J.S. Antsilevich
f3caf95e23
Late patch for delete control..
1994-12-12 18:10:41 +00:00
Ugen J.S. Antsilevich
10a642bb05
Add match by interface from which packet arrived (via)
...
Handle right fragmented packets. Remove checking option
from kernel..
1994-12-12 17:20:55 +00:00
Garrett Wollman
1db18e0fc4
Advanced route cache management is now an official part of IP support.
1994-12-11 21:36:10 +00:00
Garrett Wollman
114a506d1a
Delete old, confusing comment.
1994-12-02 23:10:32 +00:00
Garrett Wollman
73579c400f
Add a check to make sure that we don't fiddle with the NFS routing tables
...
as well (bleah!). Also, increase the interval to the real-life value and
eliminate debugging printfs. This will be standard once tested by others.
1994-12-02 03:32:24 +00:00
Garrett Wollman
fa1f0e90fb
Add latest version of ``advanced route metric management'' :-)
...
As before, this is currently conditionalized on options IN_RMX until
I'm sure it's working.
1994-12-01 23:19:48 +00:00
Ugen J.S. Antsilevich
c334f8666a
Added: ICMP reply,TCP SYN check,logging..
1994-11-28 12:35:14 +00:00
Jordan K. Hubbard
63f8d699ac
Ugen J.S.Antsilevich's latest, happiest, IP firewall code.
...
Poul: Please take this into BETA. It's non-intrusive, and a rather
substantial improvement over what was there before.
1994-11-16 10:17:11 +00:00
Jordan K. Hubbard
dbdc296687
Ugen makes it in with 10 seconds to spare with a one-char diff. Some
...
people are born lucky..
Submitted by: ugen
1994-11-08 14:25:17 +00:00
Jordan K. Hubbard
72e8fea57e
Almost 12th hour (the 11th hour was almost an hour ago :-) patches
...
from Ugen.
1994-11-08 12:47:29 +00:00
Jordan K. Hubbard
ad63b51399
2 11th-hour fixes from Ugen (not Uben, sorry!) J.S.Antsilevich.
...
I think it's time for Ugen to get a freefall account, just so I can
direct mail at him directly and let him drop off patches for us here. Ugen?
Done!
Submitted by: ugen
1994-11-07 10:01:32 +00:00
Garrett Wollman
df00058df7
Fix off-by-one error reported to NetBSD by Karl Fox in
...
<9411031449.AA11102@gefilte.MorningStar.Com>.
1994-11-03 21:04:21 +00:00
Garrett Wollman
bb0135e920
Completely replace JTW's idea with my (incompletely implemented) original
...
idea. This is les likely to crash your machine. As before, this code is only
enabled under `options IN_RMX'.
1994-11-03 01:05:34 +00:00
Garrett Wollman
d4a8d8f240
This is the file that actually implements the smarter behavior.
1994-11-02 04:42:14 +00:00
Garrett Wollman
5c2dae8edc
Add code to be a bit smarter about IP routes, conditioned on the option
...
IN_RMX. (Eventually this will be standard, but I just wrote the code today
and don't want to break anyone.)
1994-11-02 04:41:39 +00:00
Garrett Wollman
ac234f9399
Clean up ARP error messages: format IP addresses, explain arplookup()
...
failures in English.
1994-11-02 00:58:29 +00:00
Jordan K. Hubbard
0a87b23329
Latest changes from Uben.
...
Submitted by: uben
1994-10-31 23:58:04 +00:00
Paul Traina
6c4b8d672e
Detect old-style multicast routers and interoperate properly
1994-10-31 06:36:47 +00:00
Jordan K. Hubbard
100ba1a617
IP Firewall code from Daniel Boulet and J.S.Antsilevich
...
Submitted by: danny ugen
1994-10-28 15:09:49 +00:00