summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_mroute.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/ip_mroute.c')
-rw-r--r--sys/netinet/ip_mroute.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c
index d1122b1..fb7a2b8 100644
--- a/sys/netinet/ip_mroute.c
+++ b/sys/netinet/ip_mroute.c
@@ -1622,8 +1622,6 @@ ipip_input(m, off, proto)
struct ifnet *ifp = m->m_pkthdr.rcvif;
register struct ip *ip = mtod(m, struct ip *);
register int hlen = ip->ip_hl << 2;
- register int s;
- register struct ifqueue *ifq;
register struct vif *vifp;
if (!have_encap_tunnel) {
@@ -1675,13 +1673,7 @@ ipip_input(m, off, proto)
m->m_pkthdr.len -= IP_HDR_LEN;
m->m_pkthdr.rcvif = ifp;
- ifq = &ipintrq;
- s = splimp();
- if (IF_QFULL(ifq)) {
- IF_DROP(ifq);
- m_freem(m);
- } else {
- IF_ENQUEUE(ifq, m);
+ (void) IF_HANDOFF(&ipintrq, m, NULL);
/*
* normally we would need a "schednetisr(NETISR_IP)"
* here but we were called by ip_input and it is going
@@ -1689,8 +1681,6 @@ ipip_input(m, off, proto)
* queued as soon as we return so we avoid the
* unnecessary software interrrupt.
*/
- }
- splx(s);
}
/*
OpenPOWER on IntegriCloud