[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.193 and 1.193.2.1

version 1.193, 2018/02/24 07:37:09 version 1.193.2.1, 2018/03/15 09:12:07
Line 321  ip6_input(struct mbuf *m, struct ifnet *
Line 321  ip6_input(struct mbuf *m, struct ifnet *
         }          }
   
         /*          /*
          * Assume that we can create a fast-forward IP flow entry  
          * based on this packet.  
          */  
         m->m_flags |= M_CANFASTFWD;  
   
         /*  
          * Run through list of hooks for input packets.  If there are any  
          * filters which require that additional packets in the flow are  
          * not fast-forwarded, they must clear the M_CANFASTFWD flag.  
          * Note that filters must _never_ set this flag, as another filter  
          * in the list may have previously cleared it.  
          */  
         /*  
          * let ipfilter look at packet on the wire,  
          * not the decapsulated packet.  
          */  
 #if defined(IPSEC)  
         if (!ipsec_used || !ipsec_indone(m))  
 #else  
         if (1)  
 #endif  
         {  
                 struct in6_addr odst;  
   
                 odst = ip6->ip6_dst;  
                 if (pfil_run_hooks(inet6_pfil_hook, &m, rcvif, PFIL_IN) != 0)  
                         return;  
                 if (m == NULL)  
                         return;  
                 ip6 = mtod(m, struct ip6_hdr *);  
                 srcrt = !IN6_ARE_ADDR_EQUAL(&odst, &ip6->ip6_dst);  
         }  
   
         IP6_STATINC(IP6_STAT_NXTHIST + ip6->ip6_nxt);  
   
 #ifdef ALTQ  
         if (altq_input != NULL) {  
                 SOFTNET_LOCK();  
                 if ((*altq_input)(m, AF_INET6) == 0) {  
                         SOFTNET_UNLOCK();  
                         /* packet is dropped by traffic conditioner */  
                         return;  
                 }  
                 SOFTNET_UNLOCK();  
         }  
 #endif  
   
         /*  
          * Check against address spoofing/corruption.           * Check against address spoofing/corruption.
          */           */
         if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_src) ||          if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_src) ||
Line 417  ip6_input(struct mbuf *m, struct ifnet *
Line 369  ip6_input(struct mbuf *m, struct ifnet *
 #endif  #endif
   
         /*          /*
            * Assume that we can create a fast-forward IP flow entry
            * based on this packet.
            */
           m->m_flags |= M_CANFASTFWD;
   
           /*
            * Run through list of hooks for input packets.  If there are any
            * filters which require that additional packets in the flow are
            * not fast-forwarded, they must clear the M_CANFASTFWD flag.
            * Note that filters must _never_ set this flag, as another filter
            * in the list may have previously cleared it.
            */
           /*
            * let ipfilter look at packet on the wire,
            * not the decapsulated packet.
            */
   #if defined(IPSEC)
           if (!ipsec_used || !ipsec_indone(m))
   #else
           if (1)
   #endif
           {
                   struct in6_addr odst;
   
                   odst = ip6->ip6_dst;
                   if (pfil_run_hooks(inet6_pfil_hook, &m, rcvif, PFIL_IN) != 0)
                           return;
                   if (m == NULL)
                           return;
                   ip6 = mtod(m, struct ip6_hdr *);
                   srcrt = !IN6_ARE_ADDR_EQUAL(&odst, &ip6->ip6_dst);
           }
   
           IP6_STATINC(IP6_STAT_NXTHIST + ip6->ip6_nxt);
   
   #ifdef ALTQ
           if (altq_input != NULL) {
                   SOFTNET_LOCK();
                   if ((*altq_input)(m, AF_INET6) == 0) {
                           SOFTNET_UNLOCK();
                           /* packet is dropped by traffic conditioner */
                           return;
                   }
                   SOFTNET_UNLOCK();
           }
   #endif
   
           /*
          * Disambiguate address scope zones (if there is ambiguity).           * Disambiguate address scope zones (if there is ambiguity).
          * We first make sure that the original source or destination address           * We first make sure that the original source or destination address
          * is not in our internal form for scoped addresses.  Such addresses           * is not in our internal form for scoped addresses.  Such addresses

Legend:
Removed from v.1.193  
changed lines
  Added in v.1.193.2.1

CVSweb <webmaster@jp.NetBSD.org>