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