Commit Graph

64 Commits

Author SHA1 Message Date
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
mycroft abdeca89ce Change llinfo_x25 to use queue.h. 1995-06-13 09:07:29 +00:00
mycroft 39b1a58316 Update to match data structure changes. 1995-06-13 05:41:43 +00:00
mycroft 415057458b Update to match data structure changes. 1995-06-13 05:38:47 +00:00
mycroft 8b77f9cd5f Remove some explicit references to loif. 1995-04-11 04:30:47 +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
cgd 992d10a16e cast pointers correctly, ioctl cmds are u_longs. 1995-03-08 02:13:59 +00:00
mycroft 080e194e58 Remove extra arg to vn_open(). 1994-12-14 19:03:13 +00:00
christos 1b76292bf9 added extra argument to vn_open 1994-11-14 06:02:03 +00:00