#
bf085659 |
| 24-Sep-2024 |
Kevin Bowling <kbowling@FreeBSD.org> |
Revert "ixl: Increase tx/rx ring size to 8160"
iflib enforces powerof2 on the ring size: panic: Assertion powerof2(sctx->isc_nrxd_max[i])
Revert until this change is better understood.
Reported by
Revert "ixl: Increase tx/rx ring size to 8160"
iflib enforces powerof2 on the ring size: panic: Assertion powerof2(sctx->isc_nrxd_max[i])
Revert until this change is better understood.
Reported by: tuexen
This reverts commit 14561f1eda85fabfba2d764ca11e064ed871224e.
show more ...
|
#
14561f1e |
| 19-Sep-2024 |
Kevin Bowling <kbowling@FreeBSD.org> |
ixl: Increase tx/rx ring size to 8160
I've verified the tx queue (table 8-22) in addition.
DPDK commit message
net/i40e: increase max descriptor queue length According to the Intel X710/XXV710/XL7
ixl: Increase tx/rx ring size to 8160
I've verified the tx queue (table 8-22) in addition.
DPDK commit message
net/i40e: increase max descriptor queue length According to the Intel X710/XXV710/XL710 Datasheet, the maximum receive queue descriptor length is 0x1FE0 (8160 in base 10). This is specified as QLEN in table 8-12, page 1083.
I've tested this change with an XXV710 NIC and it has positive effect on performance under high load scenarios. Where previously I'd get ~2000 packets/sec miss rate, now I get only ~40 packets/sec miss rate.
Signed-off-by: Igor Gutorov <igootorov@gmail.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Obtained from: DPDK (ce9470f) MFC after: 1 week
show more ...
|
Revision tags: release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
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 ...
|
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 ...
|
Revision tags: release/13.0.0 |
|
#
9f99061e |
| 03-Mar-2021 |
Krzysztof Galazka <krzysztof.galazka@intel.com> |
ixl(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: CR
ixl(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.
There is no HW counter for frames with invalid L3/L4 checksums so add a SW one.
Also add a "rx_errors" sysctl with a copy of netstat IERRORS counter value to make it easier accessible from scripts.
Reviewed By: erj Tested By: gowtham.kumar.ks@intel.com Sponsored By: Intel Corporation Differential Revision: https://reviews.freebsd.org/D27639
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 ...
|
Revision tags: release/12.2.0, 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 ...
|
#
ab43ce7a |
| 03-Jan-2020 |
Eric Joyner <erj@FreeBSD.org> |
ixl: prevent non-privileged access to NVM update interface
Add a privilege check to the ixl_handle_nvmupd_cmd function, ensuring that only privileged users are allowed to access the NVM update inter
ixl: prevent non-privileged access to NVM update interface
Add a privilege check to the ixl_handle_nvmupd_cmd function, ensuring that only privileged users are allowed to access the NVM update interface.
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reported by: markj@ Reviewed by: markj@, erj@, jeffrey.e.pieper@intel.com MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D22870
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0 |
|
#
9b5cb2f6 |
| 12-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340235 through r340367.
|
#
37761e2e |
| 08-Nov-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl/iavf(4): Fix TSO offloads when TXCSUM is disabled
From Jake: The iflib stack does not disable TSO automatically when TXCSUM is disabled, instead assuming that the driver will correctly handle TS
ixl/iavf(4): Fix TSO offloads when TXCSUM is disabled
From Jake: The iflib stack does not disable TSO automatically when TXCSUM is disabled, instead assuming that the driver will correctly handle TSOs even when CSUM_IP is not set.
This results in iflib calling ixl_isc_txd_encap with packets which have CSUM_IP_TSO, but do not have CSUM_IP or CSUM_IP_TCP set. Because of this, ixl_tx_setup_offload will not setup the IPv4 checksum offloading.
This results in bad TSO packets being sent if a user disables TXCSUM without disabling TSO.
Fix this by updating the ixl_tx_setup_offload function to check both CSUM_IP and CSUM_IP_TSO when deciding whether to enable IPv4 checksums.
Once this is corrected, another issue for TSO packets is revealed. The driver sets IFLIB_NEED_ZERO_CSUM in order to enable a work around that causes the ip->sum field to be zero'd. This is necessary for ixl hardware to correctly perform TSOs.
However, if TXCSUM is disabled, then the work around is not enabled, as CSUM_IP will not be set when the iflib stack checks to see if it should clear the sum field.
Fix this by adding IFLIB_TSO_INIT_IP to the iflib flags for the iavf and ixl interface files.
It is uncertain if the hardware needs IFLIB_NEED_ZERO_CSUM for any other case besides TSO, so leave that flag assigned. It may be worth investigating to see if this work around flag could be disabled in a future change.
Once both of these changes are made, the ixl driver should correctly offload TSO packets when TSO4 offload is enabled, regardless of whether TXCSUM is enabled or disabled.
Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: erj@, shurd@ MFC after: 0 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D17900
show more ...
|
#
c6879c6c |
| 23-Oct-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339015 through r339669.
|
#
3f74c027 |
| 15-Oct-2018 |
Eric Joyner <erj@FreeBSD.org> |
iavf(4): Finish rename/rebrand internally
Rename functions and variables from ixlv to iavf to match the user-facing name change. There shouldn't be any functional changes with this change, but this
iavf(4): Finish rename/rebrand internally
Rename functions and variables from ixlv to iavf to match the user-facing name change. There shouldn't be any functional changes with this change, but this may help with browsing the source code and reducing diffs in the future.
Submitted by: kbowling@ Reviewed by: erj@, sbruno@ Approved by: re (gjb@) Differential Revision: https://reviews.freebsd.org/D17544
show more ...
|
#
77c1fcec |
| 13-Oct-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl/iavf(4): Change ixlv to iavf and update it to use iflib(9)
Finishes the conversion of the 40Gb Intel Ethernet drivers to iflib(9) for FreeBSD 12.0, and fixes numerous bugs in both ixl(4) and iav
ixl/iavf(4): Change ixlv to iavf and update it to use iflib(9)
Finishes the conversion of the 40Gb Intel Ethernet drivers to iflib(9) for FreeBSD 12.0, and fixes numerous bugs in both ixl(4) and iavf(4).
This commit also re-adds the VF driver to GENERIC since it now compiles and functions.
The VF driver name was changed from ixlv(4) to iavf(4) because the VF driver is now intended to be used with future products, not just with Fortville/Fort Park VFs.
A man page update that documents these drivers is forthcoming in a separate commit.
Reviewed by: sbruno@, kbowling@ Tested by: jeffrey.e.pieper@intel.com Approved by: re (gjb@) Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D16429
show more ...
|
#
7847e041 |
| 24-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338026 through r338297, and resolve conflicts.
|
#
6daf59aa |
| 23-Aug-2018 |
Marius Strobl <marius@FreeBSD.org> |
Remove a duplicated interface capability bit missed in r336313.
|
Revision tags: release/11.2.0 |
|
#
94c86dd0 |
| 21-Jun-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Fix gcc build errors
By removing redundant function declarations.
Reported by: ci.freebsd.org via Mark Millard <marklmi@yahoo.com> MFC after: 1 month
|
#
f4cc2d17 |
| 18-Jun-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Update version number to 2.0.0-k
And update copyrights to current year.
MFC after: 1 month Sponsored by: Intel Corporation
|
#
1031d839 |
| 18-Jun-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Update to use iflib
Update the driver to use iflib in order to bring performance, maintainability, and (hopefully) stability benefits to the driver.
The driver currently isn't completely po
ixl(4): Update to use iflib
Update the driver to use iflib in order to bring performance, maintainability, and (hopefully) stability benefits to the driver.
The driver currently isn't completely ported; features that are missing:
- VF driver (ixlv) - SR-IOV host support - RDMA support
The plan is to have these re-added to the driver before the next FreeBSD release.
Reviewed by: gallatin@ Contributions by: gallatin@, mmacy@, krzysztof.galazka@intel.com Tested by: jeffrey.e.pieper@intel.com MFC after: 1 month Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D15577
show more ...
|
#
ceebc2f3 |
| 01-May-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Update to 1.9.9-k
Refresh upstream driver before impending conversion to iflib.
Major changes:
- Support for descriptor writeback mode (required by ixlv(4) for AVF support) - Ability to di
ixl(4): Update to 1.9.9-k
Refresh upstream driver before impending conversion to iflib.
Major changes:
- Support for descriptor writeback mode (required by ixlv(4) for AVF support) - Ability to disable firmware LLDP agent by user (PR 221530) - Fix for TX queue hang when using TSO (PR 221919) - Separate descriptor ring sizes for TX and RX rings
PR: 221530, 221919 Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: #IntelNetworking MFC after: 1 day Relnotes: Yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D14985
show more ...
|
Revision tags: release/10.4.0 |
|
#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
Revision tags: release/11.1.0 |
|
#
03f072d1 |
| 14-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320971 through r320993.
|