[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.153 and 1.154

version 1.153, 2002/06/13 16:25:54 version 1.154, 2002/06/30 22:40:34
Line 420  ip_input(struct mbuf *m)
Line 420  ip_input(struct mbuf *m)
         if (TAILQ_FIRST(&in_ifaddr) == 0)          if (TAILQ_FIRST(&in_ifaddr) == 0)
                 goto bad;                  goto bad;
         ipstat.ips_total++;          ipstat.ips_total++;
         if (m->m_len < sizeof (struct ip) &&          /*
             (m = m_pullup(m, sizeof (struct ip))) == 0) {           * If the IP header is not aligned, slurp it up into a new
                 ipstat.ips_toosmall++;           * mbuf with space for link headers, in the event we forward
                 return;           * it.  Otherwise, if it is aligned, make sure the entire
            * base IP header is in the first mbuf of the chain.
            */
           if (IP_HDR_ALIGNED_P(mtod(m, caddr_t)) == 0) {
                   if ((m = m_copyup(m, sizeof(struct ip),
                                     (max_linkhdr + 3) & ~3)) == NULL) {
                           /* XXXJRT new stat, please */
                           ipstat.ips_toosmall++;
                           return;
                   }
           } else if (__predict_false(m->m_len < sizeof (struct ip))) {
                   if ((m = m_pullup(m, sizeof (struct ip))) == NULL) {
                           ipstat.ips_toosmall++;
                           return;
                   }
         }          }
         ip = mtod(m, struct ip *);          ip = mtod(m, struct ip *);
         if (ip->ip_v != IPVERSION) {          if (ip->ip_v != IPVERSION) {

Legend:
Removed from v.1.153  
changed lines
  Added in v.1.154

CVSweb <webmaster@jp.NetBSD.org>