[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.5 and 1.6

version 1.5, 1993/05/22 11:42:37 version 1.6, 1993/12/06 04:59:44
Line 119  rip_output(m, so)
Line 119  rip_output(m, so)
         return (ip_output(m,          return (ip_output(m,
            (rp->rinp_flags & RINPF_HDRINCL)? (struct mbuf *)0: rp->rinp_options,             (rp->rinp_flags & RINPF_HDRINCL)? (struct mbuf *)0: rp->rinp_options,
             &rp->rinp_route,              &rp->rinp_route,
            (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST));             (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST
   #ifdef MULTICAST
                   | IP_MULTICASTOPTS, rp->rinp_rcb.rcb_moptions
   #endif
           ));
 }  }
   
 /*  /*
Line 154  rip_ctloutput(op, so, level, optname, m)
Line 158  rip_ctloutput(op, so, level, optname, m)
                         else                          else
                                 rp->rinp_flags &= ~RINPF_HDRINCL;                                  rp->rinp_flags &= ~RINPF_HDRINCL;
                         break;                          break;
   #ifdef MULTICAST
                   case IP_MULTICAST_IF:
                   case IP_MULTICAST_TTL:
                   case IP_MULTICAST_LOOP:
                   case IP_ADD_MEMBERSHIP:
                   case IP_DROP_MEMBERSHIP:
                           error = ip_setmoptions(optname,
                                                  &rp->rinp_rcb.rcb_moptions, *m);
                           break;
                 default:                  default:
   #ifdef MROUTING
                           error = ip_mrouter_cmd(optname, so, *m);
   #else
                         error = EINVAL;                          error = EINVAL;
   #endif
                         break;                          break;
   #else
                   default:
                           error = EINVAL;
                           break;
   #endif
                 }                  }
                 break;                  break;
   
Line 178  rip_ctloutput(op, so, level, optname, m)
Line 199  rip_ctloutput(op, so, level, optname, m)
                         (*m)->m_len = sizeof (int);                          (*m)->m_len = sizeof (int);
                         *mtod(*m, int *) = rp->rinp_flags & RINPF_HDRINCL;                          *mtod(*m, int *) = rp->rinp_flags & RINPF_HDRINCL;
                         break;                          break;
   #ifdef MULTICAST
                   case IP_MULTICAST_IF:
                   case IP_MULTICAST_TTL:
                   case IP_MULTICAST_LOOP:
                   case IP_ADD_MEMBERSHIP:
                   case IP_DROP_MEMBERSHIP:
                           error = ip_getmoptions(optname,
                                                   rp->rinp_rcb.rcb_moptions, m);
                         break;
   #endif
                 default:                  default:
                         error = EINVAL;                          error = EINVAL;
                         m_freem(*m);                          m_freem(*m);
Line 200  rip_usrreq(so, req, m, nam, control)
Line 230  rip_usrreq(so, req, m, nam, control)
 {  {
         register int error = 0;          register int error = 0;
         register struct raw_inpcb *rp = sotorawinpcb(so);          register struct raw_inpcb *rp = sotorawinpcb(so);
   #if defined(MULTICAST) && defined(MROUTING)
           extern struct socket *ip_mrouter;
   #endif
         switch (req) {          switch (req) {
   
         case PRU_ATTACH:          case PRU_ATTACH:
Line 216  rip_usrreq(so, req, m, nam, control)
Line 248  rip_usrreq(so, req, m, nam, control)
         case PRU_DETACH:          case PRU_DETACH:
                 if (rp == 0)                  if (rp == 0)
                         panic("rip_detach");                          panic("rip_detach");
   #if defined(MULTICAST) && defined(MROUTING)
                   if (so == ip_mrouter)
                           ip_mrouter_done();
   #endif
                 if (rp->rinp_options)                  if (rp->rinp_options)
                         m_freem(rp->rinp_options);                          m_freem(rp->rinp_options);
   #ifdef MULTICAST
                   if (rp->rinp_rcb.rcb_moptions)
                           ip_freemoptions(rp->rinp_rcb.rcb_moptions);
   #endif
                 if (rp->rinp_route.ro_rt)                  if (rp->rinp_route.ro_rt)
                         RTFREE(rp->rinp_route.ro_rt);                          RTFREE(rp->rinp_route.ro_rt);
                 if (rp->rinp_rcb.rcb_laddr)                  if (rp->rinp_rcb.rcb_laddr)

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

CVSweb <webmaster@jp.NetBSD.org>