version 1.1, 1993/03/21 09:45:37 |
version 1.2, 1993/05/04 05:41:18 |
|
|
register struct ipq *fp; |
register struct ipq *fp; |
register struct in_ifaddr *ia; |
register struct in_ifaddr *ia; |
int hlen, s; |
int hlen, s; |
|
#ifdef PARANOID |
|
static int busy = 0; |
|
|
|
if (busy) |
|
panic("ipintr: called recursively\n"); |
|
++busy; |
|
#endif |
next: |
next: |
/* |
/* |
* Get next datagram off input queue and get IP header |
* Get next datagram off input queue and get IP header |
|
|
s = splimp(); |
s = splimp(); |
IF_DEQUEUE(&ipintrq, m); |
IF_DEQUEUE(&ipintrq, m); |
splx(s); |
splx(s); |
if (m == 0) |
if (m == 0) { |
|
#ifdef PARANOID |
|
--busy; |
|
#endif |
return; |
return; |
|
} |
#ifdef DIAGNOSTIC |
#ifdef DIAGNOSTIC |
if ((m->m_flags & M_PKTHDR) == 0) |
if ((m->m_flags & M_PKTHDR) == 0) |
panic("ipintr no HDR"); |
panic("ipintr no HDR"); |