History log of /freebsd-9.3-release/sys/dev/ixgbe/ixgbe.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 252898 06-Jul-2013 jfv

MFC ixgbe driver revisions 248901, 250108, and 251964


# 248287 14-Mar-2013 jfv

MFC of the ixgbe driver including the follow revisions:

235547,235964,241616,241646,241856,241885,242403,
242421,243714,243716,243718,243721,243724,243725,
243728,243729,243733,243735,243736,243741,243833,
244514,246128,246482,247035,247056,247822,247823

Note: 246482 includes only the changes in the ixgbe driver
and the buf_ring supporting code in if_var.h and buf_ring.h
igb and em will be seperate commits, and non-Intel drivers
can commit the changes at will.

Reviewed by:rss, jhb


# 247478 28-Feb-2013 jhb

MFC 240968:
Merge similar fixes from 223198 from igb to ixgbe:
- Use a dedicated task to handle deferred transmits from the if_transmit
method instead of reusing the existing per-queue interrupt task.
Reusing the per-queue interrupt task could result in both an interrupt
thread and the taskqueue thread trying to handle received packets on a
single queue resulting in out-of-order packet processing and lock
contention.
- Don't define ixgbe_start() at all when if_transmit is used.


# 240718 19-Sep-2012 scottl

Sync the ixgbe driver from HEAD to stable/9

r236627 - Fix driver deadlock due to OACTIVE flag
r236729 - Fix prefetch programming typo
r239940 - Improve small RX packet performance
r240155 - Fix missing braces in PHY configuration
r240366 - Remove a prefetch directive that hurts performance

Approved by: jfv
Obtained from: Netflix, inc.


# 235528 16-May-2012 jfv

MFC of the ixgbe driver. Including revisions:
228276,229767,229939,230329,
230572,230775,230790,231796,
232238,234137,234229,234620


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 221189 28-Apr-2011 jfv

Add a #define for driver portability to older OS


# 221041 25-Apr-2011 jfv

- Add the RX refresh changes from igb to ixgbe
- Also a couple minor tweaks to the TX code from the same source.
- Add the INET ioctl code which has been missing from this driver,
and which caused IP aliases to reset the interface.
- Last, some minor logic changes that just reflect upcoming
hardware support, but have no other functional effect now.

MFC after a week


# 217593 19-Jan-2011 jfv

Update driver to version 2.3.8:
CRITICAL FIX - with stats changes the older 82598 will panic
and trash the stack on driver load, FCOE registers ONLY exist
in 82599 and must not be read otherwise.

kern/153951 - to correct incorrect media type on adapters
with pluggable modules I have eliminated the old static
table in favor of a new dynamic shared code routine. This
also has the benefit of detecting changes when a different
module is inserted.

Performance/enhancement to the Flow Director code from my
linux coworker (the developer of the code).

Fixes from Michael Tuexen - a data corruption problem on the
82599 (CRITICAL), fix so the buf size correctly adjusts as
the cluster changes, and max descriptors are set properly.
Also added 16K clusters for those REALLY big jumbos :)

In the RX path, the RX LOCK was not being released, and this
causes LOR problems. Add the code that igb already has.

Sync with in house shared code, this was necessary for the
Flow Director fix.

MFC in 2 days


# 217129 07-Jan-2011 jfv

Fix to kern/150247 - make ixgbe buildable for 7.x


# 215914 26-Nov-2010 jfv

and the header...


# 215911 26-Nov-2010 jfv

Update ixgbe driver to verion 2.3.6
- This adds a VM SRIOV interface, ixv, it is however
transparent to the user, it links with the ixgbe.ko,
but when ixgbe is loaded in a virtualized guest with
SRIOV configured this will be detected.
- Sync shared code to latest
- Many bug fixes and improvements, thanks to everyone
who has been using the driver and reporting issues.


# 211913 27-Aug-2010 yongari

Do not allocate multicast array memory in multicast filter
configuration function. For failed memory allocations, em(4)/lem(4)
called panic(9) which is not acceptable on production box.
igb(4)/ixgb(4)/ix(4) allocated the required memory in stack which
consumed 768 bytes of stack memory which looks too big.

To address these issues, allocate multicast array memory in device
attach time and make multicast configuration success under any
conditions. This change also removes the excessive use of memory in
stack.

Reviewed by: jfv


# 209622 01-Jul-2010 kevlo

Fix build


# 209609 30-Jun-2010 jfv

Left out header change in last delta - new member
in adapter so that advertise changes can be done
to one port without the other changing.


# 209607 30-Jun-2010 glebius

Fix build.


# 208762 02-Jun-2010 jfv

Fixes for panic experienced in test at Intel, when
doing bidirectional stress traffic on 82598.

Also a couple bug fixes from Michael Tuexen, thank you!!

Add a workaround into the header so that 8 REL can use
the driver (adds local copy of ALTQ fix).

MFC: in a few days


# 208282 18-May-2010 jfv

A few changes:
When not defining header split do not allocate mbufs,
this can be a BIG savings in the mbuf memory pool.

Also keep seperate dma maps for the header and
payload pieces when doing header split. The basis
of this code was a patch done a while ago by
yongari, thank you :)

A number of white space changes.

MFC: in a few days


# 205904 30-Mar-2010 jfv

Thanks to Michael Tuexen for adding SCTP support for 82599,
also for finding a one character bug that kept TSO from working.

Sometimes with direct attach cables a failure can occur in init,
the old method of calling detach was broken, there is no way to
return an error to the system from init, so I have changed it to
return failure thru the ioctl.

And, have fixed the ALTQ code changes of Max Laier, sorry Max :)


# 205720 26-Mar-2010 jfv

Update the driver to Intel version 2.1.6
- add some new hardware support for 82599
- Big change to interrupt architecture, it now
uses a queue which contains an RX/TX pair as
the recipient of the interrupt. This will reduce
overall system interrupts/msix usage.
- Improved RX mbuf handling: the old get_buf routine
is no longer synchronized with rxeof, this allows
the elimination of packet discards due to mbuf
allocation failure.
- Much simplified and improved AIM code, it now
happens in the queue interrupt context and takes
into account both the traffic on the RX AND TX
side.
- variety of small tweaks, like ring size, that have
been seen as performance improvements.
- Thanks to those that provided feedback or suggested
changes, I hope I've caught all of them.


# 200239 07-Dec-2009 jfv

Update driver to Intel version 2.0.7:

This adds new feature support for the 82599, a hardware
assist to LRO, doing this required a large revamp to the
RX cleanup code because the descriptor ring may not be
processed out of order, this necessitated the elimination
of global pointers.

Additionally, the RX routine now does not refresh mbufs
on every descriptor, rather it will do a range, and then
update the hardware pointer at that time. These are
performance oriented changes.

The TX side now has a cleaner simpler watchdog algorithm
as well, in TX cleanup a read of ticks is stored, that
can then be compared in local_timer to determine if
there is a hang.

Various other cleanups along the way, thanks to all who
have provided input and testing.


# 194875 24-Jun-2009 jfv

Update for the Intel 10G driver, this adds support for
newest hardware, adds multiqueue tx interface, infrastructure
cleanup to allow up to 32 MSIX vectors on newer Nehalem systems.
Bug fixes, etc.


# 190873 09-Apr-2009 jfv

Update the ixgbe driver to 1.7.4, this includes support
for the new 82599 adapter family, adds header split, and
many small fixes. The driver should now be added to the
GENERIC kernel.

MFC after: 2 weeks


# 185352 26-Nov-2008 jfv

Updated ixgbe driver - version 1.6.2

-This version has header split, and as a result a number of
aspects of the code have been improved/simplified.
- Interrupt handling refined for performance
- Many small bugs fixed along the way

MFC after: ASAP - in time for 7.1


# 181003 30-Jul-2008 jfv

This updates the ixgbe driver to Intel internal version 1.4.7
Shared code changes, core driver fixes, vlan event/filter support

Also Kip Macy's fix to allow any number of queues, thanks Kip!


# 179740 11-Jun-2008 jfv

Change include to reflect tcp_lro.h move.


# 179055 16-May-2008 jfv

This is driver version 1.4.4 of the Intel ixgbe driver.
-It has new hardware support
-It uses a new method of TX cleanup called Head Write Back
-It includes the provisional generic TCP LRO feature contributed
by Myricom and made general purpose by me. This should move into
the stack upon approval but for this driver drop its in here.
-Also bug fixes and etc...

MFC in a week if no serious issues arise.


# 172043 04-Sep-2007 jfv

This is an update to the new Intel 10G 82598 driver.
The first drop was Beta, this code is expected to be the release version.
Note that this driver code will build in either 6.2 or 7. If you
use the code in 6.2 you will not get TSO or MSI/X support but it will
function in a legacy mode.

Approved by: re


# 171411 12-Jul-2007 jfv

New Driver for Intel 10G PCI-Express Dual Port Network adapter (82598)
- ixgbe.c, ixgbe.h, and ixgbe_osdep.h make the core OS driver.
- Others are OS independent shared code.
- This is still a Beta driver, the Intel ship is a month or so off,
so I welcome any feedback from early users.
Approved by: re


# 171384 11-Jul-2007 jfv

Add the actual source too :)

Approved by: re