summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/man/man9/mbuf.956
-rw-r--r--sys/netinet/ip_ipcomp.c3
-rw-r--r--sys/netinet/ipsec_input.c6
-rw-r--r--sys/sys/mbuf.h23
4 files changed, 43 insertions, 45 deletions
diff --git a/share/man/man9/mbuf.9 b/share/man/man9/mbuf.9
index 948415bd87b..e705accd609 100644
--- a/share/man/man9/mbuf.9
+++ b/share/man/man9/mbuf.9
@@ -1,4 +1,4 @@
-.\" $OpenBSD: mbuf.9,v 1.14 2004/04/16 21:23:08 jmc Exp $
+.\" $OpenBSD: mbuf.9,v 1.15 2004/11/25 21:54:55 markus Exp $
.\"
.\" Copyright (c) 2001 Jean-Jacques Bernard-Gundol <jjbg@openbsd.org>
.\" All rights reserved.
@@ -236,31 +236,11 @@ packet send/received as link-level multicast.
.It Dv M_CONF
packet was encrypted (ESP-transport).
.It Dv M_AUTH
-packet was authenticated (AH).
-.It Dv M_COMP
-packet was compressed (IPCOMP).
+packet was authenticated (AH or ESP).
.It Dv M_AUTH_AH
header was authenticated (AH).
.It Dv M_TUNNEL
-IP-in-IP added by tunnel mode IPsec.
-.It Dv M_IPV4_CSUM_OUT
-IPv4 checksum needed.
-.It Dv M_TCPV4_CSUM_OUT
-TCP checksum needed.
-.It Dv M_UDPV4_CSUM_OUT
-UDP checksum needed.
-.It Dv M_IPV4_CSUM_IN_OK
-IPv4 checksum verified.
-.It Dv M_IPV4_CSUM_IN_BAD
-IPv4 checksum bad.
-.It Dv M_TCP_CSUM_IN_OK
-TCP/IPv4 checksum verified.
-.It Dv M_TCP_CSUM_IN_BAD
-TCP/IPv4 checksum bad.
-.It Dv M_UDP_CSUM_IN_OK
-UDP/IPv4 checksum verified.
-.It Dv M_UDP_CSUM_IN_BAD
-UDP/IPv4 checksum bad.
+header was IP-in-IP encapsulated by tunnel mode IPsec.
.It Dv M_ANYCAST6
received as IPv6 anycast.
.It Dv M_LOOP
@@ -290,12 +270,38 @@ The data part has then the following elements:
.Bl -tag -width foobarmoocow
.It Fa m_pkthdr
packet header, containing the length of the data, a pointer to the
-interface on which the data was received and a generic pointer to a
-structure containing information for IPsec processing.
+interface on which the data was received, checksum information
+and list of
+.Xr mbuf_tags 9 .
.It Fa m_pktdat
buffer holding the data (size MHLEN).
.El
.Pp
+The
+.Fa m_pkthdr.csum
+variable can take the following values:
+.Pp
+.Bl -tag -compact -offset indent -width XXXXXXXXXXXXXXXXXX
+.It Dv M_IPV4_CSUM_OUT
+IPv4 checksum needed.
+.It Dv M_TCPV4_CSUM_OUT
+TCP checksum needed.
+.It Dv M_UDPV4_CSUM_OUT
+UDP checksum needed.
+.It Dv M_IPV4_CSUM_IN_OK
+IPv4 checksum verified.
+.It Dv M_IPV4_CSUM_IN_BAD
+IPv4 checksum bad.
+.It Dv M_TCP_CSUM_IN_OK
+TCP/IPv4 checksum verified.
+.It Dv M_TCP_CSUM_IN_BAD
+TCP/IPv4 checksum bad.
+.It Dv M_UDP_CSUM_IN_OK
+UDP/IPv4 checksum verified.
+.It Dv M_UDP_CSUM_IN_BAD
+UDP/IPv4 checksum bad.
+.El
+.Pp
When only M_EXT flag is set, an external storage buffer is being used to
hold the data, which is no longer stored in the mbuf.
The data part of the mbuf has now the following elements:
diff --git a/sys/netinet/ip_ipcomp.c b/sys/netinet/ip_ipcomp.c
index 9603d44ae31..36ebfad06ac 100644
--- a/sys/netinet/ip_ipcomp.c
+++ b/sys/netinet/ip_ipcomp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_ipcomp.c,v 1.16 2004/06/26 17:34:16 markus Exp $ */
+/* $OpenBSD: ip_ipcomp.c,v 1.17 2004/11/25 21:54:54 markus Exp $ */
/*
* Copyright (c) 2001 Jean-Jacques Bernard-Gundol (jj@wabbitt.org)
@@ -398,7 +398,6 @@ ipcomp_output(m, tdb, mp, skip, protoff)
hdr.af = tdb->tdb_dst.sa.sa_family;
hdr.spi = tdb->tdb_spi;
- hdr.flags |= M_COMP;
m1.m_next = m;
m1.m_len = ENC_HDRLEN;
diff --git a/sys/netinet/ipsec_input.c b/sys/netinet/ipsec_input.c
index 43bd253b723..cb7aa669434 100644
--- a/sys/netinet/ipsec_input.c
+++ b/sys/netinet/ipsec_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ipsec_input.c,v 1.74 2004/06/21 23:50:37 tholo Exp $ */
+/* $OpenBSD: ipsec_input.c,v 1.75 2004/11/25 21:54:54 markus Exp $ */
/*
* The authors of this code are John Ioannidis (ji@tla.org),
* Angelos D. Keromytis (kermit@csd.uch.gr) and
@@ -551,9 +551,7 @@ ipsec_common_input_cb(struct mbuf *m, struct tdb *tdbp, int skip, int protoff,
/* Check if we had authenticated ESP. */
if (tdbp->tdb_authalgxform)
m->m_flags |= M_AUTH;
- } else if (sproto == IPPROTO_IPCOMP)
- m->m_flags |= M_COMP;
- else
+ } else if (sproto == IPPROTO_AH)
m->m_flags |= M_AUTH | M_AUTH_AH;
if (tdbp->tdb_flags & TDBF_TUNNELING)
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index c2e8d876eac..937e69e6de6 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mbuf.h,v 1.77 2004/09/17 20:17:30 deraadt Exp $ */
+/* $OpenBSD: mbuf.h,v 1.78 2004/11/25 21:54:54 markus Exp $ */
/* $NetBSD: mbuf.h,v 1.19 1996/02/09 18:25:14 christos Exp $ */
/*
@@ -138,9 +138,15 @@ struct mbuf {
#define M_MCAST 0x0200 /* send/received as link-level multicast */
#define M_CONF 0x0400 /* payload was encrypted (ESP-transport) */
#define M_AUTH 0x0800 /* payload was authenticated (AH or ESP auth) */
-#define M_COMP 0x1000 /* payload was compressed (IPCOMP) */
#define M_AUTH_AH 0x2000 /* header was authenticated (AH) */
-#define M_TUNNEL 0x4000 /* IP-in-IP added by tunnel mode IPsec */
+#define M_TUNNEL 0x1000 /* IP-in-IP added by tunnel mode IPsec */
+#define M_ANYCAST6 0x4000 /* received as IPv6 anycast */
+#define M_LINK0 0x8000 /* link layer specific flag */
+#define M_LOOP 0x0040 /* for Mbuf statistics */
+
+/* flags copied when copying m_pkthdr */
+#define M_COPYFLAGS (M_PKTHDR|M_EOR|M_PROTO1|M_BCAST|M_MCAST|M_CONF|\
+ M_AUTH|M_ANYCAST6|M_LOOP|M_TUNNEL|M_LINK0)
/* Checksumming flags */
#define M_IPV4_CSUM_OUT 0x0001 /* IPv4 checksum needed */
@@ -153,17 +159,6 @@ struct mbuf {
#define M_UDP_CSUM_IN_OK 0x0080 /* UDP/IPv4 checksum verified */
#define M_UDP_CSUM_IN_BAD 0x0100 /* UDP/IPv4 checksum bad */
-/* KAME IPv6 */
-#define M_ANYCAST6 0x4000 /* received as IPv6 anycast */
-
-#define M_LINK0 0x8000 /* link layer specific flag */
-
-#define M_LOOP 0x0040 /* for Mbuf statistics */
-
-/* flags copied when copying m_pkthdr */
-#define M_COPYFLAGS (M_PKTHDR|M_EOR|M_PROTO1|M_BCAST|M_MCAST|M_CONF|\
- M_AUTH|M_COMP|M_ANYCAST6|M_LOOP|M_TUNNEL|M_LINK0)
-
/* mbuf types */
#define MT_FREE 0 /* should be on free list */
#define MT_DATA 1 /* dynamic (data) allocation */