summaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2000-06-18 06:24:46 +0000
committerJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2000-06-18 06:24:46 +0000
commit82e9b50a5bf52ea5b38386dcb38e8313248ce627 (patch)
treeac56c2dae02f812f499bf68c9a16b916d3259ed5 /sys/netinet6
parentb672eae5ccdbbdec72ab25962e2c17e75e416de2 (diff)
move m_pullup2() equivalent for KAME requirement into ip6_input().
it was in looutput() to make KAME ipsec4 happy. however, since we don't have KAME ipsec4 in openbsd, we don't need it in looutput().
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/ip6_input.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c
index c2ba342e223..71456275768 100644
--- a/sys/netinet6/ip6_input.c
+++ b/sys/netinet6/ip6_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip6_input.c,v 1.14 2000/06/18 04:33:03 itojun Exp $ */
+/* $OpenBSD: ip6_input.c,v 1.15 2000/06/18 06:24:45 itojun Exp $ */
/* $KAME: ip6_input.c,v 1.94 2000/06/13 10:06:19 jinmei Exp $ */
/*
@@ -210,6 +210,22 @@ ip6intr()
splx(s);
if (m == 0)
return;
+#ifndef PULLDOWN_TEST
+ /*
+ * KAME requirement: make sure mbuf is packed well
+ */
+
+ if (m->m_next) {
+ int l;
+ if (m->m_pkthdr.len > MCLBYTES)
+ l = MCLBYTES;
+ else
+ l = m->m_pkthdr.len;
+ m = m_pullup2(m, l);
+ if (!m)
+ continue;
+ }
+#endif
ip6_input(m);
}
}