Subject: Re: e100 + VLANs?

From: Jesse Brandeburg <[email-masked]>
Date: Tue, 11 Oct 2011 16:38:55 -0700

On Tue, 11 Oct 2011 08:29:18 -0700
David Lamparter <[email-masked]> wrote:

> On Tue, Oct 11, 2011 at 04:56:23PM +0400, Michael Tokarev wrote:
> > So it looks like the card merely ignores these packets.
> > 
> > So little result for so much efforts... :(
> > 
> > But it is not really that bad I think - it is an obsolete hardware.
> 
> The knowledge and code for this is actually around line 1142 of e100.c:
>         if (nic->mac >= mac_82558_D101_A4) {
>                 config->fc_disable = 0x1;       /* 1=Tx fc off, 0=Tx fc on */
>                 config->mwi_enable = 0x1;       /* 1=enable, 0=disable */
>                 config->standard_tcb = 0x0;     /* 1=standard, 0=extended */
>                 config->rx_long_ok = 0x1;       /* 1=VLANs ok, 0=standard */
> 
> where rx_long_ok is the configuration bit to enable frame reception
> for >1514 byte frames. I guess your card is < mac_82558_D101_A4...
> 
> (cf. "Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source
> Software Developer Manual" page 78/86 - "Long Receive OK. This bit is
> reserved on the 82557 and should be set to 0. When this bit is set on
> the 82558 or 82559, the device considers received frames that have
> a data field longer than 1500 bytes as good frames.")

David, thank you for posting that, while you were typing I was
researching the same thing, so FWIW, I concur with your conclusion.

ouch, OP your hardware is really really old:
> 00:12.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 02)
> Subsystem: Intel Corporation EtherExpress PRO/100B (TX)

rev 2 is D100_C, which is 82557.

the hardware is NOT capable of long receives (i.e. vlan packets).
If it was then they should generally fit in the receive buffer and be
handled and not discarded.