summaryrefslogtreecommitdiff
path: root/sys/netinet6/ipsec.c
diff options
context:
space:
mode:
authoritojun <itojun@NetBSD.org>2002-08-14 00:23:27 +0000
committeritojun <itojun@NetBSD.org>2002-08-14 00:23:27 +0000
commitc00fa8dfd94473cd4d82faf337bc894fd05b1788 (patch)
treeaed1c45a959ac358e9e677f0a0eb639a23390106 /sys/netinet6/ipsec.c
parentf5435ff1382d4883cd1fc56ae5cdd40fff8de1fd (diff)
avoid swapping endian of ip_len and ip_off on mbuf, to meet with M_LEADINGSPACE
optimization made last year. should solve PR 17867 and 10195. IP_HDRINCL behavior of raw ip socket is kept unchanged. we may want to provide IP_HDRINCL variant that does not swap endian.
Diffstat (limited to 'sys/netinet6/ipsec.c')
-rw-r--r--sys/netinet6/ipsec.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/netinet6/ipsec.c b/sys/netinet6/ipsec.c
index 315460172b8..8a1e0f66aaf 100644
--- a/sys/netinet6/ipsec.c
+++ b/sys/netinet6/ipsec.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec.c,v 1.64 2002/08/01 05:17:47 itojun Exp $ */
+/* $NetBSD: ipsec.c,v 1.65 2002/08/14 00:23:39 itojun Exp $ */
/* $KAME: ipsec.c,v 1.136 2002/05/19 00:36:39 itojun Exp $ */
/*
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsec.c,v 1.64 2002/08/01 05:17:47 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsec.c,v 1.65 2002/08/14 00:23:39 itojun Exp $");
#include "opt_inet.h"
#include "opt_ipsec.h"
@@ -894,8 +894,7 @@ ipsec4_get_ulp(m, spidx, needport)
((struct sockaddr_in *)&spidx->dst)->sin_port = IPSEC_PORT_ANY;
m_copydata(m, 0, sizeof(ip), (caddr_t)&ip);
- /* ip_input() flips it into host endian XXX need more checking */
- if (ip.ip_off & (IP_MF | IP_OFFMASK))
+ if (ip.ip_off & htons(IP_MF | IP_OFFMASK))
return;
nxt = ip.ip_p;
@@ -2087,7 +2086,7 @@ ipsec4_encapsulate(m, sav)
ip->ip_len = htons(plen + sizeof(struct ip));
else {
ipseclog((LOG_ERR, "IPv4 ipsec: size exceeds limit: "
- "leave ip_len as is (invalid packet)\n"));
+ "leave ip_len as is (invalid packet)\n"));
}
ip->ip_id = htons(ip_id++);
bcopy(&((struct sockaddr_in *)&sav->sah->saidx.src)->sin_addr,