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

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

Diff for /src/sys/netinet6/ip6_input.c between version 1.8.2.6 and 1.37.2.1

version 1.8.2.6, 2001/03/27 15:32:37 version 1.37.2.1, 2001/03/05 22:49:57
Line 81 
Line 81 
 #include <sys/time.h>  #include <sys/time.h>
 #include <sys/kernel.h>  #include <sys/kernel.h>
 #include <sys/syslog.h>  #include <sys/syslog.h>
   #include <sys/lwp.h>
 #include <sys/proc.h>  #include <sys/proc.h>
   
 #include <net/if.h>  #include <net/if.h>
Line 303  ip6_input(m)
Line 304  ip6_input(m)
          * Note that filters must _never_ set this flag, as another filter           * Note that filters must _never_ set this flag, as another filter
          * in the list may have previously cleared it.           * in the list may have previously cleared it.
          */           */
         /*          if (pfil_run_hooks(&inet6_pfil_hook, &m, m->m_pkthdr.rcvif,
          * let ipfilter look at packet on the wire,                             PFIL_IN) != 0)
          * not the decapsulated packet.                  return;
          */          if (m == NULL)
 #ifdef IPSEC                  return;
         if (!ipsec_gethist(m, NULL))          ip6 = mtod(m, struct ip6_hdr *);
 #else  
         if (1)  
 #endif  
         {  
                 if (pfil_run_hooks(&inet6_pfil_hook, &m, m->m_pkthdr.rcvif,  
                                    PFIL_IN) != 0)  
                         return;  
                 if (m == NULL)  
                         return;  
                 ip6 = mtod(m, struct ip6_hdr *);  
         }  
 #endif /* PFIL_HOOKS */  #endif /* PFIL_HOOKS */
   
   
Line 389  ip6_input(m)
Line 379  ip6_input(m)
                 }                  }
         }          }
   
         /* drop packets if interface ID portion is already filled */  
         if ((m->m_pkthdr.rcvif->if_flags & IFF_LOOPBACK) == 0) {  
                 if (IN6_IS_SCOPE_LINKLOCAL(&ip6->ip6_src) &&  
                     ip6->ip6_src.s6_addr16[1]) {  
                         ip6stat.ip6s_badscope++;  
                         goto bad;  
                 }  
                 if (IN6_IS_SCOPE_LINKLOCAL(&ip6->ip6_dst) &&  
                     ip6->ip6_dst.s6_addr16[1]) {  
                         ip6stat.ip6s_badscope++;  
                         goto bad;  
                 }  
         }  
   
 #ifndef FAKE_LOOPBACK_IF  #ifndef FAKE_LOOPBACK_IF
         if ((m->m_pkthdr.rcvif->if_flags & IFF_LOOPBACK) == 0)          if ((m->m_pkthdr.rcvif->if_flags & IFF_LOOPBACK) == 0)
 #else  #else
Line 1003  ip6_savecontrol(in6p, mp, ip6, m)
Line 979  ip6_savecontrol(in6p, mp, ip6, m)
         struct ip6_hdr *ip6;          struct ip6_hdr *ip6;
         struct mbuf *m;          struct mbuf *m;
 {  {
         struct proc *p = curproc;       /* XXX */          struct proc *p = curproc->l_proc;       /* XXX */
         int privileged;          int privileged;
   
         privileged = 0;          privileged = 0;

Legend:
Removed from v.1.8.2.6  
changed lines
  Added in v.1.37.2.1

CVSweb <webmaster@jp.NetBSD.org>