version 1.80, 2007/01/04 19:07:04 |
version 1.81, 2007/02/10 09:43:05 |
Line 98 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 98 __KERNEL_RCSID(0, "$NetBSD$"); |
|
#include <netinet6/ipsec.h> |
#include <netinet6/ipsec.h> |
#endif /* IPSEC */ |
#endif /* IPSEC */ |
|
|
|
#ifdef FAST_IPSEC |
|
#include <netipsec/ipsec.h> |
|
#include <netipsec/ipsec_var.h> /* XXX ipsecstat namespace */ |
|
#include <netipsec/ipsec6.h> |
|
#endif |
|
|
#include <machine/stdarg.h> |
#include <machine/stdarg.h> |
|
|
#include "faith.h" |
#include "faith.h" |
Line 204 rip6_input(mp, offp, proto) |
|
Line 210 rip6_input(mp, offp, proto) |
|
/* do not inject data into pcb */ |
/* do not inject data into pcb */ |
} else |
} else |
#endif /* IPSEC */ |
#endif /* IPSEC */ |
|
#ifdef FAST_IPSEC |
|
/* |
|
* Check AH/ESP integrity |
|
*/ |
|
if (!ipsec6_in_reject(m,last)) |
|
#endif /* FAST_IPSEC */ |
if ((n = m_copy(m, 0, (int)M_COPYALL)) != NULL) { |
if ((n = m_copy(m, 0, (int)M_COPYALL)) != NULL) { |
if (last->in6p_flags & IN6P_CONTROLOPTS) |
if (last->in6p_flags & IN6P_CONTROLOPTS) |
ip6_savecontrol(last, &opts, ip6, n); |
ip6_savecontrol(last, &opts, ip6, n); |
Line 234 rip6_input(mp, offp, proto) |
|
Line 246 rip6_input(mp, offp, proto) |
|
/* do not inject data into pcb */ |
/* do not inject data into pcb */ |
} else |
} else |
#endif /* IPSEC */ |
#endif /* IPSEC */ |
|
#ifdef FAST_IPSEC |
|
if (last && ipsec6_in_reject(m, last)) { |
|
m_freem(m); |
|
/* |
|
* XXX ipsec6_in_reject update stat if there is an error |
|
* so we just need to update stats by hand in the case of last is |
|
* NULL |
|
*/ |
|
if (!last) |
|
ipsec6stat.in_polvio++; |
|
ip6stat.ip6s_delivered--; |
|
/* do not inject data into pcb */ |
|
} else |
|
#endif /* FAST_IPSEC */ |
if (last) { |
if (last) { |
if (last->in6p_flags & IN6P_CONTROLOPTS) |
if (last->in6p_flags & IN6P_CONTROLOPTS) |
ip6_savecontrol(last, &opts, ip6, m); |
ip6_savecontrol(last, &opts, ip6, m); |