]> git.openfabrics.org - ~aditr/compat-rdma-docs.git/commitdiff
added a file to explain Eth of ConnectX
authorTziporet Koren <tziporet@mellanox.co.il>
Tue, 9 Dec 2008 16:08:00 +0000 (18:08 +0200)
committerTziporet Koren <tziporet@mellanox.co.il>
Tue, 9 Dec 2008 16:08:00 +0000 (18:08 +0200)
Signed-off-by: Tziporet Koren <tziporet@mellanox.co.il>
MLNX_EN_README.txt [new file with mode: 0644]

diff --git a/MLNX_EN_README.txt b/MLNX_EN_README.txt
new file mode 100644 (file)
index 0000000..7699552
--- /dev/null
@@ -0,0 +1,133 @@
+===============================================================================
+       MLNX_EN driver for Mellanox Adapter Cards with 10GigE Support 
+                       README for OFED 1.4
+                          
+                       December 2008
+===============================================================================
+
+Contents:
+=========
+1. Overview
+2. Software Dependencies
+3. Ethernet Driver Usage and Configuration
+4. Known Issues
+5. Troubleshooting
+
+
+1. Overview
+===========
+MLNX_EN driver is composed from mlx4_core and mlx4_en kernel modules.
+
+The MLNX_EN driver release exposes the following capabilities:
+- Single/Dual port
+- Fibre Channel over Ethernet (FCoE)
+- Up to 16 Rx queues per port
+- Rx steering mode: Receive Core Affinity (RCA)
+- Tx arbitration mode: VLAN user-priority (off by default)
+- MSI-X or INTx
+- Adaptive interrupt moderation
+- HW Tx/Rx checksum calculation
+- Large Send Offload (i.e., TCP Segmentation Offload)
+- Large Receive Offload
+- Multi-core NAPI support
+- VLAN Tx/Rx acceleration (HW VLAN stripping/insertion)
+- HW VLAN filtering
+- HW multicast filtering
+- ifconfig up/down + mtu changes (up to 10K)
+- Ethtool support
+- Net device statistics
+- CX4 connectors (XAUI) or XFP
+
+
+2. Software Dependencies
+========================
+- The mlx4_en module uses a Linux implementation for Large Receive Offload 
+  (LRO) in kernel 2.6.24 and later. These kernels require installing the 
+  "inet_lro" module.
+
+
+3. Ethernet Driver Usage and Configuration
+==========================================
+
+- To assign an IP address to the interface run:
+  #> ifconfig eth<x> <ip>
+
+   where 'x' is the OS assigned interface number.
+
+- To check driver and device information run:
+  #> ethtool -i eth<x>
+
+  Example:
+  #> ethtool -i eth2
+  driver: mlx4_en (MT_04A0140005)
+  version: 1.3.0 (Sep 2008)
+  firmware-version: 2.5.400
+  bus-info: 0000:13:00.0 
+
+- To query stateless offload status run:
+  #> ethtool -k eth<x>
+
+- To set stateless offload status run:
+  #> ethtool -K eth<x> [rx on|off] [tx on|off] [sg on|off] [tso on|off]
+
+- To query interrupt coalescing settings run:
+  #> ethtool -c eth<x>
+
+- By default, the driver uses adaptive interrupt moderation for the receive path,
+  which adjusts the moderation time according to the traffic pattern.
+  Adaptive moderation settings can be set by:
+  #> ethtool -C eth<x> adaptive-rx on|off
+
+- To set interrupt coalescing settings run:
+  #> ethtool -C eth<x> [rx-usecs N] [rx-frames N] [tx-usecs N] [tx-frames N]
+  
+  Note: usec settings correspond to the time to wait after the *last* packet 
+  sent/received before triggering an interrupt
+
+- To query pause frame settings run:
+  #> ethtool -a eth<x>
+
+- To set pause frame settings run:
+  #> ethtool -A eth<x> [rx on|off] [tx on|off]
+
+- To obtain additional device statistics, run:
+  #> ethtool -S eth<x>
+
+
+The driver defaults to the following parameters:
+- Both ports are activated (i.e., a net device is created for each port)
+- The number of Rx rings for each port is the number of on-line CPUs
+- Per-core NAPI is enabled
+- LRO is enabled with 32 concurrent sessions per Rx ring
+
+Some of these values can be changed using module parameters, which are 
+detailed by running:
+#> modinfo mlx4_en 
+
+To set non-default values to module parameters, the following line should be
+added to /etc/modprobe.conf file:
+ "options mlx4_en <param_name>=<value> <param_name>=<value> ..."
+
+Values of all parameters can be observed in /sys/module/mlx4_en/parameters/. 
+
+
+4. Known Issues
+===============
+- For RedHat EL4, adding and removing multiple vlan interfaces over the network
+  interface created by the mlx4_en driver may lead to printing the following:
+  "kernel: unregister_netdevice: waiting for eth<x.y> to become free. Usage count ="
+
+- iperf with multiple (> 100) streams may fail on kernel.org 2.6.25 versions
+  earlier than 2.6.25.9.
+
+
+5. Troubleshooting
+==================
+Problem: I restarted the driver and received the following error message:
+   mlx4_core 0000:13:00.0: PCI device did not come back after reset, aborting.
+   mlx4_core 0000:13:00.0: Failed to reset HCA, aborting.
+
+Suggestion: This error appears if you have burnt new firmware to the adapter
+   card but have not rebooted the machine yet. Reboot the machine to allow the
+   new firmware to take effect.
+