Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Dec 2013 12:13:07 -0600
From:      Jim Thompson <jim@netgate.com>
To:        Mark Felder <feld@freebsd.org>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: Intel Controllers [Rant]
Message-ID:  <CAKAfi7x8SJD7bCLbr2YUKK6nCQgAvZYoGiuqDfBTvweDYGwOYQ@mail.gmail.com>
In-Reply-To: <1386697668.8944.57916449.7576FC53@webmail.messagingengine.com>
References:  <1386634847.38473.YahooMailNeo@web121606.mail.ne1.yahoo.com> <1386697668.8944.57916449.7576FC53@webmail.messagingengine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 10, 2013 at 11:47 AM, Mark Felder <feld@freebsd.org> wrote:
> On Mon, Dec 9, 2013, at 18:20, Barney Cordoba wrote:
>> Why is it that every time I get a new MB it has yet-another intel
>> controller on it? How are you supposed to write good drivers that support
>> 9000 different controllers? As much as I appreciate the progression of
>> CPU technology, they
>> would serve the community better by making up their damn minds and just
>> build 1 or 2 controller for each
>> target market.
>>
>
> I'm pretty sure an entirely new driver doesn't need to be written for
> each new controller. I assume like with most things (network cards, wifi
> chips, etc) it's usually a matter of adding its identifier to the driver
> code.

It goes beyond that.   In the simplest case, then yes, things are as you say.

But chips have bugs, which require work-arounds, or other slightly
strange stuff.

Case(s) in-point:

The 82575 assigns queues using vectors via a bitmask
The Intel 82576 chip uses a table that essentially consists of 2
columns with 8 rows.  The ordering is column-major (like Fortran
arrays).
On 82580 and newer adapters the scheme is similar to 82576, however
instead of ordering column-major, the ordering is row-major (like C or
Pascal).

These chips are all supported via the igb driver.

Some parts supported by the igb driver use MSI-X interrupts, others don't.

On i350, i354, i210, and i211, loopback VLAN packets have the tag byte-swapped.

The list of issues is by no means limited to the above.

Jim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKAfi7x8SJD7bCLbr2YUKK6nCQgAvZYoGiuqDfBTvweDYGwOYQ>