[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.104 and 1.105

version 1.104, 2008/04/07 06:31:28 version 1.105, 2008/04/12 05:58:22
Line 86  __KERNEL_RCSID(0, "$NetBSD$");
Line 86  __KERNEL_RCSID(0, "$NetBSD$");
 #include <netinet/in_systm.h>  #include <netinet/in_systm.h>
 #include <netinet/ip.h>  #include <netinet/ip.h>
 #include <netinet/ip_var.h>  #include <netinet/ip_var.h>
   #include <netinet/ip_private.h>
 #include <netinet/ip_mroute.h>  #include <netinet/ip_mroute.h>
 #include <netinet/ip_icmp.h>  #include <netinet/ip_icmp.h>
 #include <netinet/in_pcb.h>  #include <netinet/in_pcb.h>
Line 215  rip_input(struct mbuf *m, ...)
Line 216  rip_input(struct mbuf *m, ...)
         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);
                 ipsecstat.in_polvio++;                  ipsecstat.in_polvio++;
                 ipstat[IP_STAT_DELIVERED]--;                  IP_STATDEC(IP_STAT_DELIVERED);
                 /* do not inject data to pcb */                  /* do not inject data to pcb */
         } else          } else
 #endif /*IPSEC*/  #endif /*IPSEC*/
         if (last != NULL)          if (last != NULL)
                 rip_sbappendaddr(last, ip, sintosa(&ripsrc), hlen, opts, m);                  rip_sbappendaddr(last, ip, sintosa(&ripsrc), hlen, opts, m);
         else if (inetsw[ip_protox[ip->ip_p]].pr_input == rip_input) {          else if (inetsw[ip_protox[ip->ip_p]].pr_input == rip_input) {
                   uint64_t *ips;
   
                 icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_PROTOCOL,                  icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_PROTOCOL,
                     0, 0);                      0, 0);
                 ipstat[IP_STAT_NOPROTO]++;                  ips = IP_STAT_GETREF();
                 ipstat[IP_STAT_DELIVERED]--;                  ips[IP_STAT_NOPROTO]++;
                   ips[IP_STAT_DELIVERED]--;
                   IP_STAT_PUTREF();
         } else          } else
                 m_freem(m);                  m_freem(m);
         return;          return;
Line 363  rip_output(struct mbuf *m, ...)
Line 368  rip_output(struct mbuf *m, ...)
                 opts = NULL;                  opts = NULL;
                 /* XXX prevent ip_output from overwriting header fields */                  /* XXX prevent ip_output from overwriting header fields */
                 flags |= IP_RAWOUTPUT;                  flags |= IP_RAWOUTPUT;
                 ipstat[IP_STAT_RAWOUT]++;                  IP_STATINC(IP_STAT_RAWOUT);
         }          }
         return (ip_output(m, opts, &inp->inp_route, flags, inp->inp_moptions,          return (ip_output(m, opts, &inp->inp_route, flags, inp->inp_moptions,
              inp->inp_socket, &inp->inp_errormtu));               inp->inp_socket, &inp->inp_errormtu));

Legend:
Removed from v.1.104  
changed lines
  Added in v.1.105

CVSweb <webmaster@jp.NetBSD.org>