#
322531 |
|
15-Aug-2017 |
hselasky |
MFC r322248: Fix for mlx4en(4) to properly call m_defrag().
The m_defrag() function can only defrag mbuf chains which have a valid mbuf packet header. In r291699 when the mlx4en(4) driver was converted into using BUSDMA(9), the call to m_defrag() was moved after the part of the transmit routine which strips the header from the mbuf chain. This effectivly disabled the mbuf defrag mechanism and such packets simply got dropped.
This patch removes the stripping of mbufs from a chain and loads all mbufs using busdma. If busdma finds there are no segments, unload the DMA map and free the mbuf right away, because that means all data in the mbuf has been inlined in the TX ring. Else proceed as usual.
Add a per-ring rounter for the number of defrag attempts and make sure the oversized_packets counter gets zeroed while at it.
The counters are per-ring to avoid excessive cache misses in the TX path.
Approved by: re (kib) Submitted by: mjoras@ Differential Revision: https://reviews.freebsd.org/D11683 Sponsored by: Mellanox Technologies
|
#
322507 |
|
14-Aug-2017 |
hselasky |
MFC r322306: Print maximum MTU when trying to set invalid MTU in the mlx4en(4) driver. Useful for debugging.
Approved by: re (marius, gjb) Submitted by: Sepherosa Ziehau <sephe@dragonflybsd.org> Sponsored by: Mellanox Technologies
|
#
322165 |
|
07-Aug-2017 |
hselasky |
MFC r321782: Remove some dead statistics related code and a structure field from the mlx4en driver which is used by its Linux counterpart, but not under FreeBSD.
Sponsored by: Mellanox Technologies
|
#
320067 |
|
18-Jun-2017 |
hselasky |
MFC r319972: Use static device numbering instead of dynamic one when creating mlx4en network interfaces. This prevents infinite unit number growth typically when the mlx4en driver is used inside virtual machines which support runtime PCI attach and detach.
Sponsored by: Mellanox Technologies
|
#
319567 |
|
04-Jun-2017 |
hselasky |
MFC r319413: Free hardware queue resource after port is stopped in the mlx4en(4) driver. Else if the port is up the resource might still be busy and the MTT free will fail.
PR: 216493 Sponsored by: Mellanox Technologies
|
#
318540 |
|
19-May-2017 |
hselasky |
MFC r317505: Don't free uninitialized sysctl contexts in the mlx4en driver. This can cause NULL pointer panics during failed device attach.
Differential Revision: https://reviews.freebsd.org/D8876 Sponsored by: Mellanox Technologies
|
#
306955 |
|
10-Oct-2016 |
hselasky |
MFC r306454: Set hardware stats flag to avoid double counting the number of incoming bytes.
Found by: Ben RUBSON <ben.rubson@gmail.com> Sponsored by: Mellanox Technologies
|
#
298778 |
|
29-Apr-2016 |
hselasky |
MFC r297968: Remove some unused fields.
Sponsored by: Mellanox Technologies
|
#
292113 |
|
11-Dec-2015 |
hselasky |
Enable the mlx4en TSO limits.
This is a direct commit to stable/10.
Sponsored by: Mellanox Technologies
|
#
292107 |
|
11-Dec-2015 |
hselasky |
MFC r290710, r291694, r291699 and r291793: - Fix print formatting compile warnings for Sparc64 and PowerPC platforms. - Updated the mlx4 and mlxen drivers to the latest version, v2.1.6: - Added support for dumping the SFP EEPROM content to dmesg. - Fixed handling of network interface capability IOCTLs. - Fixed race when loading and unloading the mlxen driver by applying appropriate locking. - Removed two unused C-files. - Convert the mlxen driver to use the BUSDMA(9) APIs instead of vtophys() when loading mbufs for transmission and reception. While at it all pointer arithmetic and cast qualifier issues were fixed, mostly related to transmission and reception. - Fix i386 build WITH_OFED=YES. Remove some redundant KASSERTs.
Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4283 Differential Revision: https://reviews.freebsd.org/D4284
|
#
286841 |
|
17-Aug-2015 |
glebius |
Merge r283612: Add SIOCGI2C ioctl support to the driver. Would work only on ConnectX-3 with fresh firmware. The low level code is based on code provided by Mellanox.
Thanks to Mellanox and their distributor Must (http://mustcompany.ru) for providing hardware.
In collaboration with: Andre Melkoumian <andre mellanox.com> Reviewed by: hselasky Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
283175 |
|
21-May-2015 |
hselasky |
MFC r282817: Apply proper locking when iterating the multicast addresses and add a missing check for NULL from a non-blocking "kzalloc()" function call.
Sponsored by: Mellanox Technologies
|
#
280018 |
|
15-Mar-2015 |
hselasky |
MFC r279865: Ensure setting promiscious mode when a network interface is up, is always non-blocking by not locking a SX type of mutex.
Sponsored by: Mellanox Technologies
|
#
279731 |
|
07-Mar-2015 |
hselasky |
MFC r279584: Updates for the Mellanox ethernet driver
> List of fixes: * use correct format for GID printouts * double array indexing * spelling in printouts * void pointer arithmetic * allow more receive rings * correct maximum number of transmit rings * use "const" instead of "static" for constants * check for invalid VLAN tags * check for lack of IRQ resources > Added more hardware specific defines > Added more verbose printouts of firmware status codes
Sponsored by: Mellanox Technologies
|
#
274043 |
|
03-Nov-2014 |
hselasky |
MFC r271946 and r272595: Improve transmit sending offload, TSO, algorithm in general. This change allows all HCAs from Mellanox Technologies to function properly when TSO is enabled. See r271946 and r272595 for more details about this commit.
Sponsored by: Mellanox Technologies
|
#
273879 |
|
31-Oct-2014 |
hselasky |
MFC r273593:
Update the network interface baudrate integer according to the actual line rate.
Sponsored by: Mellanox Technologies
|
#
273246 |
|
18-Oct-2014 |
hselasky |
MFC r273135: Update the OFED Linux compatibility layer and Mellanox hardware driver(s):
- Properly name an inclusion guard - Fix compile warnings regarding unsigned enums - Add two new sysctl nodes - Remove all empty linux header files - Make an error printout more verbose - Use "mod_delayed_work()" instead of cancelling and starting a timeout. - Implement more Linux scatterlist functions.
Sponsored by: Mellanox Technologies
|
#
272407 |
|
02-Oct-2014 |
hselasky |
MFC r272027:
Hardware driver update from Mellanox Technologies, including: - improved performance - better stability - new features - bugfixes
Supported HCAs: - ConnectX-2 - ConnectX-3 - ConnectX-3 Pro
NOTE: - TSO feature needs r271946, which is not yet merged.
Sponsored by: Mellanox Technologies Approved by: re, glebius
|
#
271127 |
|
04-Sep-2014 |
hselasky |
MFC r270710 and r270821: - Update the OFED Linux Emulation layer as a preparation for a hardware driver update from Mellanox Technologies. - Remove empty files from the OFED Linux Emulation layer. - Fix compile warnings related to printf() and the "%lld" and "%llx" format specifiers. - Add some missing 2-clause BSD copyrights. - Add "Mellanox Technologies, Ltd." to list of copyright holders. - Add some new compatibility files. - Fix order of uninit in the mlx4ib module to avoid crash at unload using the new module_exit_order() function.
Sponsored by: Mellanox Technologies
|
#
259608 |
|
19-Dec-2013 |
alfred |
Defer start/stop port to workqueues.
MFC: 259411
|
#
258280 |
|
17-Nov-2013 |
alfred |
MFC: 258276
Fix creating a vlan over lagg over mlxen crash.
PR: 181931 Submitted by: Shahar Klein (shahark mellanox.com)
Approved by: re
|
#
258242 |
|
16-Nov-2013 |
alfred |
MFC: 257542
Fix API mismatch exposed by lagg.
When destroying a lagg the driver tries to restore the old mac and fails due to API mismatch.
Submitted by: Shahar Klein (shahark at mellanox.com) Approved by: re
|
#
257867 |
|
08-Nov-2013 |
alfred |
MFC: r257862, r257863, r257864
r257862:
Use explicit long cast to avoid overflow in bitopts.
This was causing problems with the buddy allocator inside of ofed.
r257863:
Fix for bad performance when mtu is increased.
Update the auto moderation behavior in the mlxen driver to match the new LINUX OFED code.
r257864:
Do not use a sleep lock when protecting the driver flags.
This was causing a locking issue with lagg.
Approved by: re
|
#
256810 |
|
20-Oct-2013 |
alfred |
Fix resource free.
The order of releasing resources in mlxen was wrong, which caused panic on reload of the module.
MFC: 256682
Submitted by: Shahar Klein (shahark at mellanox.com) Approved by: re
|
#
286841 |
|
17-Aug-2015 |
glebius |
Merge r283612: Add SIOCGI2C ioctl support to the driver. Would work only on ConnectX-3 with fresh firmware. The low level code is based on code provided by Mellanox.
Thanks to Mellanox and their distributor Must (http://mustcompany.ru) for providing hardware.
In collaboration with: Andre Melkoumian <andre mellanox.com> Reviewed by: hselasky Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
283175 |
|
21-May-2015 |
hselasky |
MFC r282817: Apply proper locking when iterating the multicast addresses and add a missing check for NULL from a non-blocking "kzalloc()" function call.
Sponsored by: Mellanox Technologies
|
#
280018 |
|
15-Mar-2015 |
hselasky |
MFC r279865: Ensure setting promiscious mode when a network interface is up, is always non-blocking by not locking a SX type of mutex.
Sponsored by: Mellanox Technologies
|
#
279731 |
|
07-Mar-2015 |
hselasky |
MFC r279584: Updates for the Mellanox ethernet driver
> List of fixes: * use correct format for GID printouts * double array indexing * spelling in printouts * void pointer arithmetic * allow more receive rings * correct maximum number of transmit rings * use "const" instead of "static" for constants * check for invalid VLAN tags * check for lack of IRQ resources > Added more hardware specific defines > Added more verbose printouts of firmware status codes
Sponsored by: Mellanox Technologies
|
#
274043 |
|
03-Nov-2014 |
hselasky |
MFC r271946 and r272595: Improve transmit sending offload, TSO, algorithm in general. This change allows all HCAs from Mellanox Technologies to function properly when TSO is enabled. See r271946 and r272595 for more details about this commit.
Sponsored by: Mellanox Technologies
|
#
273879 |
|
31-Oct-2014 |
hselasky |
MFC r273593:
Update the network interface baudrate integer according to the actual line rate.
Sponsored by: Mellanox Technologies
|
#
273246 |
|
18-Oct-2014 |
hselasky |
MFC r273135: Update the OFED Linux compatibility layer and Mellanox hardware driver(s):
- Properly name an inclusion guard - Fix compile warnings regarding unsigned enums - Add two new sysctl nodes - Remove all empty linux header files - Make an error printout more verbose - Use "mod_delayed_work()" instead of cancelling and starting a timeout. - Implement more Linux scatterlist functions.
Sponsored by: Mellanox Technologies
|
#
272407 |
|
02-Oct-2014 |
hselasky |
MFC r272027:
Hardware driver update from Mellanox Technologies, including: - improved performance - better stability - new features - bugfixes
Supported HCAs: - ConnectX-2 - ConnectX-3 - ConnectX-3 Pro
NOTE: - TSO feature needs r271946, which is not yet merged.
Sponsored by: Mellanox Technologies Approved by: re, glebius
|
#
271127 |
|
04-Sep-2014 |
hselasky |
MFC r270710 and r270821: - Update the OFED Linux Emulation layer as a preparation for a hardware driver update from Mellanox Technologies. - Remove empty files from the OFED Linux Emulation layer. - Fix compile warnings related to printf() and the "%lld" and "%llx" format specifiers. - Add some missing 2-clause BSD copyrights. - Add "Mellanox Technologies, Ltd." to list of copyright holders. - Add some new compatibility files. - Fix order of uninit in the mlx4ib module to avoid crash at unload using the new module_exit_order() function.
Sponsored by: Mellanox Technologies
|
#
259608 |
|
19-Dec-2013 |
alfred |
Defer start/stop port to workqueues.
MFC: 259411
|
#
258280 |
|
17-Nov-2013 |
alfred |
MFC: 258276
Fix creating a vlan over lagg over mlxen crash.
PR: 181931 Submitted by: Shahar Klein (shahark mellanox.com)
Approved by: re
|
#
258242 |
|
16-Nov-2013 |
alfred |
MFC: 257542
Fix API mismatch exposed by lagg.
When destroying a lagg the driver tries to restore the old mac and fails due to API mismatch.
Submitted by: Shahar Klein (shahark at mellanox.com) Approved by: re
|
#
257867 |
|
08-Nov-2013 |
alfred |
MFC: r257862, r257863, r257864
r257862:
Use explicit long cast to avoid overflow in bitopts.
This was causing problems with the buddy allocator inside of ofed.
r257863:
Fix for bad performance when mtu is increased.
Update the auto moderation behavior in the mlxen driver to match the new LINUX OFED code.
r257864:
Do not use a sleep lock when protecting the driver flags.
This was causing a locking issue with lagg.
Approved by: re
|
#
256810 |
|
20-Oct-2013 |
alfred |
Fix resource free.
The order of releasing resources in mlxen was wrong, which caused panic on reload of the module.
MFC: 256682
Submitted by: Shahar Klein (shahark at mellanox.com) Approved by: re
|