#
71625ec9 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c comment pattern Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
#
a0302c92 |
|
11-Jul-2023 |
Piotr Pietruszewski <piotr.pietruszewski@intel.com> |
ix, ixv: Update link status with autonegotiated baudrate value Use autonegotiated link speed value while updating link status to iflib. This patch is part of change made in NetBSD kernel by Masanobu Saitoh, NetBSD maintainer. Differential Revision: https://reviews.freebsd.org/D19176 Approved by: erj
|
#
8de48df3 |
|
02-Feb-2023 |
Andrew Gallatin <gallatin@FreeBSD.org> |
ixgbe: Do not count L3/L4 checksum errors as input errors NIC input errors have traditionally indicated problems at the link level (crc errors, runts, etc). People tend to build monitoring infrastructure around such errors in order to monitor for bad network hardware. When L3/L4 checksum errors are included in the category of input errors, it breaks such monitoring, as these errors can originate anywhere on the internet, and do not necessarily indicate faulty local network hardware. Reviewed by: erj, glebius Differential Revision: https://reviews.freebsd.org/D38346 Sponsored by: Netflix
|
#
d381c807 |
|
04-Mar-2022 |
Piotr Pietruszewski <piotr.pietruszewski@intel.com> |
ix(4): Add control of 2.5/5G autonegotiation speeds This change enables the user to control 2.5G and 5G autonegotiation speeds via advertise_speed sysctl for X550T devices. Due to reported interoperability issues with switches, 2.5G and 5G speeds will not be advertised by default. Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com> Co-authored-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Tested by: gowtham.kumar.ks@intel.com MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D26245
|
#
a3e719bb |
|
04-Mar-2022 |
Piotr Pietruszewski <piotr.pietruszewski@intel.com> |
ixv(4): Allow PF to control the VF link state This patch adds checks of a VF link state provided by PF via mailbox API. Such change enables the PF to disable a VF administratively. Since command needed by the PF to control the VF is introduced in mailbox api version 1.2, this patch also bumps supported mailbox api version to 1.2. Co-authored-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed By: kbowling@ Tested by: lukasz.szczepaniak@intel.com MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D32004
|
#
15d07799 |
|
26-Sep-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: whitespace cleanup pass Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D32131
|
#
b1d5caf3 |
|
25-Sep-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Rename 'struct adapter' to 'struct ixgbe_softc' Rename the 'struct adapter' to 'struct ixgbe_softc' to avoid type ambiguity in things like kgdb. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D32131
|
#
79b36ec9 |
|
06-Sep-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Use C99 bool types Approved by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31621
|
#
64881da4 |
|
03-May-2021 |
Sai Rajesh Tallamraju <stallamr@netapp.com> |
ixgbe: Restore AIM support AIM (adaptive interrupt moderation) was part of BSD11 driver. Upon IFLIB migration, AIM feature got lost. Re-introducing AIM back into IFLIB based IXGBE driver. One caveat is that in BSD11 driver, a queue comprises both Rx and Tx ring. Starting from BSD12, Rx and Tx have their own queues and rings. Also, IRQ is now only configured for Rx side. So, when AIM is re-enabled, we should now consider only Rx stats for configuring EITR register in contrast to BSD11 where Rx and Tx stats were considered to manipulate EITR register. Reviewed by: gallatin, markj Sponsored by: NetApp, Inc. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27344
|
#
afb1aa4e |
|
02-Mar-2021 |
Piotr Pietruszewski <piotr.pietruszewski@intel.com> |
ix(4): Report RX errors as sum of all RX error counters HW keeps track of RX errors using several counters, each for specific type of errors. Report RX errors to OS as sum of all those counters: CRC errors, illegal bytes, checksum, length, undersize, fragment, oversize and jabber errors. Also, add new "rx_errs" sysctl in the dev.ix.N.mac_stats tree. This is to provide an another way to display the sum of RX errors. Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed By: erj Tested By: gowtham.kumar.ks@intel.com Sponsored By: Intel Corporation Differential Revision: https://reviews.freebsd.org/D27191
|
#
749597dc |
|
24-Sep-2019 |
Eric Joyner <erj@FreeBSD.org> |
ix, ixv: Read msix_bar from device configuration Instead of predicting the MSI-X bar index based on the device's MAC type, read it from the device's PCI configuration instead. PR: 239704 Submitted by: Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed by: erj@ MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D21547
|
#
2dc2d580 |
|
23-Jul-2019 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Fix enabling/disabling and reconfiguration of queues - Wrong order of casting and bit shift caused that enabling and disabling queues didn't work properly for queues number larger than 32. Use literals with right suffix instead. - TX ring tail address was not updated during reinitiailzation of TX structures. It could block sending traffic. - Also remove unused variables 'eims' and 'active_queues'. Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: erj@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D20826
|
#
b2c1e8e6 |
|
31-Jan-2019 |
Eric Joyner <erj@FreeBSD.org> |
ix(4): Run {mod,msf,mbx,fdir,phy}_task in if_update_admin_status From Piotr: This patch introduces adapter->task_requests register responsible for recording requests for mod_task, msf_task, mbx_task, fdir_task and phy_task calls. Instead of enqueueing these tasks with GROUPTASK_ENQUEUE, handlers will be called directly from ixgbe_if_update_admin_status() while holding ctx lock. SIOCGIFXMEDIA ioctl() call reads adapter->media list. The list is deleted and rewritten in ixgbe_handle_msf() task without holding ctx lock. This change is needed to maintain data coherency when sharing adapter info via ioctl() calls. Patch co-authored by Krzysztof Galazka <krzysztof.galazka@intel.com>. PR: 221317 Submitted by: Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed by: sbruno@, IntelNetworking Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D18468
|
#
7f87c040 |
|
15-Jul-2018 |
Marius Strobl <marius@FreeBSD.org> |
Assorted TSO fixes for em(4)/iflib(9) and dead code removal: - Ever since the workaround for the silicon bug of TSO4 causing MAC hangs was committed in r295133, CSUM_TSO always got disabled unconditionally by em(4) on the first invocation of em_init_locked(). However, even with that problem fixed, it turned out that for at least e. g. 82579 not all necessary TSO workarounds are in place, still causing MAC hangs even at Gigabit speed. Thus, for stable/11, TSO usage was deliberately disabled in r323292 (r323293 for stable/10) for the EM-class by default, allowing users to turn it on if it happens to work with their particular EM MAC in a Gigabit-only environment. In head, the TSO workaround for speeds other than Gigabit was lost with the conversion to iflib(9) in r311849 (possibly along with another one or two TSO workarounds). Yet at the same time, for EM-class MACs TSO4 got enabled by default again, causing device hangs. Therefore, change the default for this hardware class back to have TSO4 off, allowing users to turn it on manually if it happens to work in their environment as we do in stable/{10,11}. An alternative would be to add a whitelist of EM-class devices where TSO4 actually is reliable with the workarounds in place, but given that the advantage of TSO at Gigabit speed is rather limited - especially with the overhead of these workarounds -, that's really not worth it. [1] This change includes the addition of an isc_capabilities to struct if_softc_ctx so iflib(9) can also handle interface capabilities that shouldn't be enabled by default which is used to handle the default-off capabilities of e1000 as suggested by shurd@ and moving their handling from em_setup_interface() to em_if_attach_pre() accordingly. - Although 82543 support TSO4 in theory, the former lem(4) didn't have support for TSO4, presumably because TSO4 is even more broken in the LEM-class of MACs than the later EM ones. Still, TSO4 for LEM-class devices was enabled as part of the conversion to iflib(9) in r311849, causing device hangs. So revert back to the pre-r311849 behavior of not supporting TSO4 for LEM-class at all, which includes not creating a TSO DMA tag in iflib(9) for devices not having IFCAP_TSO4 set. [2] - In fact, the FreeBSD TCP stack can handle a TSO size of IP_MAXPACKET (65535) rather than FREEBSD_TSO_SIZE_MAX (65518). However, the TSO DMA must have a maxsize of the maximum TSO size plus the size of a VLAN header for software VLAN tagging. The iflib(9) converted em(4), thus, first correctly sets scctx->isc_tx_tso_size_max to EM_TSO_SIZE in em_if_attach_pre(), but later on overrides it with IP_MAXPACKET in em_setup_interface() (apparently, left-over from pre-iflib(9) times). So remove the later and correct iflib(9) to correctly cap the maximum TSO size reported to the stack at IP_MAXPACKET. While at it, let iflib(9) use if_sethwtsomax*(). This change includes the addition of isc_tso_max{seg,}size DMA engine constraints for the TSO DMA tag to struct if_shared_ctx and letting iflib_txsd_alloc() automatically adjust the maxsize of that tag in case IFCAP_VLAN_MTU is supported as requested by shurd@. - Move the if_setifheaderlen(9) call for adjusting the maximum Ethernet header length from {ixgbe,ixl,ixlv,ixv,em}_setup_interface() to iflib(9) so adjustment is automatically done in case IFCAP_VLAN_MTU is supported. As a consequence, this adjustment now is also done in case of bnxt(4) which missed it previously. - Move the reduction of the maximum TSO segment count reported to the stack by the number of m_pullup(9) calls (which in the worst case, can add another mbuf and, thus, the requirement for another DMA segment each) in the transmit path for performance reasons from em_setup_interface() to iflib_txsd_alloc() as these pull-ups are now done in iflib_parse_header() rather than in the no longer existing em_xmit(). Moreover, this optimization applies to all drivers using iflib(9) and not just em(4); all in-tree iflib(9) consumers still have enough room to handle full size TSO packets. Also, reduce the adjustment to the maximum number of m_pullup(9)'s now performed in iflib_parse_header(). - Prior to the conversion of em(4)/igb(4)/lem(4) and ixl(4) to iflib(9) in r311849 and r335338 respectively, these drivers didn't enable IFCAP_VLAN_HWFILTER by default due to VLAN events not being passed through by lagg(4). With iflib(9), IFCAP_VLAN_HWFILTER was turned on by default but also lagg(4) was fixed in that regard in r203548. So just remove the now redundant and defunct IFCAP_VLAN_HWFILTER handling in {em,ixl,ixlv}_setup_interface(). - Nuke other redundant IFCAP_* setting in {em,ixl,ixlv}_setup_interface() which is (more completely) already done in {em,ixl,ixlv}_if_attach_pre() now. - Remove some redundant/dead setting of scctx->isc_tx_csum_flags in em_if_attach_pre(). - Remove some IFCAP_* duplicated either directly or indirectly (e. g. via IFCAP_HWCSUM) in {EM,IGB,IXL}_CAPS. - Don't bother to fiddle with IFCAP_HWSTATS in ixgbe(4)/ixgbev(4) as iflib(9) adds that capability unconditionally. - Remove some unused macros from em(4). - Bump __FreeBSD_version as some of the above changes require the modules of drivers using iflib(9) to be recompiled. Okayed by: sbruno@ at 201806 DevSummit Transport Working Group [1] Reviewed by: sbruno (earlier version), erj PR: 219428 (part of; comment #10) [1], 220997 (part of; comment #3) [2] Differential Revision: https://reviews.freebsd.org/D15720
|
#
c19c7afe |
|
20-Dec-2017 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Convert driver to use iflib Initial update to the ixgbe PF and VF drivers to support the iflib interface. The PF driver version is bumped to 4.0.0, and the VF driver version is bumped to 2.0.0. Special thanks to sbruno@ for the support in helping make this conversion happen. Submitted by: Jeb Cramer <cramerj@intel.com>, Krzysztof Galazka (Chris) <krzysztof.galazka@intel.com>, Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed by: sbruno@, shurd@, #IntelNetworking Tested by: Jeffrey Pieper <jeffrey.e.pieper@intel.com>, Sergey Kozlov <kozlov.sergey.404@gmail.com> Sponsored by: Limelight Networks, Intel Corporation Differential Revision: https://reviews.freebsd.org/D11727
|
#
7282444b |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/dev: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
|
#
8eb6488e |
|
05-Jul-2017 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Update HEAD (p3) to 3.2.12-k Includes: - Support for X550EM devices. - Support for Bypass adapters. - Flow Director code moved to separate files - SR-IOV code moved to separate files - Netmap code moved to separate files Differential Revision: https://reviews.freebsd.org/D11232 Submitted by: Jeb Cramer <cramerj@intel.com> Reviewed by: erj@ Tested by: Jeff Pieper <jeffrey.e.pieper@intel.com> Sponsored by: Intel Corporation
|
#
bd937497 |
|
09-Aug-2016 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Consistently use `device_t` Several files use the internal name of `struct device` instead of `device_t` which is part of the public API. This patch changes all `struct device *` to `device_t`. The remaining occurrences of `struct device` are those referring to the Linux or OpenBSD version of the structure, or the code is not built on FreeBSD and it's unclear what to do. Submitted by: Matthew Macy <mmacy@nextbsd.org> (previous version) Approved by: emaste, jhibbits, sbruno MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D7447
|
#
f2c4db54 |
|
25-Jan-2016 |
Steven Hartland <smh@FreeBSD.org> |
ixgbe sysctl hardware defaults Added hw.ix.flow_control which enables the default flow_control of all ix interfaces to be set in loader.conf. Added hw.ix.advertise_speed which enables the default advertised_speed of all ix interfaces to be set in loader.conf. Made enable_aim device independent based on hw.ix.enable_aim default. Reviewed by: erj MFC after: 1 week Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D5060
|
#
a9ca1c79 |
|
23-Dec-2015 |
Sean Bruno <sbruno@FreeBSD.org> |
ixgbe(4): Update to version 3.1.13-k Add support for two new devices: X552 SFP+ 10 GbE, and the single port version of X550T. Submitted by: erj Reviewed by: gnn Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D4186
|
#
b0c041f8 |
|
13-Oct-2015 |
Sean Bruno <sbruno@FreeBSD.org> |
Add support for sysctl knobs to live tune the per interrupt rx/tx packet processing limits in ixgbe(4) Differential Revision: https://reviews.freebsd.org/D3719 Submitted by: jason wolfe (j-nitrology.com) MFC after: 2 weeks
|
#
8aa7fdbd |
|
14-Jul-2015 |
Patrick Kelsey <pkelsey@FreeBSD.org> |
Add netmap support for ixgbe SRIOV VFs (that is, to if_ixv). Differential Revision: https://reviews.freebsd.org/D2923 Reviewed by: erj, gnn Approved by: jmallett (mentor) Sponsored by: Norse Corp, Inc.
|
#
9e34aea2 |
|
01-Jun-2015 |
John Baldwin <jhb@FreeBSD.org> |
Catch up to the SRIOV API changes in r283670.
|
#
48056c88 |
|
01-Jun-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Delta D2489 - Add SRIOV support to the Intel 10G driver. NOTE: This is a technology preview, while it has undergone development testing, Intel has not yet completed full validation of the feature. It is being integrated for early access and customer testing.
|
#
30126537 |
|
01-Jun-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Revert last commit, to remove added skeleton tree.
|
#
2533e325 |
|
01-Jun-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Delta D2489 - Add SRIOV support to the Intel 10G driver. NOTE: This is a technology preview, while it has undergone development tests, Intel has not yet completed full validation of the feature. It is being integrated for early access and customer testing.
|
#
6f37f232 |
|
30-Apr-2015 |
Eric Joyner <erj@FreeBSD.org> |
Add support for certain Intel X550 devices. These include standalone X550 adapters, X552 10GbE backplane, and X552/X557-AT 10GBASE-T; with the latter two being integrated into Xeon D SoCs. As well, this bumps the ixgbe version number to 2.8.3, and includes updates to shared code for support for the new devices. Differential Revision: D2414 Reviewed by: gnn, adrian Approved by: jfv (mentor), gnn (mentor)
|
#
bff38d63 |
|
18-Mar-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Fix i386 LINT build issues, and remove unused variable.
|
#
758cc3dc |
|
17-Mar-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to the Intel ixgbe driver: - Split the driver into independent pf and vf loadables. This is in preparation for SRIOV support which will be following shortly. This also allows us to keep a seperate revision control over the two parts, making for easier sustaining. - Make the TX/RX code a shared/seperated file, in the old code base the ixv code would miss fixes that went into ixgbe, this model will eliminate that problem. - The driver loadables will now match the device names, something that has been requested for some time. - Rather than a modules/ixgbe there is now modules/ix and modules/ixv - It will also be possible to make your static kernel with only one or the other for streamlined installs, or both. Enjoy! Submitted by: jfv and erj
|
#
74c1c91c |
|
28-Feb-2015 |
Enji Cooper <ngie@FreeBSD.org> |
Pad RX copy alignment calculation to avoid illegal memory accesses The optimization made in r239940 is valid for struct mbuf's current structure and size in FreeBSD, but hardcodes assumptions about sizes of struct mbuf, which are unfortunately broken if additional data is added to the beginning of struct mbuf X-MFC note (discussed with rwatson): This change requires the MPKTHSIZE definition, which is only available after head@r277203 and will not be MFCed as it breaks mbuf(9) KPI. A direct commit to stable/10 and merges to other branches to add the necessary definitions to work with the code as-is will be done to facilitate this MFC PR: 194314 MFC after: 2 weeks Approved/Reviewed by: erj, jfv Sponsored by: EMC / Isilon Storage Division
|
#
e45d876d |
|
15-Sep-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
The error bits are not valid with EOP=0; so intermediary fragments should not be discarded. Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com> MFC after: 1 week Sponsored by: Verisign, Inc.
|
#
ea463f2d |
|
29-Aug-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
* Add SIOCGI2C driver ioctl used to retrieve i2c info. * Convert ixgbe to use this ioctl * Convert ifconfig to use generic i2c handler for "ix" interfaces. Approved by: Eric Joyner (ixgbe part) MFC after: 2 weeks Sponsored by: Yandex LLC
|
#
76039bc8 |
|
26-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare to this event, adding if_var.h to files that do need it. Also, include all includes that now are included due to implicit pollution via if_var.h Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
fd75b91d |
|
18-Jun-2013 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
60372f6f |
|
20-Dec-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
rename the 'tag' and 'map' fields used the rx ring to their previous names, 'ptag' and 'pmap' -- p stands for packet. This change reduces the difference between the code in stable/9 and head, and also helps using the same ixgbe_netmap.h on both branches. Approved by: Jack Vogel
|
#
5a5d90a2 |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #11 - The final patch: this one greatly improves the TX hot path by getting rid of index calculations and simply managing pointers. Much of the creative code is due to my coworker here at Intel, Alex Duyck, thanks Alex! Also, this whole series of patches was given the critical eye of Gleb Smirnoff and is all the better for it, thanks Gleb!
|
#
47dd71a8 |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #8 Performance changes - this one improves locality, moving some counters and data to the ring struct from the adapter struct, also compressing some data in the move.
|
#
27329b1a |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #7 This is primarily about processing limit control. - add a limit for both RX and TX, change the default to 256 - change the sysctl usage to be common, and now to be called during init for each ring. - the TX limit is not yet used, but the changes in the last patch in this series uses the value. - the motivation behind these changes is to improve data locality in the final code. - rxeof interface changes since it now gets limit from the ring struct
|
#
01816c87 |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #6 Whitespace cleanup, and removal of some very old defines (at Gleb's request). Also, change the defines around the old transmit code to IXGBE_LEGACY_TX, I do this to make it possible to define this regardless of the OS level (it is not defined by default). There are also a couple changed comments for clarity.
|
#
0c2f38e4 |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #5 Cleanup unused IEEE1588 code fragments, the day may come when this feature gets implemented, but its not here yet and I see no reason to leave this laying around.
|
#
6a59dfbb |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #3 - Add a new ioctl to access SFP+ module diagnostic data via the I2C routines in shared code.
|
#
35bbbdaa |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Patch #2 - remove OACTIVE and DEPLETED notions from the multiqueue code, this functionality has proven to be more trouble than it was worth. Thanks to Gleb for a second critical look over my code and help in the patches!
|
#
7d1157ee |
|
30-Nov-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
First of a series of 11 patches leading to new ixgbe version 2.5.0 This removes the header split and supporting code from the driver.
|
#
aceb0403 |
|
26-Sep-2012 |
John Baldwin <jhb@FreeBSD.org> |
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 where if_transmit is used. Tested by: Vijay Singh Reviewed by: jfv MFC after: 2 weeks
|
#
cfc0969a |
|
31-Aug-2012 |
Scott Long <scottl@FreeBSD.org> |
Heavily optimize the case of small RX packets of 160 bytes or less. For this case, allocate a plain mbuf and copy the frame into it, then send the copy up the stack, leaving the original mbuf+cluster in place in the receive ring for immediate re-use. This saves a trip through 2 of the 3 zones of the compound mbuf allocator, a trip through busdma, and a trip through the 1 of the 3 mbuf destructors. For our load at Netflix, this can lower CPU consumption by as much as 20%. The copy algorithm is based on investigative work from Luigi Rizzo earlier in the year. Reviewed by: jfv Obtained from: Netflix
|
#
39fc714a |
|
23-Apr-2012 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
If we pass down 64k - L2 hdr size + 1 to 64K L3+ data adding an ether header will make the data go over the 64k limits announced to busdma as maxsize and the transaction will fail. With TSO this can result in a TCP regression due to the lost packet. According to the data sheets ixgbe(4) 82598 and 82599 can handle up to 256k so increase the maximum. Reported by: Jon Kåre Hellan, UNINETT (jon.kare.hellan uninett.no) Tested by: Jon Kåre Hellan, UNINETT (jon.kare.hellan uninett.no) MFC after: 1 week
|
#
85d0a26e |
|
30-Jan-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
0e6fa41f |
|
28-Apr-2011 |
Jack F Vogel <jfv@FreeBSD.org> |
Add a #define for driver portability to older OS
|
#
e2314c6c |
|
25-Apr-2011 |
Jack F Vogel <jfv@FreeBSD.org> |
- 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
|
#
182b3808 |
|
19-Jan-2011 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
4655a392 |
|
07-Jan-2011 |
Jack F Vogel <jfv@FreeBSD.org> |
Fix to kern/150247 - make ixgbe buildable for 7.x
|
#
38104ecc |
|
26-Nov-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
and the header...
|
#
1a4e3449 |
|
26-Nov-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
dd20cce1 |
|
27-Aug-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
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
|
#
a02f351b |
|
30-Jun-2010 |
Kevin Lo <kevlo@FreeBSD.org> |
Fix build
|
#
17d2646b |
|
30-Jun-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
3da2cea4 |
|
30-Jun-2010 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix build.
|
#
2d8f84cb |
|
02-Jun-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
2a147bb2 |
|
24-May-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
MFC of driver version 2.2.0 for 8.1
|
#
3f13ffab |
|
18-May-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
d4e2e2a5 |
|
05-Apr-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
MFC of version 2.1.7 of the ixgbe driver.
|
#
9de5aff5 |
|
30-Mar-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
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 :)
|
#
c0014855 |
|
26-Mar-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
2969bf0e |
|
07-Dec-2009 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
d8602bb9 |
|
24-Jun-2009 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
0ac6dfec |
|
09-Apr-2009 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
1b6e0dba |
|
26-Nov-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
5b7f4ced |
|
30-Jul-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
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!
|
#
45cfd29b |
|
11-Jun-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Change include to reflect tcp_lro.h move.
|
#
9ca4041b |
|
16-May-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
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.
|
#
3ec35e52 |
|
03-Sep-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
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
|
#
13705f88 |
|
11-Jul-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
Add the actual source too :) Approved by: re
|