summaryrefslogtreecommitdiff
path: root/sys/net
diff options
context:
space:
mode:
authorjonathan <jonathan@NetBSD.org>2003-08-15 03:42:00 +0000
committerjonathan <jonathan@NetBSD.org>2003-08-15 03:42:00 +0000
commit28b5f5dfabb831ea8baec8eba121fa1d14aa5138 (patch)
tree6e6f1fcd7eef12f388fa2883f9e0bf69657c98be /sys/net
parentbc73aa40f55fc89ab83adcff00d2421b868a93d8 (diff)
(fast-ipsec): Add hooks to pass IPv4 IPsec traffic into fast-ipsec, if
configured with ``options FAST_IPSEC''. Kernels with KAME IPsec or with no IPsec should work as before. All calls to ip_output() now always pass an additional compulsory argument: the inpcb associated with the packet being sent, or 0 if no inpcb is available. Fast-ipsec tested with ICMP or UDP over ESP. TCP doesn't work, yet.
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/if_gre.c7
-rw-r--r--sys/net/if_stf.c7
-rw-r--r--sys/net/pfkeyv2.h5
3 files changed, 11 insertions, 8 deletions
diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c
index d9d74272936..8b80ef22ac5 100644
--- a/sys/net/if_gre.c
+++ b/sys/net/if_gre.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_gre.c,v 1.45 2003/05/06 17:54:27 grant Exp $ */
+/* $NetBSD: if_gre.c,v 1.46 2003/08/15 03:42:00 jonathan Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -46,7 +46,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gre.c,v 1.45 2003/05/06 17:54:27 grant Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gre.c,v 1.46 2003/08/15 03:42:00 jonathan Exp $");
#include "opt_inet.h"
#include "opt_ns.h"
@@ -336,7 +336,8 @@ gre_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
ifp->if_opackets++;
ifp->if_obytes += m->m_pkthdr.len;
/* send it off */
- error = ip_output(m, NULL, &sc->route, 0, NULL);
+ error = ip_output(m, NULL, &sc->route, 0,
+ (struct ip_moptions *)0, (struct inpcb *)0);
end:
if (error)
ifp->if_oerrors++;
diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c
index 9a0f954eb48..095a55b34e6 100644
--- a/sys/net/if_stf.c
+++ b/sys/net/if_stf.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_stf.c,v 1.33 2003/05/01 07:52:59 itojun Exp $ */
+/* $NetBSD: if_stf.c,v 1.34 2003/08/15 03:42:00 jonathan Exp $ */
/* $KAME: if_stf.c,v 1.62 2001/06/07 22:32:16 itojun Exp $ */
/*
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_stf.c,v 1.33 2003/05/01 07:52:59 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_stf.c,v 1.34 2003/08/15 03:42:00 jonathan Exp $");
#include "opt_inet.h"
@@ -465,7 +465,8 @@ stf_output(ifp, m, dst, rt)
}
ifp->if_opackets++;
- return ip_output(m, NULL, &sc->sc_ro, 0, NULL);
+ return ip_output(m, NULL, &sc->sc_ro, 0,
+ (struct ip_moptions *)0, (struct inpcb *)0);
}
static int
diff --git a/sys/net/pfkeyv2.h b/sys/net/pfkeyv2.h
index b6a90aa37f1..69ea2061458 100644
--- a/sys/net/pfkeyv2.h
+++ b/sys/net/pfkeyv2.h
@@ -1,4 +1,4 @@
-/* $NetBSD: pfkeyv2.h,v 1.14 2003/07/25 10:00:49 itojun Exp $ */
+/* $NetBSD: pfkeyv2.h,v 1.15 2003/08/15 03:42:00 jonathan Exp $ */
/* $KAME: pfkeyv2.h,v 1.36 2003/07/25 09:33:37 itojun Exp $ */
/*
@@ -317,7 +317,7 @@ struct sadb_x_ipsecrequest {
#define SADB_EALG_DESCBC 2
#define SADB_EALG_3DESCBC 3
#define SADB_EALG_NULL 11
-#define SADB_EALG_MAX 249
+#define SADB_EALG_MAX 250
/* private allocations - based on RFC2407/IANA assignment */
#define SADB_X_EALG_CAST128CBC 6
#define SADB_X_EALG_BLOWFISHCBC 7
@@ -325,6 +325,7 @@ struct sadb_x_ipsecrequest {
#define SADB_X_EALG_AES 12
/* private allocations should use 249-255 (RFC2407) */
#define SADB_X_EALG_AESCTR 249 /* draft-ietf-ipsec-ciph-aes-ctr-03 */
+#define SADB_X_EALG_SKIPJACK 250
/* private allocations - based on RFC2407/IANA assignment */
#define SADB_X_CALG_NONE 0