[BACK]Return to ip_input.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netinet

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netinet/ip_input.c between version 1.32 and 1.33

version 1.32, 1996/08/14 03:46:44 version 1.33, 1996/09/06 05:07:44
Line 153  struct route ipforward_rt;
Line 153  struct route ipforward_rt;
 void  void
 ipintr()  ipintr()
 {  {
         register struct ip *ip;          register struct ip *ip = NULL;
         register struct mbuf *m;          register struct mbuf *m;
         register struct ipq *fp;          register struct ipq *fp;
         register struct in_ifaddr *ia;          register struct in_ifaddr *ia;
         struct ipqent *ipqe;          struct ipqent *ipqe;
         int hlen, mff, s;          int hlen = 0, mff, s;
   #ifdef PACKET_FILTER
           struct packet_filter_hook *pfh;
           struct mbuf *m0;
   #endif /* PACKET_FILTER */
   
 next:  next:
         /*          /*
Line 237  next:
Line 241  next:
                         m_adj(m, ip->ip_len - m->m_pkthdr.len);                          m_adj(m, ip->ip_len - m->m_pkthdr.len);
         }          }
   
   #ifdef PACKET_FILTER
           /*
            * Run through list of hooks for input packets.
            */
           m0 = m;
           for (pfh = pfil_hook_get(PFIL_IN); pfh; pfh = pfh->pfil_link.le_next)
                   if (pfh->pfil_func) {
                           if (pfh->pfil_func(ip, hlen, m->m_pkthdr.rcvif, 0, &m0))
                                   goto bad;
                           ip = mtod(m = m0, struct ip *);
                   }
   #endif /* PACKET_FILTER */
   
         /*          /*
          * Process options and, if not destined for us,           * Process options and, if not destined for us,
          * ship it on.  ip_dooptions returns 1 when an           * ship it on.  ip_dooptions returns 1 when an
Line 418  found:
Line 435  found:
         (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen);          (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen);
         goto next;          goto next;
 bad:  bad:
   #ifdef PACKET_FILTER
           m0 = m;
           for (pfh = pfil_hook_get(PFIL_BAD); pfh; pfh = pfh->pfil_link.le_next)
                   if (pfh->pfil_func) {
                           (void)pfh->pfil_func(ip, hlen, m->m_pkthdr.rcvif, 2, &m0);
                           ip = mtod(m = m0, struct ip *);
                   }
   #endif /* PACKET_FILTER */
         m_freem(m);          m_freem(m);
         goto next;          goto next;
 }  }

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.33

CVSweb <webmaster@jp.NetBSD.org>