summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/libchip/ChangeLog6
-rw-r--r--c/src/libchip/network/i82586.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/c/src/libchip/ChangeLog b/c/src/libchip/ChangeLog
index 12aa20fe03..7a4e81e81c 100644
--- a/c/src/libchip/ChangeLog
+++ b/c/src/libchip/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-07 Chris Johns <ccj@acm.org>
+
+ * c/src/libchip/network/i82586.c: Per PR210, adjust the mbuf
+ lengths to remove the ethernet header as the FreeBSD (RTEMS)
+ stack requires it to be stripped.
+
2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* network/dec21140.c: Reflect changes to powerpc's
diff --git a/c/src/libchip/network/i82586.c b/c/src/libchip/network/i82586.c
index 7649a12859..39bd5afc1c 100644
--- a/c/src/libchip/network/i82586.c
+++ b/c/src/libchip/network/i82586.c
@@ -1262,9 +1262,15 @@ ie_readframe(struct ie_softc *sc, int num) /* frame number to read */
return (0);
}
+ /*
+ * Remove the mac header. This is different from the NetBSD
+ * stack.
+ */
eh = mtod(m, struct ether_header *);
m->m_data += sizeof (struct ether_header);
-
+ m->m_len -= sizeof (struct ether_header);
+ m->m_pkthdr.len -= sizeof (struct ether_header);
+
#if I82586_DEBUG
if (sc->sc_debug & IED_READFRAME) {