Commit Graph

73 Commits

Author SHA1 Message Date
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
thorpej 20fe4e2d96 Add a protosw flag, PR_ABRTACPTDIS (Abort on Accept of Disconnected
Socket), and add it to the protocols that use that behavior (all
PR_LISTEN protocols except for PF_LOCAL stream sockets).
2001-03-21 19:22:27 +00:00
itojun df9784d749 pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted).
have sys/net/route.c:rtrequest1(), which takes rt_addrinfo * as the argument.
pass rt_addrinfo all the way down to rtrequest, and ifa->ifa_rtrequest.
3rd arg of ifa->ifa_rtrequest is now rt_addrinfo * instead of sockaddr *
(almost noone is using it anyways).

benefit: the follwoing command now works.  previously we need two route(8)
invocations, "add" then "change".
# route add -inet6 default ::1 -ifp gif0

remove unsafe typecast in rtrequest(), from rtentry * to sockaddr *.  it was
introduced by 4.3BSD-reno and never corrected.

XXX is eon_rtrequest() change correct regarding to 3rd arg?
eon_rtrequest() and rtrequest() were incorrect since 4.3BSD-reno,
so i do not have correct answer in the source code.
someone with more clue about netiso-over-ip, please help.
2001-01-17 04:05:41 +00:00
sommerfeld 4eec028c2a More format checking 2000-07-08 17:45:53 +00:00
sommerfeld 601b2f3467 One more file missing multiple-include protection. 2000-07-02 17:35:00 +00:00
sommerfeld b083107c2e Add multiple-include prevention to several headers which were missing
it.

Split ccittintr() declaration into a separate header file so that the
non-namespace-safe cruft in pk.h doesn't interfere with other
subsystems which happen to include netisr.h

[Clean up after the Keystone Kwality Kops]
2000-07-02 17:34:01 +00:00
augustss 4b30d9885e More register removal. 2000-03-30 13:53:32 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
itojun 6dd76ea8cf don't touch non-AF_CCITT addrs on ctlinput. ctlinput routines can be
called from non-matching AFs.  (saw panic by called with AF_INET6)
2000-02-26 16:03:23 +00:00
thorpej d844a3ac41 First-draft if_detach() implementation, originally from Bill Studnemund,
although this version has been changed somewhat:
- reference counting on ifaddrs isn't as complete as Bill's original
  work was.  This is hard to get right, and we should attack one
  protocol at a time.
- This doesn't do reference counting or dynamic allocation of ifnets yet.
- This version introduces a new PRU -- PRU_PURGEADDR, which is used to
  purge an ifaddr from a protocol.  The old method Bill used didn't work
  on all protocols, and it only worked on some because it was Very Lucky.

This mostly works ... i.e. works for my USB Ethernet, except for a dangling
ifaddr reference left by the IPv6 code; have not yet tracked this down.
2000-02-01 22:52:04 +00:00
thorpej 3bf4c0f68b Small cleanup. 2000-02-01 00:02:01 +00:00
thorpej af62350e32 Un-obfuscate a small bit of code. 2000-02-01 00:00:22 +00:00
simonb fd8040a031 s/acknowledgment/acknowledgement/ 1999-09-10 03:24:14 +00:00
itojun 118d2b1d4f IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
  data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
  package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
  file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.
1999-07-01 08:12:45 +00:00
darrenr 67cac86e57 add PR_LISTEN to protocols which support listen(2) 1999-07-01 05:53:04 +00:00
thorpej 4b0e6bb4dc Domains are associated with protocol families, not address families. 1999-01-14 01:16:55 +00:00
christos 8dfbc827ea Fix copyright mess:
- remove trailing spaces.
	- make copyrights consistent (put the date before the name).
1998-09-13 16:21:16 +00:00
thorpej a54c0e3b4e Braces for EGCS. 1998-09-09 04:33:27 +00:00
christos 9b63f5f407 Assign copyright to TNF. 1998-09-05 14:30:31 +00:00
mjacob ed8d65b169 fix to accomodate change in vn_rdwr prototype 1998-07-28 20:25:28 +00:00
wrstuden 43a04e85ab Another printf(%:) down. 1998-07-25 00:42:03 +00:00
thorpej 7b2bea06c6 Declare llcintrq here. 1998-07-07 03:26:55 +00:00
thorpej 6f5a4a9d23 extern'ize llcintrq. 1998-07-07 03:26:42 +00:00
thorpej e357da6de3 Don't conditionalize externs on #if ... LLC ... 1998-07-07 03:24:53 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan fe484937cf defopt LLC 1998-07-05 03:14:41 +00:00
jonathan 1a0b4c13e3 defopt HDLC. 1998-07-05 02:25:17 +00:00
jonathan 8db0fcdbf7 defopt CCITT. 1998-07-05 02:12:22 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
kleink 59fe905973 Fix variable declarations: register -> register int. 1998-02-14 19:34:12 +00:00
thorpej 4c54445530 Use offsetof() from libkern.h 1998-01-28 02:35:10 +00:00
thorpej a0e791807e Eliminate use of dtom() from the network code, allowing more flexible
use of mbuf external storage and increasing performance (by eliminating
an m_pullup() for clusters in the IP reassembly code).

Changes from Koji Imada <koji@math.human.nagoya-u.ac.jp>, in PR #3628
and #3480, with ever-so-slight integration changes by me.
1997-06-24 02:25:59 +00:00
christos 6f0b278584 Adjust pdu names. 1997-05-02 21:10:15 +00:00
christos a1dcf4b026 backout previous kprintf change 1996-10-13 02:10:01 +00:00
christos 0e189933f5 printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:02:20 +00:00
christos 2688e678b9 - add missing prototypes
- printf -> kprintf, sprintf -> ksprintf
1996-10-10 22:58:29 +00:00
mycroft 4e8477f520 Mostly minor changes.
Convert the listen queue to a TAILQ to avoid O(n^2) insertion.  Should probably
be a hash table.
1996-05-23 23:35:22 +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
scottr 64da2bdad9 Include <machine/cpu.h> to get setsoftnet().
XXX - We need this for at least amiga and hp300.  This change must die,
      and is intended as a temporary workaround only.
1996-05-09 22:29:25 +00:00
thorpej 2222e84a90 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_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:36:06 +00:00
cgd 7e4d04910d fix screw-up in the prototyping changes: print pointers with %p, NOT
by casting them to (unsigned int) then printing with %x.
1996-04-13 01:34:06 +00:00
christos 09ed6483fd - Parenthesize &
- Change %r -> %: as for recursive printf's
1996-03-30 21:54:33 +00:00
christos 835271da20 Make cons_rtrequest return void because the only place it is used
is through the ifa_rtrequest method. Unfortunately the net code
does not seem to care if that operation succeeds or fails. Maybe
it should...
1996-03-14 18:47:52 +00:00
christos 0c7d098c3b netccitt prototypes 1996-02-13 22:04:21 +00:00
mycroft 873ed30f83 so_pcb should be a void *. 1995-08-17 02:57:20 +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 8e5127c2e7 adjust for the other day's structure changes; make it compile. 1995-06-15 22:38:20 +00:00