diff options
-rw-r--r-- | c/src/libchip/ChangeLog | 6 | ||||
-rw-r--r-- | c/src/libchip/network/i82586.c | 8 |
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) { |