Commit Graph

235 Commits

Author SHA1 Message Date
perry 17fcad6b2c commit fix in pr 2772 -- the IP input code was assuming that the
reserved (must be zero) flag must necessarily be zero. We now define
an IP_RF (by analogy to IP_DF and IP_MF) and mask it out when necessary.
1996-09-21 19:44:32 +00:00
mycroft d6121891ef Overlay inp_faddr and inp_laddr into the header prototype. 1996-09-17 17:10:20 +00:00
mycroft 457b1b1333 Make sure the sin_zero fields are filled. 1996-09-16 17:45:17 +00:00
mycroft 9bfa240a98 Hash unconnected PCBs. 1996-09-15 18:11:06 +00:00
mrg a5f00f16bc move the packet filter hooks in to a saner location. while i'm here, rename
PACKET_FILTER to PFIL_HOOKS.
1996-09-14 14:40:20 +00:00
mrg 4b851a2d9b remove an unused variable. 1996-09-14 12:35:07 +00:00
mrg df4a844f44 forward decl. struct mbuf (for now). 1996-09-12 23:11:40 +00:00
explorer f5a52c4260 Move an #ifdef _KERNEL up above all the packet filter stuff. This
could very well break the packet filter stuff, but it will make things
like rcp.c compile, and rcp.c should not need to include sys/mbuf.h
to do so...
1996-09-12 22:56:03 +00:00
mycroft da2cd7eb82 If we're in SYN-SENT or SYN-RECEIVED state, don't reset the keepalive
timer until we transition to ESTABLISHED state.  Suggested by TCP/IP
vol 3.
1996-09-10 23:26:05 +00:00
mycroft 9bb1acd303 Rework the token bucket filter to use a list of packets rather than a static
array.  Also, fix several memory leaks.  From Bill Fenner.
1996-09-09 17:14:04 +00:00
mycroft 23437fc3d2 Cosmetic changes, some from Bill Fenner. 1996-09-09 17:09:50 +00:00
mycroft 62a6cce9ca Add in_nullhost() and in_hosteq() macros, to hide some protocol
details.  Also, fix a bug in TCP wrt SYN+URG packets.
1996-09-09 14:51:07 +00:00
mycroft f5c7d8bcc1 Save 68 bytes of the packet for ICMP, not 64. From Laine Stump, PR 2296. 1996-09-08 15:49:43 +00:00
mrg e27343e07d fix a couple of minor nits after discussions with jason. 1996-09-07 04:55:16 +00:00
mrg ae47956db0 add packet filter interface code. see pfil(9) for more details. you
need the PACKET_FILTER option to enable this code.  currently, ipfilter
version 3.1.1-beta has been converted to use this new interface.
1996-09-06 05:07:43 +00:00
perry 94a217e163 Commit PR 2671, which adds an "IPNOPRIVPORTS" config option that turns
off the code that normally only allows root to bind low TCP
ports. Useful on firewalls and such.
1996-09-05 18:10:03 +00:00
thorpej 3ca11aa1ad Fix some DIAGNOSTIC printf() formats; ntohl() provides a 32-bit quantity,
and should be printed with %x, not %lx.
1996-08-14 03:46:44 +00:00
neil 78bddbd393 Prototypes and definitions for ICMP Router Discovery, From FreeBSD.
rdisc coming soon! :-)
1996-08-03 15:48:18 +00:00
cgd 9764a289cd print result of ntohl/htonl as a long. (makes -Wformat work on the
Alpha.)
1996-07-10 18:13:35 +00:00
chuck 26cf9de9d5 ported ATM to FreeBSD 2.2-960612-SNAP 1996-07-03 17:17:10 +00:00
chuck cc499a99d9 change:
- change asock to rxhand and adjust all for this [esp atm_input]
1996-06-29 20:07:05 +00:00
chuck a08c95305d fixes/new stuff:
[1] if user tries to enter in a bogus PVC don't leave it in the routing
        table ... remove it
[2] change ioctl arg to include rxso for lower layer
[3] add hooks (inside "NATM" ifdef) for native mode atm sockets so that
        they don't clash with IP PVCs.   [i am still debugging the native
        mode atm socket protosw code]
1996-06-26 04:18:44 +00:00
mycroft 865bfae299 Return ENOPROTOOPT rather than picking pseudo-random error values.
Don't allow SIOCGET{VIF,SG}CNT from sockets other than the multicast router.
Restructure rip_ctloutput() like ip_ctloutput(), and fix memory leaks.
1996-06-23 12:12:44 +00:00
chuck d9c6fd68b8 network support for ATM networks (ATM == Async Transfer Mode, not
Automatic Teller Machine).

Currently supports PVCs only (no ATM ARP either).
1996-06-22 01:47:35 +00:00
pk ecbb3b2eb2 Prototype new rip_*() functions. 1996-05-28 23:27:04 +00:00
mycroft 91ac291d97 Move some code into a separate rip_bind() function. 1996-05-24 19:03:13 +00:00
mycroft 9347e648d8 udp_output() doesn't actually take control data, so don't pretend it does. 1996-05-23 17:05:45 +00:00
mycroft f399db63a4 Make sure the control mbufs are freed in all cases. 1996-05-23 17:03:27 +00:00
mycroft 60395beed8 Fix a race condition in PRU_DISCONNECT.
Rearrange the code to deal with unconnected sockets slightly.
Other minor changes.
1996-05-23 16:22:32 +00:00
mycroft e930766cdc Minor changes. 1996-05-23 16:13:19 +00:00
mycroft aee4be7a7f Minor changes to make this more like other protocols. Also, fix some return
values.
1996-05-23 16:12:15 +00:00
mycroft a8ba1d063c A few style changes to match netiso and netns. 1996-05-22 14:42:27 +00:00
mycroft 49d52c9b1c Pass a proc pointer down to the usrreq and pcbbind functions for PRU_ATTACH, PRU_BIND and
PRU_CONTROL.  The usrreq interface really needs to be split up, but this will have to wait.
Remove SS_PRIV completely.
1996-05-22 13:54:55 +00:00
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