version 1.42.4.2, 1999/08/02 22:34:59 |
version 1.42.6.3, 1999/11/30 13:35:34 |
|
|
#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 206 rip_input(m, va_alist) |
|
Line 203 rip_input(m, va_alist) |
|
} else |
} else |
sorwakeup(last->inp_socket); |
sorwakeup(last->inp_socket); |
} else { |
} else { |
if (inetsw[ip_protox[ip->ip_p]].pr_input == rip_input) { |
m_freem(m); |
icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_PROTOCOL,0,0); |
ipstat.ips_noproto++; |
ipstat.ips_noproto++; |
ipstat.ips_delivered--; |
ipstat.ips_delivered--; |
|
} else |
|
m_freem(m); |
|
} |
} |
return; |
return; |
} |
} |
Line 463 rip_usrreq(so, req, m, nam, control, p) |
|
Line 457 rip_usrreq(so, req, m, nam, control, p) |
|
inp = sotoinpcb(so); |
inp = sotoinpcb(so); |
inp->inp_ip.ip_p = (long)nam; |
inp->inp_ip.ip_p = (long)nam; |
#ifdef IPSEC |
#ifdef IPSEC |
error = ipsec_init_policy(&inp->inp_sp); |
error = ipsec_init_policy(so, &inp->inp_sp); |
|
if (error != 0) { |
|
in_pcbdetach(inp); |
|
break; |
|
} |
#endif /*IPSEC*/ |
#endif /*IPSEC*/ |
break; |
break; |
|
|