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/netipsec/xform_ipip.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/netipsec/xform_ipip.c')
-rw-r--r-- | sys/netipsec/xform_ipip.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/netipsec/xform_ipip.c b/sys/netipsec/xform_ipip.c index 9d49a3e..11ec9b9 100644 --- a/sys/netipsec/xform_ipip.c +++ b/sys/netipsec/xform_ipip.c @@ -165,7 +165,6 @@ _ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp) register struct sockaddr_in *sin; register struct ifnet *ifp; register struct ifaddr *ifa; - struct ifqueue *ifq = NULL; struct ip *ipo; #ifdef INET6 register struct sockaddr_in6 *sin6; @@ -368,13 +367,11 @@ _ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp) switch (v >> 4) { #ifdef INET case 4: - ifq = &ipintrq; isr = NETISR_IP; break; #endif #ifdef INET6 case 6: - ifq = &ip6intrq; isr = NETISR_IPV6; break; #endif @@ -382,12 +379,9 @@ _ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp) panic("ipip_input: should never reach here"); } - if (!IF_HANDOFF(ifq, m, NULL)) { + if (!netisr_queue(isr, m)) { ipipstat.ipips_qfull++; - DPRINTF(("ipip_input: packet dropped because of full queue\n")); - } else { - schednetisr(isr); } } |