#
395cc55d |
| 13-Apr-2022 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Update mc filter before FCTRL flags
Update mc filter array before changing FCTRL flags, similar to 5a3eb6207a35
Approved by: grehan MFC after: 2 weeks
|
#
c0a42a04 |
| 13-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
ix: Remove cpu_id and related code from ixgbe_if_msix_intr_assign.
Reviewed by: erj Differential Revision: https://reviews.freebsd.org/D34828
|
#
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 interoper
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
show more ...
|
Revision tags: release/12.3.0 |
|
#
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 |
| 26-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 Differen
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
show more ...
|
#
79b36ec9 |
| 07-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
|
#
5de5419b |
| 23-Aug-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Avoid sbuf_trim(9) in sysctl handler
This was an error, we cannot use sbuf_trim(9) in the ixgbe_sbuf_fw_version function because it also gets called in the context of sbuf_new_for_sysctl(9).
ixgbe: Avoid sbuf_trim(9) in sysctl handler
This was an error, we cannot use sbuf_trim(9) in the ixgbe_sbuf_fw_version function because it also gets called in the context of sbuf_new_for_sysctl(9). sbuf(9) explains the interaction with drain functions as used by sbuf_new_for_sysctl(9).
Reviewed by: imp Fixes: 7660e4ea5cb7 MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D31633
show more ...
|
#
7660e4ea |
| 16-Jul-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Print FW NVM and Option ROM versions
It can be useful for system operators to see this kind of information when correlating issues or requesting support from the OEM or Intel for hardware and
ixgbe: Print FW NVM and Option ROM versions
It can be useful for system operators to see this kind of information when correlating issues or requesting support from the OEM or Intel for hardware and firmware issues.
Reviewed by: gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D30178
show more ...
|
#
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 cavea
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
show more ...
|
#
fdbcd35a |
| 21-Apr-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Improve device name strings
This is just clerical work to ease bug triage and may be used to set expectations around the ability for anyone in the community to perform testing and development
ixgbe: Improve device name strings
This is just clerical work to ease bug triage and may be used to set expectations around the ability for anyone in the community to perform testing and development on older parts.
Approved by: erj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D29876
show more ...
|
#
deecaa14 |
| 19-Apr-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Clean up unneeded set in ixgbe_if_multi_set
We don't need to set the bits here since the if/else if/else statements fully cover setting these bit pairs.
Reported by: markj Reviewed by: markj
ixgbe: Clean up unneeded set in ixgbe_if_multi_set
We don't need to set the bits here since the if/else if/else statements fully cover setting these bit pairs.
Reported by: markj Reviewed by: markj, erj Approved by: #intel_networking MFC aftter: 1 week Differential Revision: https://reviews.freebsd.org/D29827
show more ...
|
#
21afed4b |
| 17-Apr-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixgbe: Clarify index name in ixgbe_mc_filter_apply
"It looks like it would be less confusing to rename 'count' to something like 'idx', since that's what it's used for in this function."
Reviewed b
ixgbe: Clarify index name in ixgbe_mc_filter_apply
"It looks like it would be less confusing to rename 'count' to something like 'idx', since that's what it's used for in this function."
Reviewed by: erj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29798
show more ...
|
Revision tags: release/13.0.0 |
|
#
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 ...
|
#
afb1aa4e |
| 03-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
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
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, release/11.4.0 |
|
#
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 ...
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
#
20b91f0a |
| 24-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (15 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (15 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
show more ...
|
#
bb1d0df5 |
| 29-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357179 through r357269.
|
#
d09fbcd0 |
| 29-Jan-2020 |
Conrad Meyer <cem@FreeBSD.org> |
ixgbe(4): Eliminate bogus sizeof() expressions
All of these uses of sizeof() were on the wrong type in relation to the pointer passed to SYSCTL_ADD_PROC as arg1. Fortunately, none of the handlers a
ixgbe(4): Eliminate bogus sizeof() expressions
All of these uses of sizeof() were on the wrong type in relation to the pointer passed to SYSCTL_ADD_PROC as arg1. Fortunately, none of the handlers actually use arg2. So just don't pass a (non-zero) arg2.
Reported by: Coverity CID: 1007701
show more ...
|
Revision tags: release/12.1.0 |
|
#
e37d3dc1 |
| 16-Oct-2019 |
Eric Joyner <erj@FreeBSD.org> |
ix: report isc_pause_frames during stat update
From Jake: Notify the iflib stack of whether we received any pause frames during the timer window. This allows the stack to avoid reporting a Tx hang d
ix: report isc_pause_frames during stat update
From Jake: Notify the iflib stack of whether we received any pause frames during the timer window. This allows the stack to avoid reporting a Tx hang due to the device being paused.
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: gallatin@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D21869
show more ...
|
#
d61b6a41 |
| 15-Oct-2019 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe: Disable EEE for backplane X550EM_X
From Zach: Intel documentation indicates that backplane X550EM_X KR devices do not support Energy Efficient Ethernet. Prior to this patch, X552 devices (dev
ixgbe: Disable EEE for backplane X550EM_X
From Zach: Intel documentation indicates that backplane X550EM_X KR devices do not support Energy Efficient Ethernet. Prior to this patch, X552 devices (device ID 0x15AB) will crash the system when transitioning EEE state via sysctl.
Signed-off-by: Zach Vargas <zvargas@xes-inc.com>
PR: 240320 Submitted by: Zach Vargas <zvargas@xes-inc.com> Reviewed by: erj@ MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D21673
show more ...
|
#
ba76aa63 |
| 14-Oct-2019 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Convert if_foreach_llmaddr() KPI.
Reviewed by: erj
|
#
668ee101 |
| 26-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352587 through r352763.
|
#
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
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
show more ...
|