Commit Graph

202 Commits

Author SHA1 Message Date
mrg 4e25d1d20b if the sender set a cksum, check it, regardless if we care to
generate and send them ourselves.  from rich stevens.
1996-05-20 16:56:20 +00:00
mycroft e901286aad When sending an ARP request, use the interface address for the route, rather
than the first address assigned.  This gives slightly different behaviour in
the presence of aliases.  From Bill Fenner, via Pete Bentley.
1996-05-11 12:59:55 +00:00
thorpej 4edabe2501 Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:40:22 +00:00
jonathan 24a8c21b53 fixes for -Wall -Wmissing-prototypes:
include <sys/systm.h> to get a prototyped declaration of printf().
include <netinet/in.h> to get a prototyped declaration of in_cksum().
1996-04-08 19:55:37 +00:00
christos dd7163922a Fix db_printf formats 1996-03-30 21:53:19 +00:00
christos 2769793c13 Fix printf format args. 1996-03-16 23:53:58 +00:00
mrg 32cdb91fa3 two more local addr changes, all done differently now (idea from charles) 1996-02-26 23:16:42 +00:00
mrg 86b9b4d6be if we are connecting *to* an address of any local interface, default the
local address of the socket to the same address.
1996-02-26 08:25:47 +00:00
christos b2cc81b8fe Fix PR/2095 options MROUTING did not compile. 1996-02-18 18:58:32 +00:00
christos 14d9cd33af netinet prototypes 1996-02-13 23:40:59 +00:00
mycroft 0a47ede0fe Ignore FIN if not yet connected. 1996-01-31 05:56:56 +00:00
mycroft ac01b2f206 Add a comment describing the previous. 1996-01-31 05:42:37 +00:00
mycroft a4e1bceb84 If we close from FIN_WAIT_2 state, make sure we don't leave the socket
around forever if we don't get a final FIN.  From Arne Juul, PR 1659.
1996-01-31 05:37:29 +00:00
mycroft 67e78477db Build a hash table of PCBs. Hash function needs tweaking. 1996-01-31 03:49:23 +00:00
thorpej 535abd80a2 Add a net.inet.ip.directed-broadcast sysctl as suggested by
Darren Reed <darrenr@vitruvius.arbld.unimelb.edu.au> in PR #1227.
This change is slightly different than the one submitted by Darren in
that the DIRECTED_BROADCAST compile-time option will behave like it used
to so that existing configurations utilizing it won't have to change.
1996-01-16 04:17:30 +00:00
thorpej 4b359df8c4 Add net.inet.ip.forwsrcrt: if zero, the system will not forward
source-routed packets.  Note this value is protected by kernel security
level; it can only be changed if securelevel < 1.
1996-01-15 21:11:46 +00:00
pk c069674663 Handle PRU_CONTROL (David Maltz; PR#1664). 1995-11-30 16:42:18 +00:00
cgd dfad729a16 make netinet work on systems where pointers and longs are 64 bits
(like the alpha).  Biggest problem: IP headers were overlayed with
structure which included pointers, and which therefore didn't overlay
properly on 64-bit machines.  Solution: instead of threading pointers
through IP header overlays, add a "queue element" structure to do
the threading, and point it at the ip headers.
1995-11-21 01:07:34 +00:00
thorpej 7884abf9e5 Implement tcp_sysctl(). Add a sysctl option to enable/disable RFC1323
extensions to TCP.  From John Kohl <jtk@kolvir.blrc.ma.us>.
1995-09-30 07:02:00 +00:00
mycroft 873ed30f83 so_pcb should be a void *. 1995-08-17 02:57:20 +00:00
mycroft 5482957905 splnet --> splsoftnet 1995-08-12 23:59:09 +00:00
mycroft 68735fd022 Encapsulate the test for sending a notification in a macro, sb_notify(). 1995-08-04 01:09:57 +00:00
cgd 5b435dbf05 null mbuf pointer could cause system crash; avoid it. From
Torsten Duwe <duwe@immd4.informatik.uni-erlangen.de>.
1995-07-01 03:44:55 +00:00
cgd 23e75a550d fix typo 1995-06-26 08:46:16 +00:00
cgd f90cf78fba convert pcb lists to CIRCLEQs, so that the end can be looked at more
easily, and so that the original (insque/remque) logic can be effectively
mimiced.  (This fixes a bug in the previous set of list changes.)
also (since terminator is no longer null) reinstate uninitted list checks,
but mark them XXX.
1995-06-18 20:01:08 +00:00
mycroft cd7edee1ca in_pcbnotify*() don't return anything. 1995-06-12 06:49:55 +00:00
mycroft 351cfd5ed8 Fix bogon in previous. 1995-06-12 06:48:54 +00:00
mycroft 22687aa834 Change in_pcbnotify*() to take an errno value. Make inetctlerrmap[] an
array on ints, not u_chars.
1995-06-12 06:46:34 +00:00
mycroft 10a4696964 Oops. Make source quench work again. 1995-06-12 06:24:21 +00:00
mycroft c88cf97b34 Clear the MFC entry's statistical counters when doing an upcall. 1995-06-12 03:05:12 +00:00
mycroft 6897f39ae9 Various cleanup, including:
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.
1995-06-12 00:46:47 +00:00
mycroft f9337c3f1e Oops. Decrement rtt earlier. 1995-06-11 21:36:04 +00:00
mycroft 2be9b519ac As suggested by Brakmo and Peterson:
* Don't add the extra 1/8 of the mss when ramping up the congestion window.
* Scale the RTT values slightly to adjust for rounding errors.
* Set the lower bound of the RTO to RTT+2.
1995-06-11 20:39:22 +00:00
mycroft 4ce5bb3dd4 Check for inflated congestion window during header prediction, per Bramko and
Peterson.
1995-06-11 09:36:28 +00:00
mycroft 3a8e9c62b8 Remove ip_ifmatrix completely. 1995-06-07 16:01:15 +00:00
cgd d4f62dcb69 update from Ignatios Souvatzis 1995-06-07 00:13:52 +00:00
mycroft 4906fd756f Simplify ipip_input() a bit. Don't blow away the vif cache if someone sends
us a bogus packet.
1995-06-04 07:38:19 +00:00
mycroft e30d6fd798 Simply tbf_control() a bit. 1995-06-04 07:20:47 +00:00
mycroft b8c4ea6580 Eliminate compiler warnings. 1995-06-04 06:55:30 +00:00
mycroft e201372b7d For consistency, set sin_len for SIOC{ADD,DEL}MULTI. 1995-06-04 06:46:05 +00:00
mycroft 51a0da73db Remove one more bogus cast. 1995-06-04 06:03:53 +00:00
mycroft 41703012d6 Don't cast things unnecessarily. 1995-06-04 05:58:20 +00:00
mycroft 0a99592372 Clean up many more casts. 1995-06-04 05:06:49 +00:00
mycroft 06a9ea20e8 Clean up a lot of ugly casts. 1995-06-04 04:35:29 +00:00
mycroft 489f42a2d8 Dynamically allocate the deencapsulation interfaces. Abstract the code to
reset a vif into a separate function.
1995-06-02 04:23:05 +00:00
mycroft 4516e8c845 Don't use INADDR_* constants in case labels. 1995-06-01 21:46:27 +00:00
mycroft eb216fd6c2 Avoid byte-swapping IP addresses at run time. 1995-06-01 21:35:34 +00:00
mycroft 2eaf92b3e5 Add missing ntohl() in multicast test. 1995-06-01 15:59:04 +00:00
mycroft ba9883ec57 Integrate multicast 3.5 distribution, with several bugs fixed and general
cleanup.  This is a (working) snapshot of work in progress.
1995-05-31 21:50:34 +00:00
mycroft a54e2ffa20 Add IPPROTO_IP. Fix comment for IP_MULTICAST_IF. 1995-05-31 07:39:33 +00:00
mycroft f49ddb8b04 Implement IGMP v2. Based on the Multicast 3.5 distribution. 1995-05-31 06:08:17 +00:00
cgd dd614d8474 parenthesize macro arg usage 1995-05-16 05:26:36 +00:00
cgd 0bfc08ac63 oops; forgot a '{' 1995-05-15 02:09:58 +00:00
cgd 05af191f3b spacing fixups and KNF. #define ether address size, so it's not
hardcoded as '6' all over.
1995-05-15 01:30:44 +00:00
cgd cd172a4d08 KNF 1995-05-15 01:25:21 +00:00
cgd b4cd363b69 simplify ip_output() out-of-memory condition slightly, and style nits. 1995-05-15 01:24:53 +00:00
cgd e7164bb2fd "routine" precedence has a value of 0. 1995-05-15 01:22:44 +00:00
cgd 2c1e3c655f drop (and record) malformed IP fragments. Fixes pr 1030 (differently). 1995-05-14 08:23:00 +00:00
cgd c03b53c2e8 spacing cleaup. also, minor type mixup fixups. 1995-04-17 05:32:52 +00:00
chopps 999aa2cc32 update arc_input() proto to match reality. 1995-04-14 17:09:39 +00:00
cgd 1e2fe7fa41 oops; missed the chance to fix a cast, that then becamse a compiler warning. 1995-04-13 20:09:23 +00:00
cgd 80929f8527 be a bit more careful and explicit with types. (basically a large no-op.) 1995-04-13 06:35:38 +00:00
cgd b5b72d26ea be a bit more careful and explicit with types. (basically a large no-op.) 1995-04-13 06:25:36 +00:00
mycroft 8b77f9cd5f Remove some explicit references to loif. 1995-04-11 04:30:47 +00:00
mycroft 2f30839b62 Remove now unneeded #ifdef. Prototype new function. 1995-04-10 00:06:54 +00:00
mycroft 99cd177c88 Add a common function to initialize ARP-related variables. `Insired'
by Garrett Wollman.
1995-04-07 22:26:04 +00:00
briggs 6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
jtc 7c04233887 KERNEL -> _KERNEL 1995-03-26 20:23:52 +00:00
glass e553431826 Default linger time was 120 clock ticks instead of the intended
2 minutes.
[Bug pointed out by Wright/Stevens in TCP/IP Illustrated Vol II]
1995-03-21 07:48:14 +00:00
glass af55380e5a remove references to arptnew. fix spelling error 1995-03-06 19:06:05 +00:00
glass 14e57cebfa Fix for two bad tests in the raw IP socket input code. Only affected
raw sockets that were bound to a local address and/or connected to a
foreign address.   Fix from Dan McDonald <danmcd@itd.nrl.navy.mil>
1995-03-02 09:33:40 +00:00
chopps 7908b4858d add prototypes 1995-03-02 09:14:38 +00:00
glass 48b5b94c4f fix some typos. from frank@fwi.uva.nl (Frank van der Linden) 1995-02-27 09:10:24 +00:00
glass f634dc196b preliminary arcnet support. uses lame but RFC address resolution 1995-02-23 07:19:49 +00:00
mycroft 153c5e083f Fix a condition where we sometimes sent a FIN too early. Also, a small
optimization.
1995-01-23 20:18:35 +00:00
mycroft 4d0a512f67 Fix mbuf leak in rip_ctloutput(). 1995-01-12 06:23:45 +00:00
mycroft 22ab689dfe Fix off by one error in in_socktrim(), reported by Karn Fox. 1994-11-03 14:57:35 +00:00
mycroft 63bb09e6da Don't return received data to the user until the initial handshake is complete.
Also use TCPS_HAVEESTABLISHED() in a few other places.
1994-10-14 16:01:48 +00:00
mycroft b94d5a36e7 Increase the default window size to 16k. 1994-10-13 14:26:15 +00:00
deraadt d6bfeb6b71 failure to bind to a reserved port should return EACCES not EPERM. 1994-09-29 02:31:35 +00:00
mycroft f21c4cc68a Fix byte-order bug in printf() statement. 1994-07-27 12:36:09 +00:00
cgd e4cafbc7da kill conflicting externs 1994-07-24 02:41:27 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
chopps 9f0089f3ce config.new hack for if_ether.c for lack of an `and' in the grammer
and protect some ether specific code in in.c
1994-06-21 03:54:27 +00:00
brezak 669769d3e0 Update to version 2 mrouting; from pre-4.4lite NetBSD + 4.4 mods 1994-06-09 16:01:53 +00:00
brezak de3a00ee3d Patch to fix ip cksum errors. From mccanne@ee.lbl.gov (Steven McCanne). 1994-06-09 15:59:47 +00:00
mycroft f130f244e7 Remove a spurious splx(). 1994-06-04 08:29:51 +00:00
mycroft 57de85fb31 Modify the loopback checks to deal with multiple interfaces. 1994-06-04 08:13:23 +00:00
gwr 2b888e2990 Back out some of my changes which Keith Sklower convinced me are
unnecessary.  Leaving in just the essentials of the fix.
1994-06-04 03:15:09 +00:00
gwr b02ab73537 Avoid accidentaly creating permanent entries at time==0
Routes created with RTM_ADD (i.e. manually added) are
permanent so leave their expiration time set to zero.
1994-06-03 02:54:26 +00:00
cgd 21c67feb12 i forgot a four letter word... 1994-05-14 06:25:32 +00:00
cgd fa080c8fad multiple inclusion protection, for the rpc headers 1994-05-14 05:46:35 +00:00
mycroft 07b4f2ab54 Update to 4.4-Lite networking code, with a few local changes. 1994-05-13 06:02:48 +00:00
cgd e0db92993a change timeout/untimeout/wakeup/sleep/tsleep args to void * 1994-04-29 23:15:51 +00:00
mycroft 87b39add50 As I described this on comp.protocols.tcp-ip:
I've found a problem with the TCP delayed ack algorithm.  If the writer's
buffer becomes full before sending an entire window, the writer will stop
and the ack will be delayed and the transmission will be stalled pending
a timeout on (and transmission of) the delayed ack.

As an experiment, I've applied the following patch to my (NetBSD) kernel,
and it alleviates the problem.

The worst case for this change is that the writer sets the PSH bit on
every outgoing packet, in which case delayed ack is effectively disabled.
This is not an issue of correctness, however, and since most vendors use
the PSH bit a bit more intelligently, it doesn't seem like a serious
problem.
1994-04-25 19:16:53 +00:00
mycroft efa2794f99 Dummy arpintr() for now. 1994-04-18 23:25:57 +00:00
glass a3b042140f revised nfs diskless support. uses bootp+rpc to gather parameters 1994-04-18 06:18:05 +00:00
mycroft 55a96d2a3f Acks with no data should have the highest sequence number sent. 1994-04-12 18:09:47 +00:00
mycroft 08230400b7 Patch from James Carlson to fix TCP stalls. 1994-04-12 18:07:46 +00:00
glass ceb45a1b88 add missing explicit type declaration for func argument 1994-03-14 07:49:44 +00:00