Драйвер e1000 данные без флага EOP (end of packet) выбрасывает. Если нужны длинные пакеты, пользуйте jumbo. http://en.wikipedia.org/wiki/Jumbo_frame
/* !EOP means multiple descriptors were used to store a single packet, if thats the case we need to toss it. In fact, we
* to toss every packet with the EOP bit clear and the next frame that _does_ have the EOP bit set, as it is by definition only a frame fragment */
if(!(status & E1000_RXD_STAT_EOP))
{e_dbg("rx packet consumed multiple buffers\n");
continue;