+++ /dev/null
- Open Fabrics Enterprise Distribution (OFED)
- ConnectX driver (mlx4) in OFED 1.5.4 Release Notes
-
- December 2011
-
-
-===============================================================================
-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. Known Issues
-14. 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 1.4 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.
-
-===============================================================================
-2. Supported firmware versions
-===============================================================================
-- This release was tested with FW 2.8.0600
-- The minimal version to use is 2.3.000.
-- To use both IB and Ethernet (VPI) use 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. 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.
-
-
-================================================================================
-14. 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)
--- /dev/null
+ 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