[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.236.4.2 and 1.237

version 1.236.4.2, 2008/06/03 20:47:41 version 1.237, 2006/12/06 00:38:16
Line 1013  found:
Line 1013  found:
                         /* XXX error stat??? */                          /* XXX error stat??? */
                         error = EINVAL;                          error = EINVAL;
 DPRINTF(("ip_input: no SP, packet discarded\n"));/*XXX*/  DPRINTF(("ip_input: no SP, packet discarded\n"));/*XXX*/
                           goto bad;
                 }                  }
                 splx(s);                  splx(s);
                 if (error)                  if (error)
Line 1727  ip_srcroute(void)
Line 1728  ip_srcroute(void)
         struct mbuf *m;          struct mbuf *m;
   
         if (ip_nhops == 0)          if (ip_nhops == 0)
                 return ((struct mbuf *)0);                  return NULL;
         m = m_get(M_DONTWAIT, MT_SOOPTS);          m = m_get(M_DONTWAIT, MT_SOOPTS);
         if (m == 0)          if (m == 0)
                 return ((struct mbuf *)0);                  return NULL;
   
         MCLAIM(m, &inetdomain.dom_mowner);          MCLAIM(m, &inetdomain.dom_mowner);
 #define OPTSIZ  (sizeof(ip_srcrt.nop) + sizeof(ip_srcrt.srcopt))  #define OPTSIZ  (sizeof(ip_srcrt.nop) + sizeof(ip_srcrt.srcopt))
Line 1976  ip_forward(struct mbuf *m, int srcrt)
Line 1977  ip_forward(struct mbuf *m, int srcrt)
         case EMSGSIZE:          case EMSGSIZE:
                 type = ICMP_UNREACH;                  type = ICMP_UNREACH;
                 code = ICMP_UNREACH_NEEDFRAG;                  code = ICMP_UNREACH_NEEDFRAG;
   #if !defined(IPSEC) && !defined(FAST_IPSEC)
                   if (ipforward_rt.ro_rt)
                           destmtu = ipforward_rt.ro_rt->rt_ifp->if_mtu;
   #else
                   /*
                    * If the packet is routed over IPsec tunnel, tell the
                    * originator the tunnel MTU.
                    *      tunnel MTU = if MTU - sizeof(IP) - ESP/AH hdrsiz
                    * XXX quickhack!!!
                    */
                 if (ipforward_rt.ro_rt) {                  if (ipforward_rt.ro_rt) {
   
 #if defined(IPSEC) || defined(FAST_IPSEC)  
                         /*  
                          * If the packet is routed over IPsec tunnel, tell the  
                          * originator the tunnel MTU.  
                          *      tunnel MTU = if MTU - sizeof(IP) - ESP/AH hdrsiz  
                          * XXX quickhack!!!  
                          */  
   
                         struct secpolicy *sp;                          struct secpolicy *sp;
                         int ipsecerror;                          int ipsecerror;
                         size_t ipsechdr;                          size_t ipsechdr;
Line 1995  ip_forward(struct mbuf *m, int srcrt)
Line 1996  ip_forward(struct mbuf *m, int srcrt)
                         sp = ipsec4_getpolicybyaddr(mcopy,                          sp = ipsec4_getpolicybyaddr(mcopy,
                             IPSEC_DIR_OUTBOUND, IP_FORWARDING,                              IPSEC_DIR_OUTBOUND, IP_FORWARDING,
                             &ipsecerror);                              &ipsecerror);
 #endif  
   
                         destmtu = ipforward_rt.ro_rt->rt_ifp->if_mtu;                          if (sp == NULL)
 #if defined(IPSEC) || defined(FAST_IPSEC)                                  destmtu = ipforward_rt.ro_rt->rt_ifp->if_mtu;
                         if (sp != NULL) {                          else {
                                 /* count IPsec header size */                                  /* count IPsec header size */
                                 ipsechdr = ipsec4_hdrsiz(mcopy,                                  ipsechdr = ipsec4_hdrsiz(mcopy,
                                     IPSEC_DIR_OUTBOUND, NULL);                                      IPSEC_DIR_OUTBOUND, NULL);
Line 2028  ip_forward(struct mbuf *m, int srcrt)
Line 2028  ip_forward(struct mbuf *m, int srcrt)
                                 KEY_FREESP(&sp);                                  KEY_FREESP(&sp);
 #endif  #endif
                         }                          }
 #endif /*defined(IPSEC) || defined(FAST_IPSEC)*/  
                 }                  }
   #endif /*IPSEC*/
                 ipstat.ips_cantfrag++;                  ipstat.ips_cantfrag++;
                 break;                  break;
   

Legend:
Removed from v.1.236.4.2  
changed lines
  Added in v.1.237

CVSweb <webmaster@jp.NetBSD.org>