[BACK]Return to raw_ip.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/raw_ip.c between version 1.55 and 1.55.2.2

version 1.55, 2001/02/26 07:20:44 version 1.55.2.2, 2001/11/14 19:17:55
Line 64 
Line 64 
  *      @(#)raw_ip.c    8.7 (Berkeley) 5/15/95   *      @(#)raw_ip.c    8.7 (Berkeley) 5/15/95
  */   */
   
   #include <sys/cdefs.h>
   __KERNEL_RCSID(0, "$NetBSD$");
   
 #include "opt_ipsec.h"  #include "opt_ipsec.h"
 #include "opt_mrouting.h"  #include "opt_mrouting.h"
   
Line 162  rip_input(m, va_alist)
Line 165  rip_input(m, va_alist)
          */           */
         ip->ip_len -= ip->ip_hl << 2;          ip->ip_len -= ip->ip_hl << 2;
   
         for (inp = rawcbtable.inpt_queue.cqh_first;          CIRCLEQ_FOREACH(inp, &rawcbtable.inpt_queue, inp_queue) {
             inp != (struct inpcb *)&rawcbtable.inpt_queue;  
             inp = inp->inp_queue.cqe_next) {  
                 if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto)                  if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto)
                         continue;                          continue;
                 if (!in_nullhost(inp->inp_laddr) &&                  if (!in_nullhost(inp->inp_laddr) &&
Line 389  rip_bind(inp, nam)
Line 390  rip_bind(inp, nam)
   
         if (nam->m_len != sizeof(*addr))          if (nam->m_len != sizeof(*addr))
                 return (EINVAL);                  return (EINVAL);
         if (ifnet.tqh_first == 0)          if (TAILQ_FIRST(&ifnet) == 0)
                 return (EADDRNOTAVAIL);                  return (EADDRNOTAVAIL);
         if (addr->sin_family != AF_INET &&          if (addr->sin_family != AF_INET &&
             addr->sin_family != AF_IMPLINK)              addr->sin_family != AF_IMPLINK)
Line 410  rip_connect(inp, nam)
Line 411  rip_connect(inp, nam)
   
         if (nam->m_len != sizeof(*addr))          if (nam->m_len != sizeof(*addr))
                 return (EINVAL);                  return (EINVAL);
         if (ifnet.tqh_first == 0)          if (TAILQ_FIRST(&ifnet) == 0)
                 return (EADDRNOTAVAIL);                  return (EADDRNOTAVAIL);
         if (addr->sin_family != AF_INET &&          if (addr->sin_family != AF_INET &&
             addr->sin_family != AF_IMPLINK)              addr->sin_family != AF_IMPLINK)
Line 450  rip_usrreq(so, req, m, nam, control, p)
Line 451  rip_usrreq(so, req, m, nam, control, p)
                     (struct ifnet *)control, p));                      (struct ifnet *)control, p));
   
         if (req == PRU_PURGEIF) {          if (req == PRU_PURGEIF) {
                   in_pcbpurgeif0(&rawcbtable, (struct ifnet *)control);
                 in_purgeif((struct ifnet *)control);                  in_purgeif((struct ifnet *)control);
                 in_pcbpurgeif(&rawcbtable, (struct ifnet *)control);                  in_pcbpurgeif(&rawcbtable, (struct ifnet *)control);
                 return (0);                  return (0);
Line 487  rip_usrreq(so, req, m, nam, control, p)
Line 489  rip_usrreq(so, req, m, nam, control, p)
                         break;                          break;
                 inp = sotoinpcb(so);                  inp = sotoinpcb(so);
                 inp->inp_ip.ip_p = (long)nam;                  inp->inp_ip.ip_p = (long)nam;
 #ifdef IPSEC  
                 error = ipsec_init_policy(so, &inp->inp_sp);  
                 if (error != 0) {  
                         in_pcbdetach(inp);  
                         break;  
                 }  
 #endif /*IPSEC*/  
                 break;                  break;
   
         case PRU_DETACH:          case PRU_DETACH:

Legend:
Removed from v.1.55  
changed lines
  Added in v.1.55.2.2

CVSweb <webmaster@jp.NetBSD.org>