summaryrefslogtreecommitdiffstats
path: root/sys/net/netisr.h
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2007-12-31 20:58:50 +0000
committerrwatson <rwatson@FreeBSD.org>2007-12-31 20:58:50 +0000
commit72360ebb8e6378002b99b7d37452110a63ff1d26 (patch)
tree717325fe44ab27fccf8ca5815f22f821f549e61e /sys/net/netisr.h
parentd317da326ddd6d0aeca6e73ebd902d7fc0365d6b (diff)
downloadFreeBSD-src-72360ebb8e6378002b99b7d37452110a63ff1d26.zip
FreeBSD-src-72360ebb8e6378002b99b7d37452110a63ff1d26.tar.gz
Update netisr comment for the SMPng world order: netisr is no longer
implemented using the ISR facility, and cannot be triggered by calling splnet()/splx(). MFC after: 3 weeks
Diffstat (limited to 'sys/net/netisr.h')
-rw-r--r--sys/net/netisr.h21
1 files changed, 8 insertions, 13 deletions
diff --git a/sys/net/netisr.h b/sys/net/netisr.h
index 9ba3e8d..1fb411c 100644
--- a/sys/net/netisr.h
+++ b/sys/net/netisr.h
@@ -34,19 +34,15 @@
#define _NET_NETISR_H_
/*
- * The networking code runs off software interrupts.
+ * The netisr (network interrupt service routine) provides a deferred
+ * execution evironment in which (generally inbound) network processing can
+ * take place. Protocols register handlers and, optionally, packet queues;
+ * when packets are delivered to the queue, the protocol handler will be
+ * executed directly, or via deferred dispatch depending on the
+ * circumstances.
*
- * You can switch into the network by doing splnet() and return by splx().
- * The software interrupt level for the network is higher than the software
- * level for the clock (so you can enter the network in routines called
- * at timeout time).
- */
-
-/*
- * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
- * word which is used to de-multiplex a single software
- * interrupt used for scheduling the network code to calls
- * on the lowest level routine of each protocol.
+ * Historically, this was implemented by the BSD software ISR facility; it is
+ * now implemented via a software ithread (SWI).
*/
#define NETISR_POLL 0 /* polling callback, must be first */
#define NETISR_IP 2 /* same as AF_INET */
@@ -64,7 +60,6 @@
#define NETISR_NETGRAPH 30
#define NETISR_POLLMORE 31 /* polling callback, must be last */
-
#ifndef LOCORE
#ifdef _KERNEL
OpenPOWER on IntegriCloud