| version 1.42.4.1, 1999/07/01 23:47:02 |
version 1.42.4.2, 1999/08/02 22:34:59 |
|
|
| * @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 |
* @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 |
| */ |
*/ |
| |
|
| |
#include "opt_ipsec.h" |
| #include "opt_mrouting.h" |
#include "opt_mrouting.h" |
| |
|
| #include <sys/param.h> |
#include <sys/param.h> |
|
|
| #include <netinet/ip.h> |
#include <netinet/ip.h> |
| #include <netinet/ip_var.h> |
#include <netinet/ip_var.h> |
| #include <netinet/ip_mroute.h> |
#include <netinet/ip_mroute.h> |
| |
#include <netinet/ip_icmp.h> |
| #include <netinet/in_pcb.h> |
#include <netinet/in_pcb.h> |
| #include <netinet/in_var.h> |
#include <netinet/in_var.h> |
| |
|
|
|
| #include <netinet6/ipsec.h> |
#include <netinet6/ipsec.h> |
| #endif /*IPSEC*/ |
#endif /*IPSEC*/ |
| |
|
| |
extern u_char ip_protox[]; |
| |
extern struct protosw inetsw[]; |
| struct inpcbtable rawcbtable; |
struct inpcbtable rawcbtable; |
| |
|
| int rip_bind __P((struct inpcb *, struct mbuf *)); |
int rip_bind __P((struct inpcb *, struct mbuf *)); |
| Line 202 rip_input(m, va_alist) |
|
| Line 206 rip_input(m, va_alist) |
|
| } else |
} else |
| sorwakeup(last->inp_socket); |
sorwakeup(last->inp_socket); |
| } else { |
} else { |
| m_freem(m); |
if (inetsw[ip_protox[ip->ip_p]].pr_input == rip_input) { |
| ipstat.ips_noproto++; |
icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_PROTOCOL,0,0); |
| ipstat.ips_delivered--; |
ipstat.ips_noproto++; |
| |
ipstat.ips_delivered--; |
| |
} else |
| |
m_freem(m); |
| } |
} |
| return; |
return; |
| } |
} |