[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.31 and 1.32

version 1.31, 1996/06/23 12:12:49 version 1.32, 1996/09/09 14:51:19
Line 84  rip_init()
Line 84  rip_init()
         in_pcbinit(&rawcbtable, 1);          in_pcbinit(&rawcbtable, 1);
 }  }
   
 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 102  rip_input(m, va_alist)
Line 101  rip_input(m, va_alist)
         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 socket *last = 0;          struct socket *last = 0;
           struct sockaddr_in ripsrc;
   
           ripsrc.sin_family = AF_INET;
           ripsrc.sin_len = sizeof(struct sockaddr_in);
         ripsrc.sin_addr = ip->ip_src;          ripsrc.sin_addr = ip->ip_src;
   
         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 != ip->ip_p)
                         continue;                          continue;
                 if (inp->inp_laddr.s_addr != INADDR_ANY &&                  if (!in_nullhost(inp->inp_laddr) &&
                     inp->inp_laddr.s_addr != ip->ip_dst.s_addr)                      !in_hosteq(inp->inp_laddr, ip->ip_dst))
                         continue;                          continue;
                 if (inp->inp_faddr.s_addr != INADDR_ANY &&                  if (!in_nullhost(inp->inp_faddr) &&
                     inp->inp_faddr.s_addr != ip->ip_src.s_addr)                      !in_hosteq(inp->inp_faddr, ip->ip_src))
                         continue;                          continue;
                 if (last) {                  if (last) {
                         struct mbuf *n;                          struct mbuf *n;
Line 285  rip_bind(inp, nam)
Line 288  rip_bind(inp, nam)
         if (addr->sin_family != AF_INET &&          if (addr->sin_family != AF_INET &&
             addr->sin_family != AF_IMPLINK)              addr->sin_family != AF_IMPLINK)
                 return (EAFNOSUPPORT);                  return (EAFNOSUPPORT);
         if (addr->sin_addr.s_addr != INADDR_ANY &&          if (!in_nullhost(addr->sin_addr) &&
             ifa_ifwithaddr(sintosa(addr)) == 0)              ifa_ifwithaddr(sintosa(addr)) == 0)
                 return (EADDRNOTAVAIL);                  return (EADDRNOTAVAIL);
         inp->inp_laddr = addr->sin_addr;          inp->inp_laddr = addr->sin_addr;
Line 315  rip_disconnect(inp)
Line 318  rip_disconnect(inp)
         struct inpcb *inp;          struct inpcb *inp;
 {  {
   
         inp->inp_faddr.s_addr = INADDR_ANY;          inp->inp_faddr = zeroin_addr;
 }  }
   
 u_long  rip_sendspace = RIPSNDQ;  u_long  rip_sendspace = RIPSNDQ;

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32

CVSweb <webmaster@jp.NetBSD.org>