============================ R E L E A S E N O T E S ============================ QEDR Version 8.33.9.0 (Jan 15, 2018) =============================== Internal FW 8.33.8.0 Version 8.33.8.0 (Jan 11, 2018) =============================== Internal FW 8.33.8.0 Version 8.33.7.0 (Jan 04, 2018) =============================== Internal FW 8.33.8.0 1. Problem: User space applications fail with the "stack smashing" or "Segmentation fault (core dumped)". The latter is accompanied with a "unhandled level 3 translation fault" in the dmesg. Change: Limit the amount of data copied to user space to the number of allocated bytes. Introduced: Day 1. Relevance: RDMA. 2. Problem: Modify SRQ fails due to uninitialized max_wr. Change: Initialize max_wr. Introduced: Day 1. Relevance: RDMA. Enhancements: ------------- 1. Request: Remove obsolete and redundant dev_caps. 2. Request: Support RoCE LAG mode over ethernet LACP bonded device. 3. Request: Add support for RDMA SRQ async events. Version 8.33.6.0 (Dec 22, 2017) =============================== Internal FW 8.33.7.0 Version 8.33.5.0 (Dec 14, 2017) =============================== Internal FW 8.33.7.0 1. Problem: iWARP maximum inline is treated as RoCE's maximum. However RoCE's maximum inline data is larger than iWARP's. Change: When using iWARP, use iWARP's maximum inline data. Introduced: Day 1. Relevance: iWARP. Version 8.33.4.0 (Dec 07, 2017) =============================== Internal FW 8.33.6.0 Enhancements: ------------- 1. Request: Add SRQ counters. Version 8.33.3.0 (Nov 23, 2017) =============================== Internal FW 8.33.4.0 Version 8.33.2.0 (Nov 16, 2017) =============================== Internal FW 8.33.4.0 Fixes: ------ 1. Problem: CQ94136 - ipv6 rping over iWARP failing. Change: Fix call to ipv6 destination neighbor lookup. Introduced: Day 1. Relevance: iWARP. 2. Problem: Interoperability issues when running with port-mapper enabled. Change: Use mapped port during connection establishment. Introduced: Day 1. Relevance: iWARP. 3. Problem: CQ95592 iWRAP: Changed MTU should be displayed in ibv_devinfo only after qedr driver reload. Change: Replace ndev->mtu with iwarp_max_mtu. Introduced: Day 1. Relevance: iWARP. Enhancements: ------------- 1. Request: Add iwarp_cmt module parameter to enable iWARP in CMT mode. Version 8.33.1.0 (Oct 25, 2017) =============================== Internal FW 8.33.2.0 Fixes: ------ 1. Problem: QPs that should be configured with timeout values lower than 1 msec are actually configured with infinite timeout. Change: Configure timeouts of less than 1 msec to 1 msec. Introduced: 8.6.1.0. Relevance: RDMA. Version 8.33.0.0 (Oct 06, 2017) =============================== Internal FW 8.33.1.0 Version 8.30.13.0 (Sep 25, 2017) ================================ Internal FW 8.30.16.0 Version 8.30.12.0 (Sep 12, 2017) ================================ Internal FW 8.30.16.0 Version 8.30.11.0 (Aug 31, 2017) ================================ Internal FW 8.30.15.0 Fixes: ------ 1. Problem: Allocation failure of iWARP user queues didn't return an error. Change: Return "no memory" indication. Introduced: Day 1. Relevance: iWARP. 2. Problem: MAC addresses are not necessarily aligned to 16 bits. This means that the use of ether_addr_copy() is less effective. Change: ForceMAC addresses to be aligned to 16 bits. Introduced: Day 1. Relevance: RDMA. 3. Problem: Failure to add a device due to lack of interrupts/CNQs would yield a successful (zero) return code. Change: Set return code to a non-zero value. Introduced: Day 1. Relevance: RDMA. Version 8.30.10.0 (Aug 24, 2017) ================================ Internal FW 8.30.14.0 Version 8.30.9.0 (Aug 18, 2017) =============================== Internal FW 8.30.13.0 Version 8.30.8.0 (Aug 10, 2017) =============================== Internal FW 8.30.12.0 Version 8.30.7.0 (Jul 28, 2017) =============================== Internal FW 8.30.11.0 Fixes: ------ 1. Problem: CQ94088 - Server crash running FIO stress with iwarp NFSoRDMA. Change: Race condition in poll_cq, fixed by protecting variable intialization with lock. Introduced: Day 1. Relevance: RDMA. 2. Problem: CQ94820 - RoCE rdma_cm tests do not run with VLAN. Getting: gsi post send: failed to get cached GID (port=0, ix=0). Change: Parse Correctly VLAN ID. Introduced: Day 1. Relevance: RoCE. Enhancements: ------------- 1. Request: Opcodes WRITE, SEND with immediate should fail gracefully over iWARP. Version 8.30.6.0 (Jul 07, 2017) =============================== Internal FW 8.30.10.0 Fixes: ------ 1. Problem: Cont00093429 - Upstream: Error message displayed with NFSoRDMA v3. Change: Fix race in QP state. Introduced: Day 1. Relevance: RDMA. 2. Problem: Cont00094779 - RHEL7.4/SLES12SP3:OFED applications fail with OOB fastlinq driver using inbox libqedr. Change: Return success on doorbell allocation failure. Introduced: 8.30.1.0. Relevance: RDMA User space. Version 8.30.5.0 (June 22, 2017) ================================ Internal FW 8.30.8.0 Enhancements: ------------- 1. Request: Publish board's name and revision. Publish FW version in older kernels (not supporting the newer verb get_dev_fw_str). Version 8.30.4.0 (June 08, 2017) ================================ Internal FW 8.30.7.0 Fixes: ------ 1. Problem: IPv6 rping over iWARP failing. Change: Missing define for ipv6. Introduced: 8.30.3.0. Relevance: iWARP. 2. Problem: CQ94136 - IPv6 rping over iWARP failing for RH7.3. Change: Need to pass correct net structure to ip6 routing functions. Introduced: Day1. Relevance: iWARP. 3. Problem: Null pointer dereference in an NVMe scenario. Change: Verify network device pointer is valid before checking vlan ID. Introduced: Day1. Relevance: RoCE. Enhancements: ------------- 1. Request: Add support for 64KB kernel page size. Version 8.30.3.0 (May 24, 2017) =============================== Internal FW 8.30.5.0 Version 8.30.2.0 (May 04, 2017) =============================== Internal FW 8.30.4.0 Fixes: ------ 1. Problem: CQ93256 - Add iWARP IPv6 support on RHEL6.X versions. Change: Implement neighbor lookup for ipv6 on RH6.X. Introduced: Day 1. Relevance: iWARP. 2. Problem: uDAPL tests fail to run exposed issue on kernel. Change: Set byte_len parameter correctly in RDMA_READ requests. Introduced: Day 1. Relevance: iWARP/RoCE. 3. Problem: Dumping qedr statistics may cause kernel crash on when removing the module. Change: Fix memory corruption. Introduced: 8.10.4.0. Relevance: iWARP/RoCE. Enhancements: ------------- 1. Request: Apply integration testing feedback to DCQCN. Change module parameters semantic to standard units. 2. Request: Add iWARP doorbell recovery. 3. Request: Split the debugfs statistics into multiple files. 4. Request: RoCE: add DCQCN statistics support. Version 8.30.1.0 (Apr 06, 2017) =============================== Internal FW 8.30.1.0 Fixes: ------ 1. Problem: NULL pointer dereference during qede recovery. Change: Stop iWARP operations under qede recovery. Introduced: Day 1. Relevance: iWARP. 2. Problem: CQ92837 - list del corruption. Change: Increase timeout when waiting for connection complete. was not enough for tcp timeout. Introduced: Day 1. Relevance: iWARP. 3. Problem: CQ92838 - "No such file or directory" error during the install. Change: Fix copying incorrect file in Makefile. Introduced: 8.30.0.0. Relevance: All. Enhancements: ------------- 1. Request: Support Doorbell overflow recovery. 2. Request: Expose modules parameters with read permissions under /sys/module/qedr/parameters/. Version 8.30.0.0 (Mar 09, 2017) =============================== Internal FW 8.30.0.0 Fixes: ------ 1. Problem: CQ91749 - iWARP-iSER: FW assertion during discovery. Change: Fix driver to handle timeout correctly. Introduced: Day 1. Relevance: iWARP. 1. Problem: CQ90809/CQ90793 - qed/qede driver fails to load after reboot in SLES11sp4 OS and SLES12sp1 OS. Change: Added support to update initrd while installing qed/qede/qedr modules. Introduced: Day 1. Relevance: All. 2. Problem: Atomic capabilities are improperly verified. Change: Check root complex capabilities; Check PCIe device control register's atomic egress block is cleared in the path. Introduced: Day 1. Relevance: All. 3. Problem: CQ90929 - FW assertion while copying large files using NFSoRDMA. Change: Access flags weren't set properly in FMR wqe. Introduced: Day 1. Relevance: iWARP / RoCE fmr. 4. Problem: RDMA application hangs. Change: Output the number of WIDs an application can use so the application can verify that it is giving a doorbell in the valid range. Introduced: 8.18.9.0. Relevance: RDMA. 5. Problem: MTU change on ethtool should be blocked for iWARP due to preallocated resources and the fact that open connections can't be updated. Change: Add a log message when mtu is changed and require load/unload for qedr for mtu change to take effect. Introduced: Day 1. Relevance: iWARP. 6. Problem: Remote graceful disconnect is always replied with abortive disconnect. Change: Fix driver to respond graceful to remote graceful disconnect. Introduced: 8.18.7.0. Relevance: iWARP. Enhancements: ------------- 1. Request: Gracefully fail loading iWARP device over 100g configuration. 2. Request: Add rx unalign statistic for iWARP. 3. Request: iWARP - set default receive window size to 256K instead of 1M. 4. Request: Add qedr statistics for send and recv verbs. 5. Request: Insert UDP source port to RoCE v2 packets. This is controllable via a module parameter. Version 8.18.9.0 (Jan 18, 2017) =============================== Internal FW 8.18.10.0 Enhancements: ------------- 1. Request: Add user-space support for doorbell per CPU. Version 8.18.8.0 (Jan 11, 2017) =============================== Internal FW 8.18.9.0 Version 8.18.7.0 (Dec 29, 2016) =============================== Internal FW 8.18.9.0 Enhancements: ------------- 1. Request: Set a QP's max_inline_data to the maximum. 2. Request: iWARP support for MPA reject flow. 3. Request: iWARP support for RTR type read. Version 8.18.6.0 (Dec 15, 2016) =============================== Internal FW 8.18.7.0 Fixes: ------ 1. Problem: Even if the doorbell BAR isn't configured to accomodate EDPM doorbells, the library can still try to produce EDPM packets. Change: Added a mechanism to detect if the doorbell BAR was configured to support EDPM packets. The library will use it to determine if to attempt sending a packet via EDPM. Introduced: Day 1. Relevance: EDPM. 2. Problem: NFSoRDMA crashed the server. It seems that the IRQ handler of the associated CNQ was invoked after the CQ was destroyed and called the completion handler of the CQ. Change: Don't invoke completion handlers for a destroyed CQ. And wait for all relevant CNQ interrupts before freeing the CQ. Introduced: Day 1. Relevance: RoCE/iWARP. 3. Problem: Missing support send+invalidate in poll CQ. Change: Added such support. Introduced: Day 1. Relevance: RoCE/iWARP. Enhancements: ------------- 1. Request: iWARP: Add support for Read with invalidate. 2. Request: Use variable of type __u8/16/32/64 for driver/library API. This aligns the library with the upstream version hence increasing the ABI version to 8 (as in upstream). Version 8.18.5.0 (Dec 05, 2016) =============================== Internal FW 8.18.6.0 Fixes: ------ 1. Problem: Memory allocation in the user queue flow (SQ/RQ/CQ) isn't checked for failure. Change: Check if memory allocation was successful, if not - fail the function. Introduced: Day 1. Relevance: iWARP. 2. Problem: RoCE error statistics appear on iWARP device. Change: Don't print RoCE error statistics over iWARP devices. Introduced: 8.18.3.0. Relevance: iWARP. 3. Problem: Destroying a QP in ERROR, INIT or RESET would execute the wrong flow because the QP state was checked against an ORed bitmap of the states, even though they are not 2^n. Change: Check each QP state explicitly. Introduced: Day 1. Relevance: RoCE. 4. Problem: A READ verb with IB_SEND_INLINE may be illegally configured. Change: Don't configure READ verb with inline. Introduced: Day 1. Relevance: All. Version 8.18.4.0 (Nov 28, 2016) =============================== Internal FW 8.18.5.0 Version 8.18.3.0 (Nov 21, 2016) =============================== Internal FW 8.18.4.0 Enhancements: ------------- 1. Request: iWARP: Add support for MPA Rev2. Additional module parameters added for configuring MPA mode ( peer2peer, rtr_type, mpa_enhanced. (See description in README file ). Version 8.18.3.0 (Nov 21, 2016) =============================== Internal FW 8.18.4.0 Fixes: ------ 1. Problem: The 'cqe' field in the 'cq' is not configured. Change: Configure the number of CQEs when creating a CQ. Introduced: Day 1. Relevance: RoCE/iWARP. Enhancements: ------------- 1. Request: Support RoCE error statistics. Version 8.18.2.0 (Nov 13, 2016) =============================== Internal FW 8.18.3.0 Fixes: ------ 1. Problem: Memory leak on GSI QP creation failure. Change: If GSI QP creation fails release QP resource. Introduced: Day 1. Relevance: RoCE/iWARP. 2. Problem: On SRQ creation error, the input parameters to the function destroying the SRQ from QED were badly reset before invoking it. Change: Zero the input parameters correctly. Introduced: 8.10.3.0. Relevance: SRQ. 3. Problem: On PD deallocation if PD is NULL no error is returned. Change: Return error if PD is NULL. Introduced: Day 1. Relevance: RoCE/iWARP. Enhancements: ------------- 1. Request: Configure PBL table during configuration rather than run-time. 2. Request: iWARP: Add rxmit statistics. Version 8.18.1.0 (Oct 30, 2016) =============================== Internal FW 8.18.1.0 Fixes: ------ 1. Problem: Server hangs when running iWARP applications on RH6.8. Change: Driver decreased neighbor reference count even though it was not increased causing kernel to hang when trying to destroy the neighbor object. Introduced: iWARP Day 1. Relevance: iWARP. Version 8.18.0.0 (Oct 19, 2016) =============================== Internal FW 8.18.0.0 Fixes: ------ 1. Problem: Private data not passed with cm event. Change: Fix implementation to pass the private data in cm event. Introduced: iWARP Day 1. Relevance: iWARP. 2. Problem: MTU value returned when querying the QP was lower than it should be. Change: Use a proprieteary function to translate the number of MTU bytes to the supported MTU enum value. Introduced: Day 1. Relevance: RoCE. 3. Problem: Trying to open more QPs than device supports results in NULL pointer reference. Change: Fix driver code to correctly set return code on failure. Introduced: 8.14.1.0. Relevance: RoCE and iWARP User applications. 4. Problem: Memory leak if failed to allocate PD. Change: Free allocation on failure. Introduced: Day 1. Relevance: RoCE and iWARP User applications. 5. Problem: Memory leak if failed to allocate FRMR page list. Change: Free allocation on failure. Introduced: Day 1. Relevance: RoCE and iWARP User applications. 6. Problem: WC status is returned with status OK if the CQE status was not recognizes. Change: Configure WC status to general error. Introduced: Day 1. Relevance: RoCE and iWARP User applications. 7. Problem: WC error vendor field contains junk. Change: Set it to zero. Introduced: Day 1. Relevance: RoCE and iWARP User applications. Enhancements: ------------- 1. Request: iWARP: expose module parameters to control keep alive, delayed ack, timestamp, receive window scale and crc. 2. Request: Support upstream get_dev_fw_str() verb. Version 8.14.4.0 (Sep 18, 2016) =============================== Internal FW 8.14.7.0 Version 8.14.3.0 (Sep 07, 2016) =============================== Internal FW 8.14.6.0 1. Problem: QEDE recovery will hang if a RoCE application is running. Change: Don't attempt de-registering from OFED during qede recovery. But do stop QEDR operations, wait for the user to close the application and remove and re-probe the driver to normal operations (see also feature below). Introduced: Day 1. Relevance: All. 2. Problem: Posting of send requests didn't conform to the protocol. Change: Allow post send only if in RTS, SQD or ERR QP state. Introduced: Day 1. Relevance: All. Enhancements: ------------- 1. Request: Basic user space QEDR recovery handling. 2. Request: Remove redundant completion handler lock (CQ completion handler won't run in parallel anyhow). Version 8.14.2.0 (Aug 25, 2016) =============================== Internal FW 8.14.4.0 Fixes: ------ 1. Problem: RDMA CM scenarios consistenly failed on function 0, and reloading qedr or setting the enet device down and then up resolves the issue. Change: Dispatch port active event from QEDR, if required. Introduced: Day 1. Relevance: RDMA CM. 2. Problem: Disabling an NVMf namespace hangs the application. Pulling the interface down during iSER traffic hangs the application. Change: Allow posting WR even if the WQ is in error state and don't supress the flush indications (CQEs). Introduced: Day 1. Relevance: ULPs. Version 8.14.1.0 (Aug 14, 2016) =============================== Internal FW 8.14.3.0 Enhancements: ------------- 1. Request: Add support for iWARP (phase-1). Version 8.14.0.0 (Jul 31, 2016) =============================== Internal FW 8.14.1.0 Enhancements: ------------- 1. Request: Improving robustness by checking QP signature before using a QP handle received from the FW. 2. Request: Remove unused parameter of loopback indication from RoCE API. Version 8.10.8.0 (Jul xx, 2016) =============================== Internal FW 8.10.8.0 Fixes: ------ 1. Problem: NVMf crashed the server while using Shared receive queue. Change: Configure qp->rq_cq and rq_cq_id even though shared receive queue is used by ULP. Initially these value were set only for regular QP's. Introduced: 8.10.3.0. Relevance: Shared receive queue. Enhancements: ------------- 1. Request: Add support for RDMA CM loopback. Version 8.10.7.0 (Jun 10, 2016) =============================== Internal FW 8.10.8.0 Fixes: ------ 1. Problem: NFSoRDMA crashed the server; NVMf crashed the server. Change: Always configure the the wr_id fields in the Work Completion (WC) since it seems even if the work completed with an error the verb consumer expects this value to be valid. Introduced: Day 1. Relevance: All. Enhancements: ------------- 1. Request: Removed the roce_ll2_mode module parameter. Version 8.10.6.0 (Jun 27, 2016) =============================== Internal FW 8.10.7.0 Fixes: ------ 1. Problem: The MR (TID) registration function returned to the user before the registration was complete in the FW (the ramrod was sent in a non-blocking manner so the verb consumer was informed of success before a completion was received from the FW). Change: Removed the possibility for non-blocking a.k.a. concurrent registration of TID registration. The latency issue that started this effort to begin with was mitigated by lowering the ramrod completion wait time in ecore SPQ. Introduced: 8.7.0.0. Relevance: Verbs consumers that register MRs. 2. Problem: QEDR registration with OFED is performed before the IRQs are configured. Change: First request the IRQs and only then register QEDR with OFED. Introduced: 8.4.0.0. Relevance: All. Enhancements: ------------- 1. Request: Added the roce_ll2_module parameter to configure if LL2 roce mode should be configured to RoCE v1/v2 IPv4/6. Version 8.10.5.0 (Jun 09, 2016) =============================== Internal FW 8.10.7.0 Fixes: ------ 1. Problem: iSER initiator crashes in remote invalidate even though remote invalidate flag wasn't set in the WC. Change: Clear the WC flags. Just in case used memset to zero on other non fast path flows in query verbs. Introduced: Day 1. Relevance: All. Enhancements: ------------- 1. Request: RoCE v2 support for upstream kernel (and removed "Experimental RoCE v2"). Version 8.10.4.0 (May 26, 2016) =============================== Internal FW 8.10.5.0 Enhancements: ------------- 1. Request: GSI offload feature - from now QEDR GSI traffic will be offloaded by the FW. 2. Request: Allow the user to dump driver information. Specifically the roce mode - RoCE v1, RoCE v2 IPv4 and IPv6. Version 8.10.3.0 (May 09, 2016) =============================== Internal FW 8.10.5.0 Version 8.10.2.0 (Apr 19, 2016) =============================== Internal FW 8.10.4.0 Version 8.10.1.0 (Mar 15, 2016) =============================== Internal FW 8.10.2.0 Enhancements: ------------- 1. Request: Support RoCE counters. 2. Request: Allocate SQ, RQ and CQ from user space rather than kernel space. 3. Request: Add support for RDMA Queue Statistics. Version 8.10.0.0 (Feb 23, 2016) =============================== Internal FW 8.10.1.0 Fixes: ------ 1. Problem: CQ00084183 - E4 2015-U2: iSER - Maim I/O stops on running with "-Q16" option on RHEL7.2. CQ00084228 - E4:iSER: Target system crashes while running IO traffic for different test scenarios. Change: Create an SQ larger than requested to handle scenario where iSER pushes more WRs than were originally requested on QP creation. Introduced: 8.7.6.0. Relevance: All. 2. Problem: Cont0084907 - E4 2015-U2 RoCE: qedr compilation failed in SLES11-SP4 with outbox OFED 3.18-1. Cont0080073 - E4:RoCE: qedr compilation failed in SLES12 with outbox OFED-13.2-1/3.18GA/3.18-1GA. Change: Added missing includes to Makefile. Introduced: Day 1. Relevance: SLES11SP4, SLES12. 3. Problem: CQ84544 - E4-iSER:2x25G: "error: WQ is full. Post send on QP ffff880fda2d8c00 failed", PAIN IO failed for specific combination of Targets, block sizes and Threads. Change: Added module parameter wq_multiplier with a default of 3. Number of WR in SQ is multiplied by it. Introduced: 8.7.6.0. Relevance: All. Enhancements: ------------- 1. Request: Comment out fast path debug prints. 2. Request: Remove obsolete module parameters oversized_cq, oversized_sq and oversized_rq. 3. Request: Add LL2 statistics. Version 8.7.8.0 (Jan 12, 2016) ============================== Internal FW 8.7.5.0 Enhancements: ------------- 1. Request: Enforce a CNQ size limit according to ECORE. 2. Request: Comment out fast path debug prints. Version 8.7.7.0 (Jan 07, 2016) ============================== Internal FW 8.7.5.0 Fixes: ------ 1. Problem: Cont0084053 - E4 2x25G 2015U2: ib_read_bw exits with "Segmentation fault (core dumped)" when "--run_infinitely" option is used. Change: Created a larger ECORE chain for the CQ. Introduced: 8.7.4.0. Relevance: All. Enhancements: ------------- 1. Request: Pass build and modprobe in RHEL 6.2. Version 8.7.6.0 (Dec 28, 2015) ============================== Internal FW 8.7.5.0 Enhancements: ------------- 1. Request: Pass modprobe with RHEL 7.2. 2. Request: Introduce QEDR attributes, that are derived from QED RoCE Attributes. 3. Request: Increase WQ size from u16 to u32. 4. Request: Increase MAX CQE size to maximum possible. Version 8.7.5.0 (Dec 17, 2015) ============================== Internal FW 8.7.4.0 Fixes: ------ 1. Problem: Improper storage of doorbell size (a 32 bit field is stored in a 16 bit field). Change: Store doorbell size in a 32 bit field. Introduced: Day 1. Relevance: All. Version 8.7.4.0 (Dec 03, 2015) ============================== Internal FW 8.7.3.0 Fixes: ------ 1. Problem: The number of allocated CQ elements was larger than requested by one CQE. Change: Allocate the exact number of CQ elements requested. Introduced: Day 1. Relevance: All. 2. Problem: A WQ was created with depth less than requested. Change: When a user requests a WQ that is larger than the maximum supported depth the actual WQ that will be generated will have the maximum possible capacity. Two module parameters have been added to control this behavior: oversized_sq and oversized_rq. Introduced: Day 1. Relevance: All. 3. Problem: NULL pointer dereference when using a pointer returned from FW. Change: Check the pointer before derefenecing it. Introduced: Day 1. Relevance: All. Enhancements: ------------- 1. Request: RoCE v2 support. 2. Request: Pass compilation with RHEL 7.2. 3. Request: Pass compilation with SLES 12 SP1. 4. Request: Use 32 bit completion queue instead of 16 bit. Note that this makes module parameter oversized_cq obsolete, hence it was removed. Version 8.7.3.0 (Nov 22, 2015) ============================== Internal FW 8.7.2.0 Version 8.7.2.0 (Nov 16, 2015) ============================== Internal FW 8.7.1.0 Version 8.7.1.0 (Nov 09, 2015) ============================== Internal FW 8.7.0.0 Fixes: ------ 1. Problem: Cont00082495: E4 40gb RDMA qperf Crashing the client. Change: A minimal SQ/RQ is created even if the user requested a zero sized queue. Introduced: Day 1. Relevance: All. Version 8.7.0.0 (Nov 05, 2015) ============================== Internal FW 8.7.0.0 Enhancements: ------------- 1. Request: Reintroduce enhancement for Cont00081796 - speed up NFS over RoCE mount time. Configure ecore roce tid to be invoked in non- blocking mode. Version 8.6.1.0 (Oct 29, 2015) ============================== Internal FW 8.6.1.0 Fixes: ------ 1. Problem: Cont00082856: E4 drivers are not getting installed through source tarball installtion when there are other instance of driver present on RHEL distro. Change: On RHEL distro check for "extra" instead of extra/qlgc-fastlinq before placing module in appropriate location. Introduced: 8.5.3.0. Relevance: RHEL. 2. Problem: Cont00081344: E4:RoCE: rping traffic stops if interface is down, traffic should resume once interface is up. Change: Configured 'ack_timeout' according to protocol and HSI requirements. Introduced: Day 1. Relevance: All. 3. Problem: Cont00081507: E4:RoCE:Ramrod stuck while sending bi-directional traffic using large QP's:512 or more. Change: Do not allow creating CQs with more than 65,000 entries. This can be overridden by the module parameter force_cq. Introduced: Day 1. Relevance: All. 4. Problem: Cont00081507: L2 bonding with RoCE:RDMA_CM applications are not working over bonding interface. Change: Update LLH MAC filter via LL2. Introduced: Day 1. Relevance: All. Version 8.6.0.0 (Oct 14, 2015) ============================== Internal FW 8.6.0.0 Version 8.5.9.0 (Oct 08, 2015) ============================== Internal FW 8.5.6.0 Fixes: ------ 1. Problem: Driver crashes when non MSI-X interrupts are in use. Change: Fail gracefully when non MSI-X interrupts are in use. Introduced: day 1. Relevance: All. Enhancements: ------------- 1. Request: remove support for module parameter "roce_100g" since Everest 4 revision B0 resolves the issue that was in revision A0, and now L2 traffic isn't limited in in throughput when qedr is loaded. Version 8.5.8.0 (Sep 21, 2015) ============================== Internal FW 8.5.6.0 Enhancements: ------------- 1. Request: Support for returning qp-id to userspace. Version 8.5.7.0 (Sep 02, 2015) ============================== Internal FW 8.5.5.0 Enhancements: ------------- 1. Request: Support for RoCE asynchronous un-affiliated errors. Version 8.5.6.0 (Aug 26, 2015) ============================== Internal FW 8.5.4.0 Fixes: ------ 1. Problem: Cont00081378 - E4 drivers are placed in wrong location, loading from broadcom folder instead of qlogic folder. Change: Place the driver module under qlogic folder. Introduced: 8.4.0.0. Relevance: Module installation. 2. Problem: Work requests transmitted by EDPM packets weren't signaled unless requested specifically. This would happen even if the QP was configured to "signal all". Change: Configure EDPM packet to signal either if specifically requested or if QP was configured to signal all. Introduced: day 1. Relevance: All. Version 8.5.5.0 (Aug 13, 2015) ============================== Internal FW 8.5.3.0 Version 8.5.4.0 (Aug 10, 2015) ============================== Internal FW 8.5.3.0 Enhancements: ------------- 1. Request: Update qedr according to ECORE RoCE v2 API changes i.e. rename fields. Version 8.5.3.0 (Jul 26, 2015) ============================== Internal FW 8.5.2.0 Enhancements: ------------- 1. Request: For non SLES distros install the module in the same location as rpm would do to set the correct hierarchy of installed modules i.e. under extra/qlgc-fastlinq. Fixes: ------ 1. Problem: In kernel verb implementation, once req_notify_cq is called, every poll_cq call following will lead to a re-arm of the CQ. Change: Reset arm flags once irq is called, and don't re-arm until an additional call to req_notify_cq is made. Introduced: 8.3.2.0. Relevance: Apps using kernel verbs. iSER however is not affected due to they way that iSER works. 2. Problem: Kernel crashes when loading qedr. Change: Dispatch IB event only after the device is registered. Introduced: 8.5.2.0. Relevance: All. 3. Problem: CQ80996 - qedr failed to get installed on SLES11SP4. Change: Add Module.supported file in driver sources. Introduced: Day 1. Relevance: SLES11SP4. Enhancements: ------------- 1. Request: EDPM is now enabled by default (support of environment variable QEDR_ENABLE_EDPM has been removed). Version 8.5.2.0 (Jul 14, 2015) ============================== Internal FW 8.5.1.0 Fixes: ------ 1. Problem: qp allocation is not freed in destroy_qp and in error flow in create_qp. Change: free qp in destroy_qp and in create_qp error flow. Introduced: day 1. Relevance: All. 2. Problem: Sometimes a warning appears when modifying a QP about, about unexpected flags being set. Change: Don't print anything since the flags being checked aren't relevant when modifying a QP, and it is allowed that they'll be junk. Introduced: day 1. Relevance: All. 3. Problem: A GID change doesn't raise the matching OFED GID event. Change: Raise event on GID add and delete. Introduced: day 1. Relevance: All. 4. Problem: The IB GRH flag is set redundantly. Change: Set the IB GRH flag only in GSI related code. Introduced: day 1. Relevance: All. Version 8.5.1.0 (Jul 05, 2015) ============================== Internal FW 8.4.2.0 Fixes: ------ 1. Problem: CQ80509: driver module on SLES 11 SP4 does not load automatically after a reboot. Change: lsinitrd related help message pop-up on SLES ditros when performing make install with FastLinQ Linux drivers package. So first check if initramfs file itself exists before checking for the kernel module in initrd image. Introduced: 8.4.0.0. Relevance: SLES. Enhancements: ------------- 1. Request: Add support for module installation on Ubuntu. Version 8.5.0.0 (Jun 25, 2015) ============================== Internal FW 8.4.2.0 Fixes: ------ 1. Problem: Memory Leak. Change: Free SGID table when freeing QEDR resources. Introduced: Day 1. Relevance: All. 2. Problem: Interoperability issue with other vendor when running ib_read_bw app. Change: max_qp_rd_atom / max_qp_init_rd_atom capabilities should be a power of 2. Introduced: Day 1. Relevance: All. 3. Problem: Failed to compile on Ubuntu 14 (32 bit). Change: Patched code to support 32 bit pointer conversions. Avoid using the writeq function in 32 bit. Introduced: Day 1. Relevance: All. 4. Problem: High CPU usage observed while running iSER. Change: Implement performance optimization for FMR flow. Decreases CPU utilization in several cases. Introduced: 8.3.2.0. Relevance: iSER. Enhancements: ------------- 1. Request: VLAN support. 2. Request: CNQ Affinity. 3. Request: Module installation enhancements - Install under "updates" in case of SuSE and "extra" in case of rest of the distros. Use qedr.conf file to override previous driver loads (inbox or thru source code). Update the initramfs if driver is already a part of it before installation. Version 8.3.5.0 (May 20, 2015) ============================== Internal FW 8.3.7.0 Fixes: ------ 1. Problem: MTU size of 256 wasn't allowed. Change: Allow MTU size of 256. Introduced: Day 1. Relevance: All. 2. Problem: Failure to registering user memory region can cause segmentation fault. Change: Avoid freeing unallocated memory. Introduced: Day 1. Relevance: All. Enhancements: ------------- 1. Request: Fail loading qedr module over 100g link if specific module parameter was not given. This is because loading qedr module over 100g link will cause L2 degradation. To load qedr module over 100g link run: modprobe qedr roce_100g=1 Version 8.3.4.0 (May 07, 2015) ============================== Internal FW 8.3.7.0 Fixes: ------ 1. Problem: OFED performed a read from NULL a address. Change: Update Work Request ID before calling the OFED TX command. Introduced: Day 1. Relevance: LL2 clients. 2. Problem: RoCE traffic won't work on a system with IOMMU VTD enabled. Change: update driver / lib interface to work with physical addresses (rather than bus address). This fixes ONLY RoCE traffic and not RDMA-CM. Introduced: Day 1. Relevance: All. 3. Problem: CQ79457 - Observed system crash while running rdma_cm applications or with "-R" option using Outbox OFED. Change: Memory overrun in driver caused corruption in ofed data structures. Introduced: 8.3.0.0. Relevance: RDMA-CM. Version 8.3.3.0 (Apr 29, 2015) ============================== Internal FW 8.3.6.0 Version 8.3.2.0 (Apr 21, 2015) ============================== Internal FW 8.3.5.0 Fixes: ------ 1. Problem: Removed obsolete RoCE HSI field (parent_itid) Change: Update ramrod structure. Introduced: Day 1. Relevance: All. 2. Problem: RoCE w/ NPAR scenario failed TX/RX. Change: Updated LLH with MAC addresses on qed_ll2_start(). Introduced: Day 1. Relevance: LL2 clients. Enhancements: ------------- 1. Request: iSER Support: Initial implementation of all features required to support iSER. Tested with tgtd, lio (targetcli). Version 8.3.1.0 (Apr 08, 2015) ============================== Internal FW 8.3.4.0 Version 8.3.0.0 (Mar 24, 2015) ============================== Internal FW 8.3.3.0 Fixes: ------ 1. Problem: qedr doesn't compile on RH6.6, Fedora, Oracle7, Sles11 Change: Fix compilation on these distros. Introduced: Day 1. Relevance: RH6.6, Fedora, Oracle7, Sles11 2. Problem: CQ78275 - ib_atomic_lat causes crash on setups with no pci atomic support. Change: Fail atomic send verbs if atomic is not supported on pci. Introduced: Day 1. Relevance: RoCE, atomic. 3. Problem: CQ78365 - RoCE: rping traffic stops in Persistent mode/loop. Change: Fix prod/cons comparison in gsi cq poll. Introduced: Day 1. Relevance: RoCE. 4. Problem: Loss of L2 connectivity after running RoCE apps with rdma cm. Change: Change hw configuration to use separate internal cache indices for l2 packets going to RoCE CM and l2 regular packets. Introduced: Day 1. Relevance: RoCE-CM / L2. Version 8.2.4.0 (Feb 26, 2015) ============================== Internal FW 8.2.7.0 Version 8.2.3.0 (Feb 12, 2015) ============================== Internal FW 8.2.4.0 Fixes: ------ 1. Problem: RDMA-CM based apps don't work with inbox OFED. (rdma_server / rcopy etc... ) Change: Add support for IP-Based GIDs Introduced: Day 1. Relevance: Inbox drivers on CentOS 7.0 and RedHat 7.0 2. Problem: rcopy failed for large files. Change: RQ consumer wasn't updated correctly for zero sge wqes Introduced: Day 1. Relevance: All. 3. Problem: Qedr doesn't compile on net-next Change: Take into account changes done to ib_umem structure Introduced: Day 1. Relevance: All.