283668 |
28-May-2015 |
erj |
Fix build issue and incompatibilites introduced by r283620.
- Re-introduce "device ixgbe" option for kernel configs. This allows users to continue using existing kernel configurations, while still letting if_ix and if_ixv exist to allow ifconfig magic to work. Though the amd64 GENERIC config has "device ix" and "device ixv" instead of "device ixgbe".
This is achieved by making the if_ixgbe module a stub that depends on if_ix and if_ixv.
- Replace if_baudrate assignment with if_initbaudrate() call.
Thanks to jhb@ for the stub module suggestion and pointing out the if_baudrate error.
Approved by: jfv (mentor) |
272967 |
11-Oct-2014 |
adrian |
MFC r271649 - Disable flow-director support until it's been debugged and verified.
The flowdirector feature shares on-chip memory with other things such as the RX buffers. In theory it should be configured in a way that doesn't interfere with the rest of operation. In practice, the RX buffer calculation didn't take the flow-director allocation into account and there'd be overlap. This lead to various garbage frames being received containing what looks like internal NIC state.
What _I_ saw was traffic ending up in the wrong RX queues. If I was doing a UDP traffic test with only one NIC ring receiving traffic, everything is fine. If I fired up a second UDP stream which came in on another ring, there'd be a few percent of traffic from both rings ending up in the wrong ring. Ie, the RSS hash would indicate it was supposed to come in ring X, but it'd come in ring Y.
However, when the allocation was fixed up, the developers at Verisign still saw traffic stalls.
The flowdirector feature ends up fiddling with the NIC to do various attempts at load balancing connections by populating flow table rules based on sampled traffic. It's likely that all of that has to be carefully reviewed and made less "magic".
So for now the flow director feature is disabled (which fixes both what I was seeing and what they were seeing) until it's all much more debugged and verified.
Tested:
* (me) 82599EB 2x10G NIC, RSS UDP testing. * (verisign) not sure on the NIC (but likely 82599), 100k-200k/sec TCP transaction tests.
Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com> Sponsored by: Verisign, Inc. |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
251964 |
18-Jun-2013 |
jfv |
Add quad port probe support, this gives the admin proper information about the slot (which should be a PCIE Gen 3 slot for this adapter) by looking back thru the PCI parent devices to the slot device.
The fix above also corrects the bandwidth display to GT/s rather than the incorrect Gb/s
Next, allow the use of ALTQ if you select the compile option IXGBE_LEGACY_TX.
Allow the use of 'unsupported' optic modules by a compile option as well.
Add a phy reset capability into the stop code, this is so a static configured driver will still behave properly when taken down (not being able to unload it).
This revision synchronizes the shared code with Intel internal current code, and note that it now includes DCB supporting code, this was necessitated by some internal changes with the code, but it also will provide the opportunity to develop this feature in the core driver down the road.
I have edited the README to get rid of some of the worse anachronisms in it as well, its by no means as robust as I might wish at this point however.
Oh, I also have included some conditional stuff in the code so it will be compatible in both the 9.X and 10 environments.
Performance has been a focus in recent changes and I believe this revision driver will perform very well in most workloads.
MFC after: 2 weeks
|
247505 |
28-Feb-2013 |
jfv |
Change the ixgbe module name to if_ixgbe to conform to the usual naming convention.
|
236311 |
30-May-2012 |
uqs |
Unbreak make depend.
|
235964 |
25-May-2012 |
bz |
MFp4 bz_ipv6_fast:
Add TSO6 and LRO/IPv6 support. Fix the module Makefile to at least properly inlcude opt_inet6.h and allow builds without INET or INET6.
Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems
Reviewed by: gnn (as part of the whole) MFC After: 3 days
|
230775 |
30-Jan-2012 |
jfv |
New hardware support: Intel X540 adapter support added. Some shared code reorganization along with the new adapter. Sync changes to OACTIVE in igb into this driver. Misc small fixes.
|
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.
|
211400 |
16-Aug-2010 |
yongari |
Remove unnecessary clean target in em(4), igb(4) and ixgbe(4). While here also remove man target in igb(4).
Reviewed by: jfv
|
205720 |
27-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.
|
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.
|
190874 |
10-Apr-2009 |
jfv |
Add support file for 82599 in Makefile
MFC after: 2 weeks
|
179738 |
11-Jun-2008 |
jfv |
Remove compile of tcp_lro since its now in netinet
|
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.
|
177671 |
27-Mar-2008 |
antoine |
Remove option headers that do not exist and are not used from the Makefiles in sys/modules. (opt_devfs.h, opt_bdg.h, opt_emu10kx.h and opt_uslcom.h)
Approved by: rwatson (mentor)
|
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
|