]> git.openfabrics.org - ~tnikolova/docs/.git/commitdiff
Updated mlx_release_notes
authorVladimir Sokolovsky <vlad@mellanox.com>
Mon, 22 Jun 2015 15:59:19 +0000 (18:59 +0300)
committerVladimir Sokolovsky <vlad@mellanox.com>
Mon, 22 Jun 2015 15:59:19 +0000 (18:59 +0300)
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
release_notes/mlx_release_notes.txt

index 7aa5cf34899a45272bf461a5d1cf03913b1be11f..c13c58b6887ce4a0bcecbfe4d6432ed985e3987e 100755 (executable)
-           Open Fabrics Enterprise Distribution (OFED)\r
-         ConnectX driver (mlx4) in OFED 3.12 Release Notes\r
-\r
-                       May 2014\r
-\r
-\r
-===============================================================================\r
-Table of Contents\r
-===============================================================================\r
-1. Overview\r
-2. Supported firmware versions\r
-3. VPI (Virtual Process Interconnect)\r
-4. InfiniBand new features and bug fixes since OFED 1.3.1\r
-5. InfiniBand (mlx4_ib) new features and bug fixes since OFED 1.4\r
-6. Eth (mlx4_en) new features and bug fixes since OFED 1.4\r
-7. New features and bug fixes since OFED 1.4.1\r
-8. New features and bug fixes since OFED 1.4.2\r
-9. New features and bug fixes since OFED 1.5\r
-10. New features and bug fixes since OFED 1.5.1\r
-11. New features and bug fixes since OFED 1.5.2\r
-12. New features and bug fixes since OFED 1.5.3\r
-13. New features and bug fixes since OFED 1.5.4\r
-14. Known Issues\r
-15. mlx4 available parameters\r
-\r
-===============================================================================\r
-1. Overview\r
-===============================================================================\r
-mlx4 is the low level driver implementation for the ConnectX adapters designed\r
-by Mellanox Technologies. The ConnectX can operate as an InfiniBand adapter,\r
-as an Ethernet NIC, or as a Fibre Channel HBA. The driver in OFED 3.12 supports\r
-InfiniBand and Ethernet NIC configurations. To accommodate the supported\r
-configurations, the driver is split into three modules:\r
-    \r
-- mlx4_core\r
-       Handles low-level functions like device initialization and firmware\r
-       commands processing. Also controls resource allocation so that the\r
-       InfiniBand and Ethernet functions can share the device without\r
-       interfering with each other.\r
-- mlx4_ib\r
-       Handles InfiniBand-specific functions and plugs into the InfiniBand\r
-       midlayer\r
-- mlx4_en\r
-       Handles Ethernet specific functions and plugs into the netdev mid-layer.\r
-\r
-mlx5 is the low level driver implementation for Connect-IB adapters designed\r
-by Mellanox Technologies. The connect-IB can operate as an Infiniband adapter\r
-only. The driver is split into two modules:\r
-\r
-- mlx5_core\r
-       Handles low-level functions like device initialization and firmware\r
-       commands processing.\r
-- mlx5_ib\r
-       Handles InfiniBand-specific functions and plugs into the InfiniBand\r
-       midlayer\r
-\r
-===============================================================================\r
-2. Supported firmware versions\r
-===============================================================================\r
-- This release was tested with Connect-IB FW 10.10.3000 or Connext-X3\r
-  FW 2.31.5050\r
-- The minimal Connect-X version to use is 2.3.000.\r
-- To use both IB and Ethernet (VPI) use Connect-X FW version 2.6.000 or higher\r
-\r
-===============================================================================\r
-3. VPI (Virtual Protocol Interconnect)\r
-===============================================================================\r
-VPI enables ConnectX to be configured as an Ethernet NIC and/or an InfiniBand\r
-adapter.\r
-o Overview:\r
-  The VPI driver is a combination of the Mellanox ConnectX HCA Ethernet and\r
-  InfiniBand drivers.\r
-  It supplies the user with the ability to run InfiniBand and Ethernet\r
-  protocols on the same HCA (separately or at the same time).\r
-  For more details on the Ethernet driver see MLNX_EN_README.txt.\r
-o Firmware:\r
-  The VPI driver works with FW 25408 version 2.6.000 or higher.\r
-  One needs to use INI files that allow different protocols over same HCA.\r
-o Port type management:\r
-  By default both ConnectX ports are initialized as InfiniBand ports.\r
-  If you wish to change the port type use the connectx_port_config script after\r
-  the driver is loaded.\r
-  Running "/sbin/connectx_port_config -s" will show current port configuration\r
-  for all ConnectX devices.\r
-  Port configuration is saved in file: /etc/infiniband/connectx.conf.\r
-  This saved configuration is restored at driver restart only if done via\r
-  "/etc/init.d/openibd restart".\r
-  \r
-  Possible port types are:\r
-    "eth"   - Always Ethernet.\r
-    "ib"    - Always InfiniBand.\r
-    "auto"  - Link sensing mode - detect port type based on the attached\r
-              network type. If no link is detected, the driver retries link\r
-              sensing every few seconds.\r
-    \r
-  Port link type can be configured for each device in the system at run time\r
-  using the "/sbin/connectx_port_config" script.\r
-  \r
-  This utility will prompt for the PCI device to be modified (if there is only\r
-  one it will be selected automatically).\r
-  At the next stage the user will be prompted for the desired mode for each port.\r
-  The desired port configuration will then be set for the selected device.\r
-  Note: This utility also has a non interactive mode:\r
-  "/sbin/connectx_port_config [[-d|--device <PCI device ID>] -c|--conf <port1,port2>]".\r
-\r
-- The following configurations are supported by VPI:\r
-       Port1 = eth   Port2 = eth\r
-       Port1 = ib    Port2 = ib\r
-       Port1 = auto  Port2 = auto\r
-       Port1 = ib    Port2 = eth\r
-       Port1 = ib    Port2 = auto\r
-       Port1 = auto  Port2 = eth\r
-\r
-  Note: the following options are not supported:\r
-       Port1 = eth   Port2 = ib\r
-       Port1 = eth   Port2 = auto\r
-       Port1 = auto  Port2 = ib\r
-  \r
-       \r
-===============================================================================\r
-4. InfiniBand new features and bug fixes since OFED 1.3.1\r
-===============================================================================\r
-Features that are enabled with ConnectX firmware 2.5.0 only:\r
-- Send with invalidate and Local invalidate send queue work requests.\r
-- Resize CQ support.\r
-\r
-Features that are enabled with ConnectX firmware 2.6.0 only:\r
-- Fast register MR send queue work requests.\r
-- Local DMA L_Key.\r
-- Raw Ethertype QP support (one QP per port) -- receive only.\r
-\r
-Non-firmware dependent features:\r
-- Allow 4K messages for UD QPs\r
-- Allocate/free fast register MR page lists\r
-- More efficient MTT allocator\r
-- RESET->ERR QP state transition no longer supported (IB Spec 1.2.1)\r
-- Pass congestion management class MADs to the HCA\r
-- Enable firmware diagnostic counters available via sysfs\r
-- Enable LSO support for IPOIB\r
-- IB_EVENT_LID_CHANGE is generated more appropriately\r
-- Fixed race condition between create QP and destroy QP (bugzilla 1389)\r
-\r
-\r
-===============================================================================\r
-5. InfiniBand new features and bug fixes since OFED 1.4\r
-===============================================================================\r
-- Enable setting via module param (set_4k_mtu) 4K MTU for ConnectX ports.\r
-- Support optimized registration of huge pages backed memory.\r
-  With this optimization, the number of MTT entries used is significantly\r
-  lower than for regular memory, so the HCA will access registered memory with\r
-  fewer cache misses and improved performance.\r
-  For more information on this topic, please refer to Linux documentation file:\r
-  Documentation/vm/hugetlbpage.txt\r
-- Do not enable blueflame sends if write combining is not available\r
-- Add write combining support for for PPC64, and thus enable blueflame sends.\r
-- Unregister IB device before executing CLOSE_PORT.\r
-- Notify and exit if the kernel module used does not support XRC. This is done\r
-  to avoid libmlx4 compatibility problem.\r
-- Added a module parameter (log_mtts_per_seg) for number of MTTs per segment.\r
-  This enable to register more memory with the same number of segments.\r
-\r
-\r
-===============================================================================\r
-6. Eth (mlx4_en) new features and bug fixes since OFED 1.4\r
-===============================================================================\r
-6.1 Changes and New Features\r
-----------------------------\r
-- Added Tx Multi-queue support which Improves multi-stream and bi-directional\r
-  TCP performance.\r
-- Added IP Reassembly to improve RX bandwidth for IP fragmented packets.\r
-- Added linear skb support which improves UDP performance.\r
-- Removed the following module parameters:\r
-   - rx/tx_ring_size\r
-   - rx_ring_num - number of RX rings\r
-   - pprx/pptx - global pause frames\r
-   The parameters above are controlled through the standard Ethtool interface.\r
-\r
-Bug Fixes\r
----------\r
-- Memory leak when driver is unloaded without configuring interfaces first.\r
-- Setting flow control parameters for one ConnectX port through Ethtool\r
-  impacts the other port as well.\r
-- Adaptive interrupt moderation malfunctions after receiving/transmitting\r
-  around 7 Tera-bytes of data.\r
-- Firmware commands fail with bad flow messages when bringing an interface up.\r
-- Unexpected behavior in case of memory allocation failures.\r
-\r
-===============================================================================\r
-7. New features and bug fixes since OFED 1.4.1\r
-===============================================================================\r
-- Added support for new device ID: 0x6764: MT26468 ConnectX EN 10GigE PCIe gen2\r
-\r
-===============================================================================\r
-8. New features and bug fixes since OFED 1.4.2\r
-===============================================================================\r
-8.1 Changes and New Features\r
-----------------------------\r
-- mlx4_en is now supported on PPC and IA64.\r
-- Added self diagnostics feature: ethtool -t eth<x>.\r
-- Card's vpd can be accessed for read and write using ethtool interface.\r
-\r
-8.2 Bug Fixes\r
--------------\r
-- mlx4 can now work with MSI-X on RH4 systems.\r
-- Enabled the driver to load on systems with 32 cores and higher.\r
-- The driver is being stuck if the HW/FW stops responding, reset is done\r
-  instead.\r
-- Fixed recovery flows from memory allocation failures.\r
-- When the system is low on memory, the mlx4_en driver now allocates smaller RX\r
-  rings.\r
-- The mlx4_core driver now retries to obtain MSI-X vectors if the initial request is\r
-  rejected by the OS\r
-\r
-===============================================================================\r
-9. New features and bug fixes since OFED 1.5\r
-===============================================================================\r
-9.1 Changes and New Features\r
-----------------------------\r
-- Added RDMA over Converged Enhanced Ethernet (RoCEE) support\r
-  See RoCEE_README.txt.\r
-- Masked Compare and Swap (MskCmpSwap)\r
-  The MskCmpSwap atomic operation is an extension to the CmpSwap operation\r
-  defined in the IB spec. MskCmpSwap allows the user to select a portion of the\r
-  64 bit target data for the "compare" check as well as to restrict the swap to\r
-  a (possibly different) portion.\r
-- Masked Fetch and Add (MFetchAdd)\r
-  The MFetchAdd Atomic operation extends the functionality of the standard IB\r
-  FetchAdd by allowing the user to split the target into multiple fields of\r
-  selectable length. The atomic add is done independently on each one of this\r
-  fields. A bit set in the field_boundary parameter specifies the field\r
-  boundaries.\r
-- Improved VLAN tagging performance for the mlx4_en driver.\r
-- RSS support for Ethernet UDP traffic on ConnectX-2 cards with firmware\r
-  2.7.700 and higher.\r
-\r
-9.2 Bug Fixes\r
--------------\r
-- Bonding stops functioning when one of the Ethernet ports is closed.\r
-- "Scheduling while atomic" errors in /var/log/messages when working with\r
-  bonding and mlx4_en drivers in several operating systems.\r
-\r
-===============================================================================\r
-10. New features and bug fixes since OFED 1.5.1\r
-===============================================================================\r
-10.1 Changes and New Features\r
-----------------------------\r
-1. Added RAW QP support\r
-2. Extended the range of log_mtts_per_seg - upper bound moved from 5 to 7.\r
-3. Added 0xff70 vendor ID support for MADs.\r
-4. Added support for GID change event.\r
-5. Better interrupts spreading under heavy RX load (mlx4_en)\r
-\r
-10.2 Bug Fixes\r
--------------\r
-1. Fixed chunk sg list overflow in mlx4_alloc_icm()\r
-2. Fixed bug in invalidation of counter index.\r
-3. Fixed bug in catching netdev events for updating GID table.\r
-4. Fixed bug in populating GID table for RoCE.\r
-5. Fixed XRC locking and prevention of null dereference.\r
-6. Added spinlock to xrc_reg_list changes and scanning in interrupt context.\r
-7. Fixed offload changes via Ethtool for VLAN interfaces\r
-\r
-===============================================================================\r
-11. New features and bug fixes since OFED 1.5.2\r
-===============================================================================\r
-11.1 Changes and new features\r
------------------------------\r
-1. RoCE counters are now added to the regular Ethernet counters. The counters\r
-   for RoCE specific traffic are at the same place and are not changed.\r
-2. Forward any vendor ID SMP MADs to firmware for handling.\r
-3. Add blue flame support for kernel consumers. This allows lower latencies to\r
-   be achieved. To use blue flame, a consumer needs to create the QP with\r
-   inline support.\r
-4. Enabled raw eth QPs to work with inline and blueflame\r
-5. Enabled new steering model in mlx4_en. The RX packets are now steered\r
-   through the MCG table instead of Mac table for unicast, and default entry\r
-   for multicast.\r
-6. Added support for promiscuous mode in the new steering model.\r
-\r
-11.2 Bug fixes\r
---------------\r
-1.  Fix race when reading node description through MADs.\r
-2.  Fix modify CQ so each of moderation parameters is independent.\r
-3.  Limit the number of fast registration work requests to match HW\r
-    capabilities.\r
-4   Changes to node-description via sysfs are now propagated to FW (for FW\r
-    2.8.000 and later).  This enables FW to send a 144 trap to OpenSM regarding\r
-    the change, so that OpenSM can read that nodes updated description.  This\r
-    fixes an old race condition, where OpenSM read the nodes description before\r
-    it was changed during driver startup.\r
-5.  Fix max fast registration WRs that can be posted to CX.\r
-6.  Fix port speed reporting for RoCE ports.\r
-7.  Limit GID entries for VLAN to match hardware capabilities.\r
-8.  Fix RoCE link state report.\r
-9.  Workaround firmware bug, reporting wrong number of blue flame registers.\r
-10. Bug fix in kernel pos_send when VLANs are used.\r
-11. Fix in mlx4_en for handling VLAN operations when working under bond\r
-    interfaces.\r
-12. Fix Ethtool transceiver type report for mlx4_en\r
-13. Avoid vunmpa invalid pointer in allocation bad flow\r
-14. Fix mlx4_ib_reg_xrc_rcv_qp() locking\r
-\r
-===============================================================================\r
-12. New features and bug fixes since OFED 1.5.3\r
-===============================================================================\r
-1.  Fix the release func to be consistent with the allocation one\r
-2.  Fix high priority attach\r
-3.  Fix endianness with blue frame support\r
-4.  Consider reserved_cqs\r
-5.  Add debug messages when cannot perform SENSE_PORT\r
-6.  Add sensing port only when supported by HW\r
-\r
-===============================================================================\r
-13. New features and bug fixes since OFED 1.5.4\r
-===============================================================================\r
-1. SRIOV basic\r
-2. SRIOV EN\r
-3. new link sensing\r
-4. RAW QP\r
-5. Flow Steering\r
-6. QoS\r
-7. aRFS TCP\r
-8. huge pages\r
-9. ipoib perf improvements\r
-10. Thermal event\r
-11. ipoib tss/rss\r
-12. 64 byte CQE ConnectX-3\r
-13. SRIOV IB\r
-14. SRIOV RAW QP\r
-15. ipoib-pv module\r
-16. time stamping EN\r
-17. Memory Window\r
-18. macvlan\r
-19. VF MAC spoof checking\r
-20. mlx5 driver\r
-21. XPS support\r
-22. VF link state support\r
-23. Low Latency Socket (busy poll)\r
-24. Order-0 memory alloc in rx\r
-25. Warning on TX timeout\r
-26. Blueflame race fixed\r
-27. NCSI support (using oprequest)\r
-\r
-===============================================================================\r
-14. Known Issues\r
-===============================================================================\r
-- The SQD feature is not supported\r
-- To load the driver on machines with a 64KB default page size, the UAR bar\r
-  must be enlarged. 64KB page size is the default of PPC with RHEL5 and Itanium\r
-  with SLES 11 or when 64KB page size enabled.\r
-  Perform the following three steps:\r
-  1. Add the following line in the firmware configuration (INI) file under the\r
-     [HCA] section:\r
-       log2_uar_bar_megabytes = 5\r
-  2. Burn a modified firmware image with the changed INI file.\r
-  3. Reboot the system.\r
-\r
-     \r
-================================================================================\r
-15. mlx4 available parameters\r
-================================================================================\r
-In order to set mlx4 parameters, add the following line(s) to /etc/modpobe.conf:\r
-   options mlx4_core parameter=<value>\r
-      and/or\r
-   options mlx4_ib   parameter=<value>\r
-      and/or\r
-   options mlx4_en   parameter=<value>\r
-\r
-mlx4_core parameters:\r
- set_4k_mtu:           try to set 4K MTU to all ConnectX ports (int)\r
- debug_level:          enable debug tracing if > 0 (int)\r
- block_loopback:       block multicast loopback packets if > 0 (int)\r
- msi_x:                        attempt to use MSI-X if nonzero (int)\r
- log_num_mac:          log2 max number of MACs per ETH port (1-7, int)\r
- use_prio:             enable steering by VLAN priority on ETH ports\r
-                       (0/1, default 0) (bool)\r
- log_num_qp:           log maximum number of QPs per HCA (int)\r
- log_num_srq:          log maximum number of SRQs per HCA (int)\r
- log_rdmarc_per_qp:    log number of RDMARC buffers per QP (int)\r
- log_num_cq:           log maximum number of CQs per HCA (int)\r
- log_num_mcg:          log maximum number of multicast groups per HCA\r
-                       (int)\r
- log_num_mpt:          log maximum number of memory protection table\r
-                       entries per HCA (int)\r
- log_num_mtt:          log maximum number of memory translation table\r
-                       segments per HCA (int)\r
- log_mtts_per_seg:     log2 number of MTT entries per segment (1-5)\r
-                       (int)\r
- enable_qos:           enable Quality of Service support in the HCA\r
-                       (default: off) (bool)\r
- enable_pre_t11_mode:  set FCoXX to pre-T11 mode if non-zero\r
-                       (default 0) (int)\r
- internal_err_reset:   reset device on internal errors if non-zero\r
-                       (default 1) (int)\r
-\r
-mlx4_ib parameters:\r
- debug_level:          enable debug tracing if > 0 (default 0)\r
-\r
-mlx4_en parameters:\r
- udp_rss:              enable RSS for incoming UDP traffic or disabled (0)\r
- tcp_rss:              enable RSS for incoming TCP traffic or disabled (0)\r
- num_lro:              number of LRO sessions per ring or disabled (0)\r
-                       (default is 32)\r
- ip_reasm:             allow reassembly of fragmented IP packets (default\r
-                       is enabled)\r
- pfctx:                        priority based Flow Control policy on TX[7:0]\r
-                       per priority bit mask (default is 0)\r
- pfcrx:                        priority based Flow Control policy on RX[7:0]\r
-                       per priority bit mask (default is 0)\r
- inline_thold:         threshold for using inline data (default is 128)\r
-\r
-================================================================================\r
-15. mlx5 available parameters\r
-================================================================================\r
-debug_mask:            debug mask: 1 = dump cmd data, 2 = dump cmd exec time, 3 = both. Default=0\r
-\r
+           Open Fabrics Enterprise Distribution (OFED)
+         ConnectX driver (mlx4) in OFED 3.18 Release Notes
+
+                       June 2018
+
+
+===============================================================================
+Table of Contents
+===============================================================================
+1. Overview
+2. Supported firmware versions
+3. VPI (Virtual Process Interconnect)
+4. InfiniBand new features and bug fixes since OFED 1.3.1
+5. InfiniBand (mlx4_ib) new features and bug fixes since OFED 1.4
+6. Eth (mlx4_en) new features and bug fixes since OFED 1.4
+7. New features and bug fixes since OFED 1.4.1
+8. New features and bug fixes since OFED 1.4.2
+9. New features and bug fixes since OFED 1.5
+10. New features and bug fixes since OFED 1.5.1
+11. New features and bug fixes since OFED 1.5.2
+12. New features and bug fixes since OFED 1.5.3
+13. New features and bug fixes since OFED 1.5.4
+14. Known Issues
+15. mlx4 available parameters
+
+===============================================================================
+1. Overview
+===============================================================================
+mlx4 is the low level driver implementation for the ConnectX adapters designed
+by Mellanox Technologies. The ConnectX can operate as an InfiniBand adapter,
+as an Ethernet NIC, or as a Fibre Channel HBA. The driver in OFED 3.12 supports
+InfiniBand and Ethernet NIC configurations. To accommodate the supported
+configurations, the driver is split into three modules:
+    
+- mlx4_core
+       Handles low-level functions like device initialization and firmware
+       commands processing. Also controls resource allocation so that the
+       InfiniBand and Ethernet functions can share the device without
+       interfering with each other.
+- mlx4_ib
+       Handles InfiniBand-specific functions and plugs into the InfiniBand
+       midlayer
+- mlx4_en
+       Handles Ethernet specific functions and plugs into the netdev mid-layer.
+
+mlx5 is the low level driver implementation for Connect-IB adapters designed
+by Mellanox Technologies. The connect-IB can operate as an Infiniband adapter
+only. The driver is split into two modules:
+
+- mlx5_core
+       Handles low-level functions like device initialization and firmware
+       commands processing.
+- mlx5_ib
+       Handles InfiniBand-specific functions and plugs into the InfiniBand
+       midlayer
+
+===============================================================================
+2. Supported firmware versions
+===============================================================================
+- This release was tested with Connect-IB FW 10.100.6440 or Connext-X3
+  FW 2.34.5000
+- The minimal Connect-X version to use is 2.3.000.
+- To use both IB and Ethernet (VPI) use Connect-X FW version 2.6.000 or higher
+
+===============================================================================
+3. VPI (Virtual Protocol Interconnect)
+===============================================================================
+VPI enables ConnectX to be configured as an Ethernet NIC and/or an InfiniBand
+adapter.
+o Overview:
+  The VPI driver is a combination of the Mellanox ConnectX HCA Ethernet and
+  InfiniBand drivers.
+  It supplies the user with the ability to run InfiniBand and Ethernet
+  protocols on the same HCA (separately or at the same time).
+  For more details on the Ethernet driver see MLNX_EN_README.txt.
+o Firmware:
+  The VPI driver works with FW 25408 version 2.6.000 or higher.
+  One needs to use INI files that allow different protocols over same HCA.
+o Port type management:
+  By default both ConnectX ports are initialized as InfiniBand ports.
+  If you wish to change the port type use the connectx_port_config script after
+  the driver is loaded.
+  Running "/sbin/connectx_port_config -s" will show current port configuration
+  for all ConnectX devices.
+  Port configuration is saved in file: /etc/infiniband/connectx.conf.
+  This saved configuration is restored at driver restart only if done via
+  "/etc/init.d/openibd restart".
+  
+  Possible port types are:
+    "eth"   - Always Ethernet.
+    "ib"    - Always InfiniBand.
+    "auto"  - Link sensing mode - detect port type based on the attached
+              network type. If no link is detected, the driver retries link
+              sensing every few seconds.
+    
+  Port link type can be configured for each device in the system at run time
+  using the "/sbin/connectx_port_config" script.
+  
+  This utility will prompt for the PCI device to be modified (if there is only
+  one it will be selected automatically).
+  At the next stage the user will be prompted for the desired mode for each port.
+  The desired port configuration will then be set for the selected device.
+  Note: This utility also has a non interactive mode:
+  "/sbin/connectx_port_config [[-d|--device <PCI device ID>] -c|--conf <port1,port2>]".
+
+- The following configurations are supported by VPI:
+       Port1 = eth   Port2 = eth
+       Port1 = ib    Port2 = ib
+       Port1 = auto  Port2 = auto
+       Port1 = ib    Port2 = eth
+       Port1 = ib    Port2 = auto
+       Port1 = auto  Port2 = eth
+
+  Note: the following options are not supported:
+       Port1 = eth   Port2 = ib
+       Port1 = eth   Port2 = auto
+       Port1 = auto  Port2 = ib
+  
+       
+===============================================================================
+4. InfiniBand new features and bug fixes since OFED 1.3.1
+===============================================================================
+Features that are enabled with ConnectX firmware 2.5.0 only:
+- Send with invalidate and Local invalidate send queue work requests.
+- Resize CQ support.
+
+Features that are enabled with ConnectX firmware 2.6.0 only:
+- Fast register MR send queue work requests.
+- Local DMA L_Key.
+- Raw Ethertype QP support (one QP per port) -- receive only.
+
+Non-firmware dependent features:
+- Allow 4K messages for UD QPs
+- Allocate/free fast register MR page lists
+- More efficient MTT allocator
+- RESET->ERR QP state transition no longer supported (IB Spec 1.2.1)
+- Pass congestion management class MADs to the HCA
+- Enable firmware diagnostic counters available via sysfs
+- Enable LSO support for IPOIB
+- IB_EVENT_LID_CHANGE is generated more appropriately
+- Fixed race condition between create QP and destroy QP (bugzilla 1389)
+
+
+===============================================================================
+5. InfiniBand new features and bug fixes since OFED 1.4
+===============================================================================
+- Enable setting via module param (set_4k_mtu) 4K MTU for ConnectX ports.
+- Support optimized registration of huge pages backed memory.
+  With this optimization, the number of MTT entries used is significantly
+  lower than for regular memory, so the HCA will access registered memory with
+  fewer cache misses and improved performance.
+  For more information on this topic, please refer to Linux documentation file:
+  Documentation/vm/hugetlbpage.txt
+- Do not enable blueflame sends if write combining is not available
+- Add write combining support for for PPC64, and thus enable blueflame sends.
+- Unregister IB device before executing CLOSE_PORT.
+- Notify and exit if the kernel module used does not support XRC. This is done
+  to avoid libmlx4 compatibility problem.
+- Added a module parameter (log_mtts_per_seg) for number of MTTs per segment.
+  This enable to register more memory with the same number of segments.
+
+
+===============================================================================
+6. Eth (mlx4_en) new features and bug fixes since OFED 1.4
+===============================================================================
+6.1 Changes and New Features
+----------------------------
+- Added Tx Multi-queue support which Improves multi-stream and bi-directional
+  TCP performance.
+- Added IP Reassembly to improve RX bandwidth for IP fragmented packets.
+- Added linear skb support which improves UDP performance.
+- Removed the following module parameters:
+   - rx/tx_ring_size
+   - rx_ring_num - number of RX rings
+   - pprx/pptx - global pause frames
+   The parameters above are controlled through the standard Ethtool interface.
+
+Bug Fixes
+---------
+- Memory leak when driver is unloaded without configuring interfaces first.
+- Setting flow control parameters for one ConnectX port through Ethtool
+  impacts the other port as well.
+- Adaptive interrupt moderation malfunctions after receiving/transmitting
+  around 7 Tera-bytes of data.
+- Firmware commands fail with bad flow messages when bringing an interface up.
+- Unexpected behavior in case of memory allocation failures.
+
+===============================================================================
+7. New features and bug fixes since OFED 1.4.1
+===============================================================================
+- Added support for new device ID: 0x6764: MT26468 ConnectX EN 10GigE PCIe gen2
+
+===============================================================================
+8. New features and bug fixes since OFED 1.4.2
+===============================================================================
+8.1 Changes and New Features
+----------------------------
+- mlx4_en is now supported on PPC and IA64.
+- Added self diagnostics feature: ethtool -t eth<x>.
+- Card's vpd can be accessed for read and write using ethtool interface.
+
+8.2 Bug Fixes
+-------------
+- mlx4 can now work with MSI-X on RH4 systems.
+- Enabled the driver to load on systems with 32 cores and higher.
+- The driver is being stuck if the HW/FW stops responding, reset is done
+  instead.
+- Fixed recovery flows from memory allocation failures.
+- When the system is low on memory, the mlx4_en driver now allocates smaller RX
+  rings.
+- The mlx4_core driver now retries to obtain MSI-X vectors if the initial request is
+  rejected by the OS
+
+===============================================================================
+9. New features and bug fixes since OFED 1.5
+===============================================================================
+9.1 Changes and New Features
+----------------------------
+- Added RDMA over Converged Enhanced Ethernet (RoCEE) support
+  See RoCEE_README.txt.
+- Masked Compare and Swap (MskCmpSwap)
+  The MskCmpSwap atomic operation is an extension to the CmpSwap operation
+  defined in the IB spec. MskCmpSwap allows the user to select a portion of the
+  64 bit target data for the "compare" check as well as to restrict the swap to
+  a (possibly different) portion.
+- Masked Fetch and Add (MFetchAdd)
+  The MFetchAdd Atomic operation extends the functionality of the standard IB
+  FetchAdd by allowing the user to split the target into multiple fields of
+  selectable length. The atomic add is done independently on each one of this
+  fields. A bit set in the field_boundary parameter specifies the field
+  boundaries.
+- Improved VLAN tagging performance for the mlx4_en driver.
+- RSS support for Ethernet UDP traffic on ConnectX-2 cards with firmware
+  2.7.700 and higher.
+
+9.2 Bug Fixes
+-------------
+- Bonding stops functioning when one of the Ethernet ports is closed.
+- "Scheduling while atomic" errors in /var/log/messages when working with
+  bonding and mlx4_en drivers in several operating systems.
+
+===============================================================================
+10. New features and bug fixes since OFED 1.5.1
+===============================================================================
+10.1 Changes and New Features
+----------------------------
+1. Added RAW QP support
+2. Extended the range of log_mtts_per_seg - upper bound moved from 5 to 7.
+3. Added 0xff70 vendor ID support for MADs.
+4. Added support for GID change event.
+5. Better interrupts spreading under heavy RX load (mlx4_en)
+
+10.2 Bug Fixes
+-------------
+1. Fixed chunk sg list overflow in mlx4_alloc_icm()
+2. Fixed bug in invalidation of counter index.
+3. Fixed bug in catching netdev events for updating GID table.
+4. Fixed bug in populating GID table for RoCE.
+5. Fixed XRC locking and prevention of null dereference.
+6. Added spinlock to xrc_reg_list changes and scanning in interrupt context.
+7. Fixed offload changes via Ethtool for VLAN interfaces
+
+===============================================================================
+11. New features and bug fixes since OFED 1.5.2
+===============================================================================
+11.1 Changes and new features
+-----------------------------
+1. RoCE counters are now added to the regular Ethernet counters. The counters
+   for RoCE specific traffic are at the same place and are not changed.
+2. Forward any vendor ID SMP MADs to firmware for handling.
+3. Add blue flame support for kernel consumers. This allows lower latencies to
+   be achieved. To use blue flame, a consumer needs to create the QP with
+   inline support.
+4. Enabled raw eth QPs to work with inline and blueflame
+5. Enabled new steering model in mlx4_en. The RX packets are now steered
+   through the MCG table instead of Mac table for unicast, and default entry
+   for multicast.
+6. Added support for promiscuous mode in the new steering model.
+
+11.2 Bug fixes
+--------------
+1.  Fix race when reading node description through MADs.
+2.  Fix modify CQ so each of moderation parameters is independent.
+3.  Limit the number of fast registration work requests to match HW
+    capabilities.
+4   Changes to node-description via sysfs are now propagated to FW (for FW
+    2.8.000 and later).  This enables FW to send a 144 trap to OpenSM regarding
+    the change, so that OpenSM can read that nodes updated description.  This
+    fixes an old race condition, where OpenSM read the nodes description before
+    it was changed during driver startup.
+5.  Fix max fast registration WRs that can be posted to CX.
+6.  Fix port speed reporting for RoCE ports.
+7.  Limit GID entries for VLAN to match hardware capabilities.
+8.  Fix RoCE link state report.
+9.  Workaround firmware bug, reporting wrong number of blue flame registers.
+10. Bug fix in kernel pos_send when VLANs are used.
+11. Fix in mlx4_en for handling VLAN operations when working under bond
+    interfaces.
+12. Fix Ethtool transceiver type report for mlx4_en
+13. Avoid vunmpa invalid pointer in allocation bad flow
+14. Fix mlx4_ib_reg_xrc_rcv_qp() locking
+
+===============================================================================
+12. New features and bug fixes since OFED 1.5.3
+===============================================================================
+1.  Fix the release func to be consistent with the allocation one
+2.  Fix high priority attach
+3.  Fix endianness with blue frame support
+4.  Consider reserved_cqs
+5.  Add debug messages when cannot perform SENSE_PORT
+6.  Add sensing port only when supported by HW
+
+===============================================================================
+13. New features and bug fixes since OFED 1.5.4
+===============================================================================
+1. SRIOV basic
+2. SRIOV EN
+3. new link sensing
+4. RAW QP
+5. Flow Steering
+6. QoS
+7. aRFS TCP
+8. huge pages
+9. ipoib perf improvements
+10. Thermal event
+11. ipoib tss/rss
+12. 64 byte CQE ConnectX-3
+13. SRIOV IB
+14. SRIOV RAW QP
+15. ipoib-pv module
+16. time stamping EN
+17. Memory Window
+18. macvlan
+19. VF MAC spoof checking
+20. mlx5 driver
+21. XPS support
+22. VF link state support
+23. Low Latency Socket (busy poll)
+24. Order-0 memory alloc in rx
+25. Warning on TX timeout
+26. Blueflame race fixed
+27. NCSI support (using oprequest)
+
+===============================================================================
+14. Known Issues
+===============================================================================
+- The SQD feature is not supported
+- To load the driver on machines with a 64KB default page size, the UAR bar
+  must be enlarged. 64KB page size is the default of PPC with RHEL5 and Itanium
+  with SLES 11 or when 64KB page size enabled.
+  Perform the following three steps:
+  1. Add the following line in the firmware configuration (INI) file under the
+     [HCA] section:
+       log2_uar_bar_megabytes = 5
+  2. Burn a modified firmware image with the changed INI file.
+  3. Reboot the system.
+
+     
+================================================================================
+15. mlx4 available parameters
+================================================================================
+In order to set mlx4 parameters, add the following line(s) to /etc/modpobe.conf:
+   options mlx4_core parameter=<value>
+      and/or
+   options mlx4_ib   parameter=<value>
+      and/or
+   options mlx4_en   parameter=<value>
+
+mlx4_core parameters:
+ set_4k_mtu:           try to set 4K MTU to all ConnectX ports (int)
+ debug_level:          enable debug tracing if > 0 (int)
+ block_loopback:       block multicast loopback packets if > 0 (int)
+ msi_x:                        attempt to use MSI-X if nonzero (int)
+ log_num_mac:          log2 max number of MACs per ETH port (1-7, int)
+ use_prio:             enable steering by VLAN priority on ETH ports
+                       (0/1, default 0) (bool)
+ log_num_qp:           log maximum number of QPs per HCA (int)
+ log_num_srq:          log maximum number of SRQs per HCA (int)
+ log_rdmarc_per_qp:    log number of RDMARC buffers per QP (int)
+ log_num_cq:           log maximum number of CQs per HCA (int)
+ log_num_mcg:          log maximum number of multicast groups per HCA
+                       (int)
+ log_num_mpt:          log maximum number of memory protection table
+                       entries per HCA (int)
+ log_num_mtt:          log maximum number of memory translation table
+                       segments per HCA (int)
+ log_mtts_per_seg:     log2 number of MTT entries per segment (1-5)
+                       (int)
+ enable_qos:           enable Quality of Service support in the HCA
+                       (default: off) (bool)
+ enable_pre_t11_mode:  set FCoXX to pre-T11 mode if non-zero
+                       (default 0) (int)
+ internal_err_reset:   reset device on internal errors if non-zero
+                       (default 1) (int)
+
+mlx4_ib parameters:
+ debug_level:          enable debug tracing if > 0 (default 0)
+
+mlx4_en parameters:
+ udp_rss:              enable RSS for incoming UDP traffic or disabled (0)
+ tcp_rss:              enable RSS for incoming TCP traffic or disabled (0)
+ num_lro:              number of LRO sessions per ring or disabled (0)
+                       (default is 32)
+ ip_reasm:             allow reassembly of fragmented IP packets (default
+                       is enabled)
+ pfctx:                        priority based Flow Control policy on TX[7:0]
+                       per priority bit mask (default is 0)
+ pfcrx:                        priority based Flow Control policy on RX[7:0]
+                       per priority bit mask (default is 0)
+ inline_thold:         threshold for using inline data (default is 128)
+
+================================================================================
+15. mlx5 available parameters
+================================================================================
+debug_mask:            debug mask: 1 = dump cmd data, 2 = dump cmd exec time, 3 = both. Default=0
+