Page MenuHomeFreeBSD

D44225.diff
No OneTemporary

D44225.diff

diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -449,27 +449,6 @@
#endif
}
-#if defined(IPSEC) || defined(IPSEC_SUPPORT)
- /*
- * IPSec checking which handles several cases.
- * FAST IPSEC: We re-injected the packet.
- * XXX: need scope argument.
- */
- if (IPSEC_ENABLED(ipv6)) {
- m = mb_unmapped_to_ext(m);
- if (m == NULL) {
- IP6STAT_INC(ip6s_odropped);
- error = ENOBUFS;
- goto bad;
- }
- if ((error = IPSEC_OUTPUT(ipv6, ifp, m, inp, mtu)) != 0) {
- if (error == EINPROGRESS)
- error = 0;
- goto done;
- }
- }
-#endif /* IPSEC */
-
/* Source address validation. */
ip6 = mtod(m, struct ip6_hdr *);
if (IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src) &&
@@ -806,6 +785,27 @@
KASSERT((ifp != NULL), ("output interface must not be NULL"));
KASSERT((origifp != NULL), ("output address interface must not be NULL"));
+#if defined(IPSEC) || defined(IPSEC_SUPPORT)
+ /*
+ * IPSec checking which handles several cases.
+ * FAST IPSEC: We re-injected the packet.
+ * XXX: need scope argument.
+ */
+ if (IPSEC_ENABLED(ipv6)) {
+ m = mb_unmapped_to_ext(m);
+ if (m == NULL) {
+ IP6STAT_INC(ip6s_odropped);
+ error = ENOBUFS;
+ goto bad;
+ }
+ if ((error = IPSEC_OUTPUT(ipv6, ifp, m, inp, mtu)) != 0) {
+ if (error == EINPROGRESS)
+ error = 0;
+ goto done;
+ }
+ }
+#endif /* IPSEC */
+
if ((flags & IPV6_FORWARDING) == 0) {
/* XXX: the FORWARDING flag can be set for mrouting. */
in6_ifstat_inc(ifp, ifs6_out_request);

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 18, 10:56 PM (13 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14706111
Default Alt Text
D44225.diff (1 KB)

Event Timeline