em driver worse then fxp driver ... why?

Ilya Varlashkin ilya at samara.net
Thu Aug 12 01:00:49 PDT 2004


Hi Marc,

I'm not subscribed to -net list, so in case you haven't got solution yet,
here is some info.

On Tue, Aug 10, 2004 at 05:37:28PM -0300, Marc G. Fournier wrote:
>
> I have 5 servers sitting on a Linksys 10/100 switch ... 4 of the 5 are
> running fxp0 ethernet, while the 5th is running em ... and the 5th
> performs atrociously:
>
> neptune# netstat -ni | head
> Name    Mtu Network       Address              Ipkts Ierrs    Opkts Oerrs
> Coll
> em0    1500 <Link#1>    00:07:e9:05:1b:2e 36915965 10306 28888840     1
> 10858513
>
> I've tried in bth half and full duplex mode .. full duplex, Ierrs climbs,
                                                   ^^^^^^^^^^^^^^^^^^^
This is very typical behaviour when you have one side forced to full-duplex
and the other side is in autonegotiation. The side with forced full duplex
will experience lots of input error, and the autonegotiation side will see
tons of collisions. The later is because autonegotiation side in the absense
of autonegotiation bits from the other side will automagically put itself
into half-duplex. I see this everytime somebody comes and plugs new server
onto the networkr, and it's happens very often.

All you need to do is to have either both sides in autoneg or both sides
forced into full-duplex 100Mbps.

> half-duplex, Collisions climb ...
>
That's normal - you will always see collisions on half-duplex links. It's
not an error, it's just what half-duplex is all about.

> Originally, it was explained that unmanaged switches tended to be
> problematic, but I'd expect some sort of uniformity in problems, but 'just
> the server with the em device' ...
>
Indeed, unmanaged switches tend to have ports set to autonegotiation

> So, is there a bug in the em device driver that doesn't exist on the fxp0
> devices?
>
I've observed behaviour you described with any card I came by, including
those using fxp driver. If you know in advance that physical setup is wrong
try to fix that first, don't rely on the driver fixing it for you.

Hope it helps.

/Ilya



More information about the freebsd-stable mailing list