Revision tags: release/14.0.0 |
|
#
51e23514 |
| 16-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
iflib drivers: Constify PCI ID LUTs
Since d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, iflib(9) is ready for this change. While at it, make isc_driver_version strings (static) const where not apparentl
iflib drivers: Constify PCI ID LUTs
Since d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, iflib(9) is ready for this change. While at it, make isc_driver_version strings (static) const where not apparently un-const on purpose, too. This reduces the size of the amd64 GENERIC by about 10 KiB.
show more ...
|
#
71625ec9 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c comment pattern
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
#
ba2f531f |
| 21-Jul-2023 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Add link state polling
In some cases driver may ask FW about link state before FW finishes configuration of a (Q)SFP+ transceiver. If first attempt of using Get Link Status AQC after loading
ixl(4): Add link state polling
In some cases driver may ask FW about link state before FW finishes configuration of a (Q)SFP+ transceiver. If first attempt of using Get Link Status AQC after loading driver or handling a reset fails, then re-try periodically for 5 seconds.
Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Signed-off-by: Eric Joyner <erj@FreeBSD.org>
Tested by: jeffrey.e.pieper@intel.com Approved by: erj@ MFC after: 2 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D40899
show more ...
|
#
b8f51b8c |
| 06-Jun-2023 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
ixl: port ice's atomic API to ixl
Differential Revision: https://reviews.freebsd.org/D40532 Approved by: erj
|
Revision tags: release/13.2.0 |
|
#
1d02c6b1 |
| 15-Feb-2023 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Fix MAC/VLAN filters accounting
- Account for a filter required to enable reception of untagged frames while registering and unregistering VLANs to avoid trying to add more filters than HW s
ixl(4): Fix MAC/VLAN filters accounting
- Account for a filter required to enable reception of untagged frames while registering and unregistering VLANs to avoid trying to add more filters than HW supports
- While adding MAC/VLAN filters, pre-set matching method field in the Admin Queue Command response buffer to expected error value to work around an issue with some FW versions, which do not update that field if operation fails, and be able correctly track which filters were configured in HW.
- Remove unused IXL_MAX_FILTERS macro definition
- Update number of available MAC/VLAN filters as in newer FW versions it was decreased by one.
- Simplify i40e_dma_mem structure
Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Signed-off-by: Eric Joyner <erj@FreeBSD.org>
Reviewed by: erj@ Tested by: Gowtham Kumar Ks <gowtham.kumar.ks@intel.com> MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D37457
show more ...
|
Revision tags: release/12.4.0 |
|
#
40791290 |
| 23-Jun-2022 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
ixl: purge EOL release compatibility
Drop code that differentiated between FreeBSD 10 and 11.
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: h
ixl: purge EOL release compatibility
Drop code that differentiated between FreeBSD 10 and 11.
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560
show more ...
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
402810d3 |
| 20-Oct-2021 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Convert iflib(4) and iflib-based drivers to the DrvAPI
Summary: Convert iflib(4) and the following drivers: * axgbe * em * ice * ixl * vmxnet
Sponsored by: Juniper Networks, Inc. Reviewed by: kbowl
Convert iflib(4) and iflib-based drivers to the DrvAPI
Summary: Convert iflib(4) and the following drivers: * axgbe * em * ice * ixl * vmxnet
Sponsored by: Juniper Networks, Inc. Reviewed by: kbowling, #iflib Differential Revision: https://reviews.freebsd.org/D37768
show more ...
|
#
17859d53 |
| 06-Dec-2022 |
Andrew Gallatin <gallatin@FreeBSD.org> |
ixl: silence runtime warning when PCI_IOV is not enabled
When PCI_IOV is not enabled, do not attempt to call iflib_softirq_alloc_generic(...IFLIB_INTR_IOV), as it results in boot-time warnings simil
ixl: silence runtime warning when PCI_IOV is not enabled
When PCI_IOV is not enabled, do not attempt to call iflib_softirq_alloc_generic(...IFLIB_INTR_IOV), as it results in boot-time warnings similar to: taskqgroup_attach_cpu: qid not found for iov cpu=2 ixl2: taskqgroup_attach_cpu failed 22 Instead, make it conditional on PCI_IOV like the other SR-IOV related code.
Reviewed by: erj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37609
show more ...
|
#
b7b40e4a |
| 24-May-2022 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Add support for I710 devices and remove non-inclusive language
Intel introduces a new line of 1G Ethernet adapters with Device ID 0x0DD2. While at that also remove non-inclusive language.
S
ixl(4): Add support for I710 devices and remove non-inclusive language
Intel introduces a new line of 1G Ethernet adapters with Device ID 0x0DD2. While at that also remove non-inclusive language.
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
Reviewed by: kbowling@ Tested by: gowtham.kumar.ks@intel.com MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34924
show more ...
|
#
83c0a9e8 |
| 07-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
iavf/ice/ixl: Remove unused devclass arguments to DRIVER_MODULE.
|
#
d7125850 |
| 19-Nov-2021 |
Gordon Bergling <gbe@FreeBSD.org> |
ixl(4): Fix a typo in a sysctl description
MFC after: 3 days
|
#
abf77452 |
| 13-Sep-2021 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Fix 2.5 and 5G speeds reporting and update shared code
Fix 2.5 and 5G speeds reporting and update shared code with recent changes: - Update expected FW API versions for X710 and X722 adapter
ixl(4): Fix 2.5 and 5G speeds reporting and update shared code
Fix 2.5 and 5G speeds reporting and update shared code with recent changes: - Update expected FW API versions for X710 and X722 adapters - Define pointers related to Preservation Rules Module - Add definitions for Shadow RAM pointers to new modules: 5th and 6th FPA, and Preservation Rules Module. - Add I40E_RX_PTYPE_PARSER_ABORTED definition, so the driver will know opcode for parser aborted packets. - Add the new filter types needed for custom cloud filters. - Add support for Minimum Rollback Revision - Fix RX_ONLY mode for unicast promiscuous on VLAN - Add EEE LPI status check for X722 adapters - Fix PHY type identifiers for 2.5G and 5G adapters - Fix update link data for X722 - Increase the timeout value for PF reset to give PF more time to finish reset if it is loaded with filters. - Added support for Min Rollback Revision for 4 more X722 modules - Fix reporting of Active Optical Cable media type - Add flags and fields for double VLAN processing - Fix potentially uninitialized variables in NVM code
Reviewed by: kbowling@, mike.jakubik@gmail.com Tested by: gowtham.kumar.ks@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D31565
show more ...
|
#
c4622b01 |
| 20-Aug-2021 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Fix reporting of unqualified transceivers
When link_active_on_if_down flag is disabled and link is brought down with ifconfig, FW reports a false positive link event about an unqualified tra
ixl(4): Fix reporting of unqualified transceivers
When link_active_on_if_down flag is disabled and link is brought down with ifconfig, FW reports a false positive link event about an unqualified transceiver. The condition used in the driver to filter out those false positive events was incorrect and caused that unqualified module event to also not be reported when the event was valid.
Change the condition to rely on IFF_UP flag instead of link_active_on_if_down and bump driver version to 2.3.1-k.
Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Signed-off-by: Eric Joyner <erj@FreeBSD.org>
Reviewed by: stallamr@netapp.com, erj@ Tested by: gowtham.kumar.ks@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D30733
show more ...
|
Revision tags: release/13.0.0 |
|
#
20a52706 |
| 05-Apr-2021 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Add tunable to override Flow Control settings
Add flow_control to hw.ixl tunables tree to let override initial flow control configuration for all interfaces. Keep using configuration set by
ixl(4): Add tunable to override Flow Control settings
Add flow_control to hw.ixl tunables tree to let override initial flow control configuration for all interfaces. Keep using configuration set by NVM by default.
Reviewed by: erj@, gallatin@ Tested by: gowtham.kumar.ks_intel.com MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D29338
show more ...
|
#
ffe3def9 |
| 08-Mar-2021 |
Mark Johnston <markj@FreeBSD.org> |
iflib: Make if_shared_ctx_t a pointer to const
This structure is shared among multiple instances of a driver, so we should ensure that it doesn't somehow get treated as if there's a separate instanc
iflib: Make if_shared_ctx_t a pointer to const
This structure is shared among multiple instances of a driver, so we should ensure that it doesn't somehow get treated as if there's a separate instance per interface. This is especially important for software-only drivers like wg.
DEVICE_REGISTER() still returns a void * and so the per-driver sctx structures are not yet defined with the const qualifier.
Reviewed by: gallatin, erj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29102
show more ...
|
#
21802a12 |
| 03-Mar-2021 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Add ability to control link state on ifconfig down
Add sysctl link_active_on_if_down, which allows user to control if interface is kept in active state when it is brought down with ifconfig.
ixl(4): Add ability to control link state on ifconfig down
Add sysctl link_active_on_if_down, which allows user to control if interface is kept in active state when it is brought down with ifconfig. Set it to enabled by default to preserve backwards compatibility.
Reviewed by: erj Tested by: gowtham.kumar.ks@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D28028
show more ...
|
#
7d4dceec |
| 04-Feb-2021 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(4): Fix VLAN HW filtering
X700 family of controllers has limited number of available VLAN HW filters. Driver did not handle properly a case when user assigned more VLANs to the interface which h
ixl(4): Fix VLAN HW filtering
X700 family of controllers has limited number of available VLAN HW filters. Driver did not handle properly a case when user assigned more VLANs to the interface which had all filters already in use. Fix that by disabling HW filtering when it is impossible to create filters for all requested VLANs. Keep track of registered VLANs using bitstring to be able to re-enable HW filtering when number of requested VLANs drops below the limit.
Also switch all allocations to use M_IXL malloc type to ease detecting memory leaks in the driver.
Reviewed by: erj Tested by: gowtham.kumar.ks@intel.com MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28137
show more ...
|
#
38bfc6de |
| 01-Feb-2021 |
Sai Rajesh Tallamraju <stallamr@netapp.com> |
iflib: Free resources in a consistent order during detach
Memory and PCI resources are freed with no particular order. This could cause use-after-frees when detaching following a failed attach. Fo
iflib: Free resources in a consistent order during detach
Memory and PCI resources are freed with no particular order. This could cause use-after-frees when detaching following a failed attach. For instance, iflib_tx_structures_free() frees ctx->ifc_txqs[] but iflib_tqg_detach() attempts to access this array. Similarly, adapter queues gets freed by IFDI_QUEUES_FREE() but IFDI_DETACH() attempts to access adapter queues to free PCI resources.
MFC after: 2 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D27634
show more ...
|
#
81be6552 |
| 19-Dec-2020 |
Matt Macy <mmacy@FreeBSD.org> |
iflib: ensure that tx interrupts enabled and cleanups
Doing a 'dd' over iscsi will reliably cause stalls. Tx cleaning _should_ reliably happen as data is sent. However, currently if the transmit que
iflib: ensure that tx interrupts enabled and cleanups
Doing a 'dd' over iscsi will reliably cause stalls. Tx cleaning _should_ reliably happen as data is sent. However, currently if the transmit queue fills it will wait until the iflib timer (hz/2) runs.
This change causes the the tx taskq thread to be run if there are completed descriptors.
While here:
- make timer interrupt delay a sysctl
- simplify txd_db_check handling
- comment on INTR types
Background on the change:
Initially doorbell updates were minimized by only writing to the register on every fourth packet. If txq_drain would return without writing to the doorbell it scheduled a callout on the next tick to do the doorbell write to ensure that the write otherwise happened "soon". At that time a sysctl was added for users to avoid the potential added latency by simply writing to the doorbell register on every packet. This worked perfectly well for e1000 and ixgbe ... and appeared to work well on ixl. However, as it turned out there was a race to this approach that would lockup the ixl MAC. It was possible for a lower producer index to be written after a higher one. On e1000 and ixgbe this was harmless - on ixl it was fatal. My initial response was to add a lock around doorbell writes - fixing the problem but adding an unacceptable amount of lock contention.
The next iteration was to use transmit interrupts to drive delayed doorbell writes. If there were no packets in the queue all doorbell writes would be immediate as the queue started to fill up we could delay doorbell writes further and further. At the start of drain if we've cleaned any packets we know we've moved the state machine along and we write the doorbell (an obvious missing optimization was to skip that doorbell write if db_pending is zero). This change required that tx interrupts be scheduled periodically as opposed to just when the hardware txq was full. However, that just leads to our next problem.
Initially dedicated msix vectors were used for both tx and rx. However, it was often possible to use up all available vectors before we set up all the queues we wanted. By having rx and tx share a vector for a given queue we could halve the number of vectors used by a given configuration. The problem here is that with this change only e1000 passed the necessary value to have the fast interrupt drive tx when appropriate.
Reported by: mav@ Tested by: mav@ Reviewed by: gallatin@ MFC after: 1 month Sponsored by: iXsystems Differential Revision: https://reviews.freebsd.org/D27683
show more ...
|
Revision tags: release/12.2.0 |
|
#
2984a8dd |
| 02-Sep-2020 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Add support for X710-T*L devices
Add support for new devices which are capable of 2.5 and 5G speeds, as well as Energy Efficient Ethernet (EEE):
- introduce new device ids - add ability to
ixl(4): Add support for X710-T*L devices
Add support for new devices which are capable of 2.5 and 5G speeds, as well as Energy Efficient Ethernet (EEE):
- introduce new device ids - add ability to select 2.5 and 5G speeds on devices which support it - add sysctls to enable EEE and read related statistics
Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: #IntelNetworking MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D25549
show more ...
|
Revision tags: release/11.4.0 |
|
#
b4a7ce06 |
| 10-Jun-2020 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Add FW recovery mode support and other things
Update the iflib version of ixl driver based on the OOT version ixl-1.11.29.
Major changes:
- Extract iflib specific functions from ixl_pf_mai
ixl(4): Add FW recovery mode support and other things
Update the iflib version of ixl driver based on the OOT version ixl-1.11.29.
Major changes:
- Extract iflib specific functions from ixl_pf_main.c to ixl_pf_iflib.c to simplify code sharing between legacy and iflib version of driver
- Add support for most recent FW API version (1.10), which extends FW LLDP Agent control by user to X722 devices
- Improve handling of device global reset
- Add support for the FW recovery mode
- Use virtchnl function to validate virtual channel messages instead of using separate checks
- Fix MAC/VLAN filters accounting
Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: erj@ Tested by: Jeffrey Pieper <jeffrey.e.pieper@intel.com> MFC after: 1 week Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D24564
show more ...
|
#
cf150917 |
| 11-May-2020 |
Eric Joyner <erj@FreeBSD.org> |
em/ix/ixv/ixl/iavf: Implement ifdi_needs_restart iflib method
Pursuant to r360398, implement driver-specific versions of the ifdi_needs_restart iflib device method.
Some (if not most?) Intel networ
em/ix/ixv/ixl/iavf: Implement ifdi_needs_restart iflib method
Pursuant to r360398, implement driver-specific versions of the ifdi_needs_restart iflib device method.
Some (if not most?) Intel network cards don't need reinitializing when a VLAN is added or removed from the device hardware, so these implement ifdi_needs_restart in a way that tell iflib not to bring the interface up or down when a VLAN is added or removed, regardless of whether the VLAN_HWFILTER interface capability flag is set or not.
This could potentially solve several PRs relating to link flaps that occur when VLANs are added/removed to devices.
Signed-off-by: Eric Joyner <erj@freebsd.org>
PR: 240818, 241785 Reviewed by: gallatin@, olivier@ MFC after: 3 days MFC with: r360398 Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D24659
show more ...
|
#
f7ed37c5 |
| 06-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358678 through r358711.
|
#
c65f571c |
| 06-Mar-2020 |
Leandro Lupori <luporl@FreeBSD.org> |
ixl: Add missing conversions from/to LE16
This fixes some errors on PPC64, during attach and when trying to assign an IP to an interface. With this change, basic operation of X710 NICs is now possi
ixl: Add missing conversions from/to LE16
This fixes some errors on PPC64, during attach and when trying to assign an IP to an interface. With this change, basic operation of X710 NICs is now possible.
This also fixes builds with IXL_DEBUG enabled
Reviewed by: erj Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D23975
show more ...
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|