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)); |