I found the bug in our ne2000 driver that perplexed filip. The bug was that
the meaning of the PACKET_HEADER part in ne2000 that was skipped was a simple
header put on each packet to determine what buffer page would be used next.
This header is only 4 bytes and has nothing to do with the ethernet frame
header.
I've now factored in the ethernet frame header and made tcpip work the right
way, that is to remove consideration of the ethernet frame header at layers
above lan in the receive pipe. This should make all adapters work the same
way for larger packets (and ne2000 now work right).
I found few references to how this actually works so I could still be wrong,
but I'm going on what filip said and this:
http://cvs.sourceforge.net/viewcvs.py/openh323/pwlib/tools/PacketVxD/epackeā¦
Which basically confirms filip's opinion.
Please try it out.
--
Here's a simple experiment. Stand on a train track between two locomotives
which are pushing on you with equal force in opposite directions. You will
exhibit no net motion. None the less, you may soon begin to notice that
something important is happening.
-- Robert Stirniman