[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.112.2.2 and 1.113

version 1.112.2.2, 2014/05/22 11:41:10 version 1.113, 2011/12/19 11:59:57
Line 94  __KERNEL_RCSID(0, "$NetBSD$");
Line 94  __KERNEL_RCSID(0, "$NetBSD$");
 #include <netinet/in_proto.h>  #include <netinet/in_proto.h>
 #include <netinet/in_var.h>  #include <netinet/in_var.h>
   
 #ifdef IPSEC  #ifdef KAME_IPSEC
   #include <netinet6/ipsec.h>
   #include <netinet6/ipsec_private.h>
   #endif /* KAME_IPSEC */
   
   #ifdef FAST_IPSEC
 #include <netipsec/ipsec.h>  #include <netipsec/ipsec.h>
 #include <netipsec/ipsec_var.h>  #include <netipsec/ipsec_var.h>
 #include <netipsec/ipsec_private.h>  #include <netipsec/ipsec_private.h>
 #endif  /* IPSEC */  #endif  /* FAST_IPSEC */
   
 #ifdef COMPAT_50  #ifdef COMPAT_50
 #include <compat/sys/socket.h>  #include <compat/sys/socket.h>
Line 189  rip_input(struct mbuf *m, ...)
Line 194  rip_input(struct mbuf *m, ...)
         ip->ip_len = ntohs(ip->ip_len) - hlen;          ip->ip_len = ntohs(ip->ip_len) - hlen;
         NTOHS(ip->ip_off);          NTOHS(ip->ip_off);
   
         TAILQ_FOREACH(inph, &rawcbtable.inpt_queue, inph_queue) {          CIRCLEQ_FOREACH(inph, &rawcbtable.inpt_queue, inph_queue) {
                 inp = (struct inpcb *)inph;                  inp = (struct inpcb *)inph;
                 if (inp->inp_af != AF_INET)                  if (inp->inp_af != AF_INET)
                         continue;                          continue;
Line 203  rip_input(struct mbuf *m, ...)
Line 208  rip_input(struct mbuf *m, ...)
                         continue;                          continue;
                 if (last == NULL)                  if (last == NULL)
                         ;                          ;
 #if defined(IPSEC)  #if defined(KAME_IPSEC) || defined(FAST_IPSEC)
                 /* check AH/ESP integrity. */                  /* check AH/ESP integrity. */
                 else if (ipsec4_in_reject_so(m, last->inp_socket)) {                  else if (ipsec4_in_reject_so(m, last->inp_socket)) {
                         IPSEC_STATINC(IPSEC_STAT_IN_POLVIO);                          IPSEC_STATINC(IPSEC_STAT_IN_POLVIO);
Line 217  rip_input(struct mbuf *m, ...)
Line 222  rip_input(struct mbuf *m, ...)
                 }                  }
                 last = inp;                  last = inp;
         }          }
 #if defined(IPSEC)  #if defined(KAME_IPSEC) || defined(FAST_IPSEC)
         /* check AH/ESP integrity. */          /* check AH/ESP integrity. */
         if (last != NULL && ipsec4_in_reject_so(m, last->inp_socket)) {          if (last != NULL && ipsec4_in_reject_so(m, last->inp_socket)) {
                 m_freem(m);                  m_freem(m);
Line 247  rip_pcbnotify(struct inpcbtable *table,
Line 252  rip_pcbnotify(struct inpcbtable *table,
     struct in_addr faddr, struct in_addr laddr, int proto, int errno,      struct in_addr faddr, struct in_addr laddr, int proto, int errno,
     void (*notify)(struct inpcb *, int))      void (*notify)(struct inpcb *, int))
 {  {
         struct inpcb_hdr *inph, *ninph;          struct inpcb *inp, *ninp;
         int nmatch;          int nmatch;
   
         nmatch = 0;          nmatch = 0;
         TAILQ_FOREACH_SAFE(inph, &table->inpt_queue, inph_queue, ninph) {          for (inp = (struct inpcb *)CIRCLEQ_FIRST(&table->inpt_queue);
                 struct inpcb *inp = (struct inpcb *)inph;              inp != (struct inpcb *)&table->inpt_queue;
               inp = ninp) {
                   ninp = (struct inpcb *)inp->inp_queue.cqe_next;
                 if (inp->inp_af != AF_INET)                  if (inp->inp_af != AF_INET)
                         continue;                          continue;
                 if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto)                  if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto)
Line 476  rip_bind(struct inpcb *inp, struct mbuf 
Line 483  rip_bind(struct inpcb *inp, struct mbuf 
                 return (EINVAL);                  return (EINVAL);
         if (TAILQ_FIRST(&ifnet) == 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)
                 return (EAFNOSUPPORT);                  return (EAFNOSUPPORT);
         if (!in_nullhost(addr->sin_addr) &&          if (!in_nullhost(addr->sin_addr) &&
             ifa_ifwithaddr(sintosa(addr)) == 0)              ifa_ifwithaddr(sintosa(addr)) == 0)
Line 494  rip_connect(struct inpcb *inp, struct mb
Line 502  rip_connect(struct inpcb *inp, struct mb
                 return (EINVAL);                  return (EINVAL);
         if (TAILQ_FIRST(&ifnet) == 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)
                 return (EAFNOSUPPORT);                  return (EAFNOSUPPORT);
         inp->inp_faddr = addr->sin_addr;          inp->inp_faddr = addr->sin_addr;
         return (0);          return (0);
Line 693  sysctl_net_inet_raw_setup(struct sysctll
Line 702  sysctl_net_inet_raw_setup(struct sysctll
   
         sysctl_createv(clog, 0, NULL, NULL,          sysctl_createv(clog, 0, NULL, NULL,
                        CTLFLAG_PERMANENT,                         CTLFLAG_PERMANENT,
                          CTLTYPE_NODE, "net", NULL,
                          NULL, 0, NULL, 0,
                          CTL_NET, CTL_EOL);
           sysctl_createv(clog, 0, NULL, NULL,
                          CTLFLAG_PERMANENT,
                        CTLTYPE_NODE, "inet", NULL,                         CTLTYPE_NODE, "inet", NULL,
                        NULL, 0, NULL, 0,                         NULL, 0, NULL, 0,
                        CTL_NET, PF_INET, CTL_EOL);                         CTL_NET, PF_INET, CTL_EOL);

Legend:
Removed from v.1.112.2.2  
changed lines
  Added in v.1.113

CVSweb <webmaster@jp.NetBSD.org>