[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.149 and 1.149.4.1

version 1.149, 2014/06/16 00:33:39 version 1.149.4.1, 2015/04/06 15:18:23
Line 748  ip6_input(struct mbuf *m)
Line 748  ip6_input(struct mbuf *m)
   
 #ifdef IPSEC  #ifdef IPSEC
                 if (ipsec_used) {                  if (ipsec_used) {
                         struct m_tag *mtag;  
                         struct tdb_ident *tdbi;  
                         struct secpolicy *sp;  
                         int s, error;  
   
                         /*                          /*
                          * enforce IPsec policy checking if we are seeing last                           * enforce IPsec policy checking if we are seeing last
                          * header. note that we do not visit this with                           * header. note that we do not visit this with
Line 760  ip6_input(struct mbuf *m)
Line 755  ip6_input(struct mbuf *m)
                          */                           */
                         if ((inet6sw[ip_protox[nxt]].pr_flags                          if ((inet6sw[ip_protox[nxt]].pr_flags
                             & PR_LASTHDR) != 0) {                              & PR_LASTHDR) != 0) {
                                 /*                                  int error = ipsec6_input(m);
                                  * Check if the packet has already had IPsec  
                                  * processing done. If so, then just pass it  
                                  * along. This tag gets set during AH, ESP,  
                                  * etc. input handling, before the packet is  
                                  * returned to the ip input queue for delivery.  
                                  */  
                                 mtag = m_tag_find(m, PACKET_TAG_IPSEC_IN_DONE,  
                                     NULL);  
                                 s = splsoftnet();  
                                 if (mtag != NULL) {  
                                         tdbi = (struct tdb_ident *)(mtag + 1);  
                                         sp = ipsec_getpolicy(tdbi,  
                                             IPSEC_DIR_INBOUND);  
                                 } else {  
                                         sp = ipsec_getpolicybyaddr(m,  
                                             IPSEC_DIR_INBOUND, IP_FORWARDING,  
                                             &error);  
                                 }  
                                 if (sp != NULL) {  
                                         /*  
                                          * Check security policy against packet  
                                          * attributes.  
                                          */  
                                         error = ipsec_in_reject(sp, m);  
                                         KEY_FREESP(&sp);  
                                 } else {  
                                         /* XXX error stat??? */  
                                         error = EINVAL;  
                                         DPRINTF(("ip6_input: no SP, packet"  
                                             " discarded\n"));/*XXX*/  
                                 }  
                                 splx(s);  
                                 if (error)                                  if (error)
                                         goto bad;                                          goto bad;
                         }                          }
Line 1902  sysctl_net_inet6_ip6_setup(struct sysctl
Line 1865  sysctl_net_inet6_ip6_setup(struct sysctl
                        CTL_CREATE, CTL_EOL);                         CTL_CREATE, CTL_EOL);
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT|CTLFLAG_READWRITE,                         CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                          CTLTYPE_INT, "prefer_tempaddr",
                          SYSCTL_DESCR("Prefer temporary address as source "
                                       "address"),
                          NULL, 0, &ip6_prefer_tempaddr, 0,
                          CTL_NET, PF_INET6, IPPROTO_IPV6,
                          CTL_CREATE, CTL_EOL);
           sysctl_createv(clog, 0, NULL, NULL,
                          CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
                        CTLTYPE_INT, "temppltime",                         CTLTYPE_INT, "temppltime",
                        SYSCTL_DESCR("preferred lifetime of a temporary address"),                         SYSCTL_DESCR("preferred lifetime of a temporary address"),
                        NULL, 0, &ip6_temp_preferred_lifetime, 0,                         NULL, 0, &ip6_temp_preferred_lifetime, 0,

Legend:
Removed from v.1.149  
changed lines
  Added in v.1.149.4.1

CVSweb <webmaster@jp.NetBSD.org>