Commit Graph

69 Commits

Author SHA1 Message Date
Jonathan Lemon
1cafed3941 Update netisr handling; Each SWI now registers its queue, and all queue
drain routines are done by swi_net, which allows for better queue control
at some future point.  Packets may also be directly dispatched to a netisr
instead of queued, this may be of interest at some installations, but
currently defaults to off.

Reviewed by: hsu, silby, jayanth, sam
Sponsored by: DARPA, NAI Labs
2003-03-04 23:19:55 +00:00
Poul-Henning Kamp
7ac40f5f59 Gigacommit to improve device-driver source compatibility between
branches:

Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.

This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.

Approved by:    re(scottl)
2003-03-03 12:15:54 +00:00
Dag-Erling Smørgrav
521f364b80 More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9). 2003-03-02 16:54:40 +00:00
Poul-Henning Kamp
73f936c5ac NODEVFS cleanup:
Don't call cdevsw_{add,remove}()
Remove remnants of the previous DEVFS.
2003-02-26 21:10:04 +00:00
Warner Losh
a163d034fa Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
Gary Jennejohn
b54c65a9b7 Fix another typo in a comment which I noticed while doing the MFC. 2003-02-06 14:52:47 +00:00
Gary Jennejohn
6a622ac3a3 Fix some typos in 3 comments.
Reported by: marius@alchemy.franken.de
2003-02-01 14:43:24 +00:00
Gary Jennejohn
68e12ba37e Add a fix for the case where the dialout fails. In this case the isp
interface was left in an active, but not connected, state, which resulted
in data being sent to it and the transmit queue filling up. This happened
because the driver never informed sppp that it shoulkd clean up the
connection. This fix informs sppp that it should clean things up.

The fix was actually developed and tested under -stable, so a short MFC
period seems appropriate, say 2 days.

Contributed by: Ari Suutari <ari.suutari@syncrontech.com>
2003-01-30 14:19:58 +00:00
Alfred Perlstein
44956c9863 Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
Sam Leffler
6fc32a2495 network interface and link layer changes:
o on input don't strip the Ethernet header from packets
o input packet handling is now done with if_input
o track changes to ether_ifattach/ether_ifdetach API
o track changes to bpf tapping
o call ether_ioctl for default handling of ioctl's
o use constants from net/ethernet.h where possible

Reviewed by:	many
Approved by:	re
2002-11-15 00:00:15 +00:00
Brooks Davis
a5066cff3a Don't include the depricated "bpf.h" and always compile in bpf support
as per current practice.
2002-10-21 05:05:43 +00:00
Brooks Davis
5906e69ac2 Continue de-counting i4b. Devices i4bctl, i4bcapi, iavc, i4bq921,
i4bq931, i4b, isic, iwic, ifpi, ifpi2, ifpnp, ihfc, and itjc are
no longer count devices.  Also remove a few other instances of N<DEVICE>
being used to control compilation of whole files.

Reviewed by:    hm
2002-09-02 00:52:11 +00:00
Hellmuth Michaelis
52b5377d2f Bugfix to enable dialer "connected" response. 2002-08-27 14:19:28 +00:00
Philippe Charnier
93b0017f88 Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
Alfred Perlstein
7e743e3a41 Unbreak LINT by compensating for the
ng_parse_struct_info -> ng_parse_struct_field change.
2002-06-01 19:54:21 +00:00
Peter Wemm
b01d78f42f Oops, I missed this warning. Comment out extra junk after #endif 2002-05-24 06:22:48 +00:00
John Baldwin
6008862bc2 Change callers of mtx_init() to pass in an appropriate lock type name. In
most cases NULL is passed, but in some cases such as network driver locks
(which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.

Tested on:	i386, alpha, sparc64
2002-04-04 21:03:38 +00:00
John Baldwin
44731cab3b Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API.  The entire API now consists of two functions
similar to the pre-KSE API.  The suser() function takes a thread pointer
as its only argument.  The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0.  The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.

Discussed on:	smp@
2002-04-01 21:31:13 +00:00
Hellmuth Michaelis
e0d83003c4 Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD,
OpenBSD and BSD/OS and respective code, remove pre $FreeBSD CVS id's,
remove #if(def)s and respective code for FreeBSD versions < 5 .
2002-03-17 09:33:15 +00:00
Hellmuth Michaelis
cd987b48ab remove BSD/OS specific ppp-interface file since the FreeBSD-BSD/OS merger
is IMHO likely not to happen anymore ...
2002-03-09 13:18:24 +00:00
Hellmuth Michaelis
b25b877461 After joergs merge of i4b's sppp with the main sppp, remove obsolete file. 2002-03-09 13:14:49 +00:00
Joerg Wunsch
c4552f53b1 Remove unused includes. 2001-12-31 09:31:30 +00:00
Joerg Wunsch
230ce3668b Fix two typos in previous commit. 2001-12-30 19:37:41 +00:00
Joerg Wunsch
734b6a9ee0 Remove references to i4b/driver/i4b_ispppsubr.c, now that
net/if_spppsubr.c has all its features.

Hooray, it's gone!

MFC after:	1 month
2001-12-30 18:48:24 +00:00
Gary Jennejohn
1c6126426b Protect mtx_init() invocations with mtx_intialized() checks to avoid a
reported panic.

Submitted by:	Alexander Leidinger <Alexander@Leidinger.net> (partly)
MFC after:	4 weeks
2001-12-30 09:27:28 +00:00
Hellmuth Michaelis
365bf7980c fix kvprintf panic in attach routine 2001-10-24 14:12:47 +00:00
Hellmuth Michaelis
8f3a90354e Add experimental support for sending keypad facility messages.
MFC after: 2 months
2001-10-18 11:58:49 +00:00
Jonathan Lemon
a743950fc2 sppp rewrites the interface's ip address directly; this breaks when the
address is looked up via a hash table.  Add a hack to move the entry to
a new hash bucket when the address changes.

Submitted by: tmm
2001-10-01 18:03:56 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Hellmuth Michaelis
078aac9c09 Submitted by: Juha-Matti Liukkonen, Cubical Solutions Ltd (jml@cubical.fi)
Reviewed by:	hm

Bug in i4btel driver read routine corrected. The conditions in the
while() clause caused the receive queue to be referenced before checking
if a channel is connected, leading to kernel panic (do a 'dd
if=/dev/i4btel0 of=/dev/null' on an unconnected tel device, panic will
follow). Correction was to reorder the while clause conditions to check
for connectedness first.
2001-05-21 09:24:48 +00:00
Jens Schweikhardt
de79862524 pseudo-device -> device in kernel config.
Reviewed by:	joerg, dd
2001-05-01 11:26:14 +00:00
Poul-Henning Kamp
f83880518b Send the remains (such as I have located) of "block major numbers" to
the bit-bucket.
2001-03-26 12:41:29 +00:00
Joerg Wunsch
4161cdbce1 (MFC candidate since this is already a merge from /sys/net only.)
Merge rev's 1.65 and 1.66 from sys/net/if_spppsubr.c (implement the
`restart' option, and fix a blatant bug with PAP authentication).

The i4b implementation of this file should be merged back, but for now,
we need this here as well.

Reviewed by:	gj
2001-03-25 09:59:23 +00:00
Poul-Henning Kamp
fc2ffbe604 Mechanical change to use <sys/queue.h> macro API instead of
fondling implementation details.

Created with: sed(1)
Reviewed by: md5(1)
2001-02-04 13:13:25 +00:00
Peter Wemm
920c17857f Stop counting sppp interfaces, we were just testing its presence to give
a warning if it was missing.
2001-01-29 12:27:46 +00:00
Hellmuth Michaelis
74acef9ae7 Remove useless variable vjlen.
Submitted by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-23 10:01:55 +00:00
Hellmuth Michaelis
54a232485c it seems that a commit to i4b/drivers/i4b_ispppsubr.c on 2000-01-12 has
broken the handling of uncompressed VJ packets. The attached diff should
hopefully fix that.
Submitted by:	Thomas Moestl <tmoestl@gmx.net>
Reviewed by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-15 14:58:46 +00:00
Hellmuth Michaelis
23f507c5d1 Reenable support for FreeBSD 4.x and possibly the other supported BSD's 2001-01-15 14:54:43 +00:00
Hellmuth Michaelis
6c5ddf6863 Fix a bug overwriting random data when Van Jacobsen header compression
was used with the isp/isppp driver.
Submitted by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-12 08:48:54 +00:00
Jonathan Lemon
5f107f17b2 When queueing a packet, call the output start routine. I botched this
during the initial ifqueue conversion.

Submitted by: Thomas Moestl <tmoestl@gmx.net>
2001-01-09 14:59:43 +00:00
Julian Elischer
30400f03aa Part 2 of the netgraph rewrite.
This is mostly cosmetic changes, (though I caught a bug or two while
makeing them)
Reviewed by:	archie@freebsd.org
2001-01-08 05:34:06 +00:00
Julian Elischer
069154d55f Rewrite of netgraph to start getting ready for SMP.
This version is functional and is aproaching solid..
notice I said APROACHING. There are many node types I cannot test
I have tested: echo hole ppp socket vjc iface tee bpf async tty
The rest compile and "Look" right.  More changes to follow.
DEBUGGING is enabled in this code to help if people have problems.
2001-01-06 00:46:47 +00:00
Julian Elischer
589f6ed8ce Divorce the kernel binary ABI version number from the message
format version number. (userland programs should not need to be
recompiled when the netgraph kernel internal ABI is changed.

Also fix modules that don;t handle the fact that a caller may not supply
a return message pointer. (benign at the moment because the calling code
checks, but that will change)
2000-12-18 20:03:32 +00:00
Julian Elischer
ca976de62f Change initialiser to match new structure layout.
forgotten by: Me
Found by: GCC
2000-12-12 23:52:43 +00:00
Julian Elischer
859a4d166c Reviewed by: Archie@freebsd.org
This clears out my outstanding netgraph changes.
There is a netgraph change of design in the offing and this is to some
extent a superset of soem of the new functionality and some of the old
functionality that may be removed.

This code works as before, but allows some new features that I want to
work with and evaluate. It is the basis for a version of netgraph
with integral locking for SMP use.

This is running on my test machine with no new problems :-)
2000-12-12 18:52:14 +00:00
Poul-Henning Kamp
4d88c4598f Make log(-1, ...) do what addlog(...) did.
Replace all uses of addlog(...) with log(-1, ...)

Remove bogus "register" keywords in subr_prf.c

Make log() return void.
2000-11-26 19:34:06 +00:00
Jonathan Lemon
df5e198723 Lock down the network interface queues. The queue mutex must be obtained
before adding/removing packets from the queue.  Also, the if_obytes and
if_omcasts fields should only be manipulated under protection of the mutex.

IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on
the queue.  An IF_LOCK macro is provided, as well as the old (mutex-less)
versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which
needs them, but their use is discouraged.

Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF,
which takes care of locking/enqueue, and also statistics updating/start
if necessary.
2000-11-25 07:35:38 +00:00
Hellmuth Michaelis
b51f30edab Fix i4b netgraph interface to not kernel panic at boot time
Make code compile and work for FreeBSD 4.x as well as FreeBSD 5.x
Submitted by: Michael Reifenberger <root@nihil.plaut.de>
2000-11-09 12:27:31 +00:00
Hellmuth Michaelis
86bc05b331 Remove unused #include statements
Submitted by:	phk
2000-10-30 14:49:26 +00:00
Hellmuth Michaelis
5d113d0ac0 Submitted by: phk
Remove not needed includes.
2000-10-13 14:10:51 +00:00