[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.42 and 1.42.6.1

version 1.42, 1999/01/30 21:43:16 version 1.42.6.1, 1999/06/28 06:37:01
Line 60 
Line 60 
   
 #include <machine/stdarg.h>  #include <machine/stdarg.h>
   
   #ifdef IPSEC
   #include <netinet6/ipsec.h>
   #endif /*IPSEC*/
   
 struct inpcbtable rawcbtable;  struct inpcbtable rawcbtable;
   
 int      rip_bind __P((struct inpcb *, struct mbuf *));  int      rip_bind __P((struct inpcb *, struct mbuf *));
Line 86  rip_init()
Line 90  rip_init()
         in_pcbinit(&rawcbtable, 1, 1);          in_pcbinit(&rawcbtable, 1, 1);
 }  }
   
   static struct   sockaddr_in ripsrc = { sizeof(ripsrc), AF_INET };
   
 /*  /*
  * Setup generic address and protocol structures   * Setup generic address and protocol structures
  * for raw_input routine, then pass them along with   * for raw_input routine, then pass them along with
Line 100  rip_input(m, va_alist)
Line 106  rip_input(m, va_alist)
         va_dcl          va_dcl
 #endif  #endif
 {  {
           int off, proto;
         register struct ip *ip = mtod(m, struct ip *);          register struct ip *ip = mtod(m, struct ip *);
         register struct inpcb *inp;          register struct inpcb *inp;
         struct inpcb *last = 0;          struct inpcb *last = 0;
         struct mbuf *opts = 0;          struct mbuf *opts = 0;
         struct sockaddr_in ripsrc;          struct sockaddr_in ripsrc;
           va_list ap;
   
           va_start(ap, m);
           off = va_arg(ap, int);
           proto = va_arg(ap, int);
           va_end(ap);
   
         ripsrc.sin_family = AF_INET;          ripsrc.sin_family = AF_INET;
         ripsrc.sin_len = sizeof(struct sockaddr_in);          ripsrc.sin_len = sizeof(struct sockaddr_in);
Line 121  rip_input(m, va_alist)
Line 134  rip_input(m, va_alist)
         for (inp = rawcbtable.inpt_queue.cqh_first;          for (inp = rawcbtable.inpt_queue.cqh_first;
             inp != (struct inpcb *)&rawcbtable.inpt_queue;              inp != (struct inpcb *)&rawcbtable.inpt_queue;
             inp = inp->inp_queue.cqe_next) {              inp = inp->inp_queue.cqe_next) {
                 if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != ip->ip_p)                  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) &&
                     !in_hosteq(inp->inp_laddr, ip->ip_dst))                      !in_hosteq(inp->inp_laddr, ip->ip_dst))
Line 164  rip_input(m, va_alist)
Line 177  rip_input(m, va_alist)
                 ipstat.ips_noproto++;                  ipstat.ips_noproto++;
                 ipstat.ips_delivered--;                  ipstat.ips_delivered--;
         }          }
           return;
 }  }
   
 /*  /*
Line 229  rip_output(m, va_alist)
Line 243  rip_output(m, va_alist)
                 flags |= IP_RAWOUTPUT;                  flags |= IP_RAWOUTPUT;
                 ipstat.ips_rawout++;                  ipstat.ips_rawout++;
         }          }
   #ifdef IPSEC
           m->m_pkthdr.rcvif = (struct ifnet *)inp->inp_socket;    /*XXX*/
   #endif /*IPSEC*/
         return (ip_output(m, opts, &inp->inp_route, flags, inp->inp_moptions, &inp->inp_errormtu));          return (ip_output(m, opts, &inp->inp_route, flags, inp->inp_moptions, &inp->inp_errormtu));
 }  }
   
Line 409  rip_usrreq(so, req, m, nam, control, p)
Line 426  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(&inp->inp_sp);
   #endif /*IPSEC*/
                 break;                  break;
   
         case PRU_DETACH:          case PRU_DETACH:

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.42.6.1

CVSweb <webmaster@jp.NetBSD.org>