diff options
author | jlemon <jlemon@FreeBSD.org> | 2003-03-04 23:19:55 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2003-03-04 23:19:55 +0000 |
commit | 04e28d5a816573d1300b4591306a8785d3ace29c (patch) | |
tree | f304f726e8973253d3e8a87e56119fec0276a61c /sys/netnatm/natm.c | |
parent | 45fcac94f475f1d18d50dde4f72eb51ee4abddcc (diff) | |
download | FreeBSD-src-04e28d5a816573d1300b4591306a8785d3ace29c.zip FreeBSD-src-04e28d5a816573d1300b4591306a8785d3ace29c.tar.gz |
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
Diffstat (limited to 'sys/netnatm/natm.c')
-rw-r--r-- | sys/netnatm/natm.c | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/sys/netnatm/natm.c b/sys/netnatm/natm.c index e0535b6..2df3c22 100644 --- a/sys/netnatm/natm.c +++ b/sys/netnatm/natm.c @@ -698,21 +698,12 @@ done: */ void -natmintr() - +natmintr(struct mbuf *m) { int s; - struct mbuf *m; struct socket *so; struct natmpcb *npcb; -next: - s = splimp(); - IF_DEQUEUE(&natmintrq, m); - splx(s); - if (m == NULL) - return; - #ifdef DIAGNOSTIC if ((m->m_flags & M_PKTHDR) == 0) panic("natmintr no HDR"); @@ -729,12 +720,12 @@ next: m_freem(m); if (npcb->npcb_inq == 0) FREE(npcb, M_PCB); /* done! */ - goto next; + return; } if (npcb->npcb_flags & NPCB_FREE) { m_freem(m); /* drop */ - goto next; + return; } #ifdef NEED_TO_RESTORE_IFP @@ -760,21 +751,8 @@ m->m_pkthdr.rcvif = NULL; /* null it out to be safe */ #endif m_freem(m); } - - goto next; } -#if defined(__FreeBSD__) -static void -netisr_natm_setup(void *dummy __unused) -{ - - register_netisr(NETISR_NATM, natmintr); -} -SYSINIT(natm_setup, SI_SUB_CPU, SI_ORDER_ANY, netisr_natm_setup, NULL); -#endif - - /* * natm0_sysctl: not used, but here in case we want to add something * later... |