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/net/if_stf.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/net/if_stf.c')
-rw-r--r-- | sys/net/if_stf.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index 1d84836..e8ed1ca 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -614,8 +614,6 @@ in_stf_input(m, off) struct ip *ip; struct ip6_hdr *ip6; u_int8_t otos, itos; - int len, isr; - struct ifqueue *ifq = NULL; struct ifnet *ifp; proto = mtod(m, struct ip *)->ip_p; @@ -708,15 +706,9 @@ in_stf_input(m, off) * See net/if_gif.c for possible issues with packet processing * reorder due to extra queueing. */ - ifq = &ip6intrq; - isr = NETISR_IPV6; - - len = m->m_pkthdr.len; - if (! IF_HANDOFF(ifq, m, NULL)) - return; - schednetisr(isr); ifp->if_ipackets++; - ifp->if_ibytes += len; + ifp->if_ibytes += m->m_pkthdr.len; + netisr_dispatch(NETISR_IPV6, m); } /* ARGSUSED */ |