Myri10GE 1.5.3p5 Linux (April 22, 2014) BUG FIXES: 1) Update the myri10ge_bugreport.sh script to account for changes in the output of ifconfig. Myri10GE 1.5.3p4 Linux (March 18, 2014) 1) Ethtool support for new 10G-PCIE2-8C-T and 10G-PCIE2-8C2-2T nics. 2) Firmware version 1.4.58. See ../firmware/CHANGES for details. Myri10GE 1.5.3p3 Linux (March 14, 2013) ENHANCEMENTS: 1) Added new modparam myri10ge_dmatest which can be used to disable the DMA bandwidth test. 2) Added support for planned EEPROM serial number format change. BUG FIXES: 1) Fixed a bug which would result in a rare deadlock when using adaptive interrupt coalescing. 2) Fixed a bug which could lead to a panic when using inet_lro in conjunction with jumbo frames on newer kernels. (binary RPMs were not affected). 3) Fixed a bug in Myricom's LRO that might result in an out of order packet being delivered when a TCP connection is closed. Myri10GE 1.5.3p2 Linux (January 23, 2013) ENHANCEMENTS: 1) Firmware version 1.4.55. See ../firmware/CHANGES for details. 2) Better VLAN TSO support on RHEL 5.7 3) New modparam (myri10ge_big_rxring) to load firmware which provides a very large receive ring. 4) Added myri10ge_trader load time parameter which configures for a large receive ring and also receives into skbs rather than pages. Useful for bursty financial trading apps. BUG FIXES: 1) Fixed a bug which could result in a panic when LRO is enabled. 2) Fixed a module load error on RHEL 4. Myri10GE 1.5.3p1 Linux (February 8, 2011) BUG FIXES: 1) Fixed a bug which resulted in a panic when the RPM is loaded with myri10ge_rx_sbks=1 Myri10GE 1.5.3 Linux (January 27, 2011) ENHANCEMENTS: 1) New modparam myri10ge_avoid_hotplug. 2) Support for linux kernel 2.6.38 (tested through rc1). 3) Improved support for parity recovery. BUG FIXES: 1) Avoid panic'ing RHEL5.6 at driver load time when the driver is built from source. (Binary RPMs were unaffected by this). Myri10GE 1.5.2 Linux (November 30, 2010) ENHANCEMENTS: 1) Firmware version 1.4.52. See ../firmware/CHANGES for details. 2) Support for kernels up to 2.6.36 3) Default to using compiled in firmware, but prefer hotplog firmware if it is present. 4) Added alternative LRO implementation that can be used on vlans, and with IPv6. Available via MYRI10GE_PRIV_LRO=1 5) Allow myri10ge to load when NIC is used under kvm pass-thru mode. 6) Added a new option (myri10ge_allow_degraded_pcie) to allow driver to still operate with a degraded PCIe link. 7) Use same PAT index (1) as Nvidia by default. 8) Allow myri10ge to selectively attach to NICs based on MAC address. 9) Support for TSO on VLANs under RHEL 5.5 and later. 10) Work around buggy BIOSes that do not set the PCIe max payload consistently. 11) Use a more effective RSS hash (5) by default. 12) Optional enhanced packet/byte counting statistics available with MYRI10GE_PKTCNT compile time flag. 13) Support for DKMS module build system. 14) Support for RHEL5 kmod module building. 15) It is now possible to choose between receiving into skbs or frags at load time, rather than compile time. 16) Support for ethtool --identify BUG FIXES: 1) Fixed a rare race which could cause a TX queue to become active when the interface is being brought down. 2) Fixed a DCA bug which could lead to hardware faults if DCA is used on a system with an empty CPU socket. 3) Fixed DCA API usage so that DCA is effective on Nehalem based systems. 4) Fixed transmit side hashing of packets when using vlan tags. 5) Fixed a bug which could lead to spurious watchdog resets. Myri10GE 1.5.1 Linux (October 7, 2009) ------------------- ENHANCEMENTS: 1) Firmware version 1.4.45. See ../firmware/CHANGES for details. 2) Support for host driven adaptive interrupt coalescing. 3 Detect and optionally fix inconsistent MSI configuration in some Nvidia chipsets. 4) Improved support for parity recovery. 5) Added module parameter (myri10ge_gro) to control enabling or disabling GRO at driver load time. BUG FIXES: 1) Fixed GRO related compilation issues with RHEL5 kernels. 2) Eliminate a rare null skb dereference in the GRO frags codepath. 3) Worked around panic in -RT kernels caused by using spinlocks to enable PAT. Myri10GE 1.5.0 Linux (June 5, 2009) ------------------- ENHANCEMENTS: 1) Default MTU changed to non-jumbo (1500 bytes). 2) Added a new compile time flag (MYRI10GE_JUMBO) to enable a default jumbo MTU at compile time. 3) Firmware version 1.4.43. See ../firmware/CHANGES for details. 4) Added the ability to specify the firmware image to load on a per-NIC basis using the myri10ge_fw_names module parameter. 5) Added ability to enable or disable LRO with ethtool. 6) Added support for stateless offloads in combination with vlans. (dependent on kernel version). 7) Improved accuracy of informing user if WC is enabled. 8) Added support for GRO (dependent on kernel version). 9) Added PCI alias information to modinfo output. BUG FIXES: 1) Fixed a compilation problem on RHEL5 Update 3 2) Fixed a bug where ethool -S might report stale packet and byte counters. 3) Fixed a bug where myri10ge_vlan_csum_fixup was not honored for some frames, leading to "hw tcp v4 csum failed" messages when using vlans with LRO on RHEL4 Update 7. 4) Fixed a bug where the transmit ring size was reported incorrectly via ethtool -g. 5) Fixed a bug which could prevent bonding from working in arp monitoring mode when LRO was enabled. 6) Fixed a bug which could lead to a NULL pointer dereference when LRO was enabled on kernel 2.6.17 or older. 7) Fixed compilation problems on ia64. 8) Worked around a rare RHEL5 deadlock caused by updating carrier state from an irq context. Myri10GE 1.4.4 Linux (Jan 9, 2009) ------------------- ENHANCEMENTS: 1) Firmware version 1.4.38. See ../firmware/CHANGES for details. BUG FIXES: 1) Fixed a bug which prevented host packet drops from being reported. Myri10GE 1.4.3 Linux (November 4, 2008) ------------------- ENHANCEMENTS: 1) Removed obsolete myri10ge_wcfifo code and module parameter. 2) Added support for multiple transmit queues on kernel 2.6.27 or newer. 3) Firmware version 1.4.36. See ../firmware/CHANGES for details. BUG FIXES: 1) Fixed a bug which prevented the driver from functioning on 32-bit powerpc machines. Myri10GE 1.4.2 Linux (April 17, 2008) ------------------- ENHANCEMENTS: 1) Added support for Intel DCA (Direct Cache Access). 2) Firmware version 1.4.31. See ../firmware/CHANGES for details. BUG FIXES: 1) Fixed a bug where myri10ge_vlan_csum_fixup was not honored for some frames, leading to "hw tcp v4 csum failed" messages when using vlans with LRO on older kernels. 2) Fixed a compilation problem on ia64. Myri10GE 1.4.1 Linux (Feb 12, 2008) ------------------- ENHANCEMENTS: 1) Generalized the PAT implementation so as to better coexist with other vendors' drivers. 2) Firmware version 1.4.30. See ../firmware/CHANGES for details. BUG FIXES: 1) Fixed an MTRR setup bug introduced in 1.4.0 which caused write combining to always fail to be enabled when PAT setup failed. 2) Fixed compilation problems introduced in 1.4.0. Myri10GE 1.4.0 Linux (Jan 10, 2008) ------------------- ENHANCEMENTS: 1) The driver now uses the inet_lro Linux kernel LRO. 2) Added support for TSO when using TCP over IPv6. 3) Added support for MSI-X interrupts and multiple receive queues. 4) Added support for transmit rate throttling. 5) Added support for Linux kernel 2.6.24 6) Added support for new device id 9. 7) Firmware version 1.4.29. BUG FIXES: 1) Fixed spurious watchdog resets triggered by a non-consuming link partner. 2) Fixed a bug that could prevent the driver from working on MIPS based machines. 3) Fixed unaligned access warnings on sparc64 hosts. Myri10GE 1.3.1 Linux (July 17, 2007) ------------------- ENHANCEMENTS: 1) The driver now automatically selects which firmware image to use, rather than relying on a whitelist of PCIe chipsets. 2) Restored support for receiving into skbufs via the MYRI10GE_RX_SKBS compile-time option. 3) Added make install-only target to simplify installation. 4) Exported tunable settings via ethtool. 5) PAT is used in preference to MTRRs. 6) Ethtool now reports link status. 7) Firmware version 1.4.21. BUG FIXES: 1) Fixed a bug where promiscuous mode settings could be lost across a device reset. 2) Fixed a bug in the LRO code which could result in a null pointer dereference. 3) Fixed a bug where 16MB of kernel memory would be leaked per NIC at module unload time when using PAT. Myri10GE 1.3.0 Linux (April 12, 2007) ------------------- ENHANCEMENTS: 1) Added support for building the firmware into the myri10ge kernel module. 2) Packets constructed by LRO now have their TCP checksums updated, rather than simply verified. 3) Integrated PAT support to automatically enable write combining on x86 and x86_64. 4) Adjusted interrupt coalescing (myri10ge_intr_coal_delay) and write combining fifo (myri10ge_wcfifo) defaults to provide improved performance with 1500 byte MTUs. 5) Firmware version 1.4.14. BUG FIXES: 1) Worked around a bug where broadcast packets would be incorrectly treated as multicast packets and filtered when adopting older firmware. 2) Fixed a bug which could negatively impact communications between hosts with different MTUs when TSO is enabled. 3) Fixed a bug which could lead to incorrect hardware checksums being reported for frames padded with non-zero data when LRO was enabled. 4) Worked around bugs present in kernels older than 2.6.18 which are triggered by receiving non-IP traffic into fragmented skbs. 5) Fixed a bug which could result in memory corruption when our device was configured with an MTU between 5996 and 8044 bytes on a machine using 16KB pages. Myri10GE 1.2.0 Linux (January 10, 2007) ------------------- ENHANCEMENTS: 1) LRO is now supported for 802.1q vlan tagged frames. 2) Support for Linux kernel versions up to 2.6.20. 3) Firmware version 1.4.11. BUG FIXES: 1) Fixed a bug where the watchdog hander could race with the interrupt handler. 2) Fixed a bug where frames received via LRO were not reflected in our interface statistics counters. 3) Fixed a bug where padded frames were treated improperly by the LRO code. 4) Fixed handling of reserved ethernet packets (01:80:c2:00:00:0X) which had been silently dropped. They will now increment the dropped_link_error_or_filtered counter unless the device is in promisc mode, in which case they will be passed up to the driver. 5) Workaround PCIE deadlock for some PM transitions sequence. 6) Firmware ensures -0 is never used in the ipv4 header checksum field (TSO case). Known receivers don't distinguish between +0 and -0, but RFC1624 recommends to be safe. Myri10GE 1.1.0 Linux (September 8, 2006) ------------------- BUG FIXES: 1) Fixed a bug where the watchdog reset handler might be invoked spuriously. 2) Fixed firmware bug where the firmware could send runt frames when TSO is enabled. ENHANCEMENTS: 1) Multicast filtering support. 2) TCP Large Receive Offload support. This support is presently limited to TCP over IPv4, with no VLANs. It is done entirely within the driver. 3) The receive portion of the driver was re-written so as to avoid large physically contiguous skb allocations for jumbo frames by using multiple pages attached to the skb. 4) Firmware version 1.4.6. Myri10GE 1.0.0 Linux (June 8, 2006) ------------------- BUG FIXES: 1) Fixed a bug where ethtool would incorrectly report that transmit checksum offload was disabled, when in fact it was enabled on older 2.6 kernels. ENHANCEMENTS: 1) NAPI receive interrupt support is enabled and no longer optional. 2) Many source code cleanups. 3) Modinfo now reports module parameter information. 4) Firmware version 1.4.3. Myri10GE 0.9.2rc0 Beta (May 31, 2006) ------------------- BUG FIXES: 1) Firmware fixes a PCI-Express send fifo overrun triggered by ethernet interrupt DMAs. This could lead to lockups on Intel E7520 motherboards when the interrupt coalescing timer is set to 1. 2) Fixed a bug in the Solaris driver which could lead to a null pointer dereference when unplumbing the interface under heavy receive load. 3) Fixed a bug in the Solaris driver which could lead to a null pointer dereference when the interface attaches to a busy shared interrupt line. ENHANCEMENTS: 1) Support for MSI interrupts on Solaris. Myri10GE 0.9.1 Beta (May 25, 2006) ------------------- BUG FIXES: 1) Firmware fixes a PCI-Express resending bug that shows up on some E7520 machines 2) Fixed a bug in the Solaris driver which could lead to a null pointer dereference when plumbing the interface if our device is assigned a shared interrupt. ENHANCEMENTS: 1) Doubled transmit performance on CoolThreads-based UltraSparcs by deserializing the Solaris driver's transmit routine. Myri10GE 0.9.0 Beta (April 15, 2006) ------------------- BUG FIXES: 1) Fixed a bug where firmware would drop frames when it ran out of host buffers to DMA them to even when flow control was enabled. ENHANCEMENTS: 1) Power management support added to firmware and Linux driver. 2) Linux driver will attempt to fall back to using the firmware resident in the NIC if hotplug fails to find a firmware image. 3) Linux NAPI support added. 4) Linux driver support for IPv6 checksum offload added. 5) Linux driver now uses a more aggressive watchdog which will catch problems before the kernel's netdev watchdog. 6) Preliminary Linux driver support for parity error recovery added. 7) Firmware version 1.4.0 Myri10GE 0.8.1 Beta (April 6, 2006) ------------------- BUG FIXES: 1) Fixed a bug where interrupt livelock could prematurely trigger the driver's watchdog timer, causing the nic to be needlessly reset on Linux, Solaris, and MacOSX. 2) Fixed a non-compliance with PCI-Express specification, where the link retraining was not being initiated upon REPLAY_NUM Rollover. This fix resolves the hung-network-connections problem observed on Sun T2000 (Ontario) machines. 3) Fixed two bugs in PCI-Express resending code, which show up when it is stressed on Intel 7520 based machine. ENHANCEMENTS: 1) PCI-Express DMA bandwidth is measured and reported in an OS dependent way by the driver. 2) Improved 802.1q VLAN support on Linux. 3) Firmware support for PCI-Express relaxed ordering added to Solaris driver. Myri10GE 0.8.0 Beta (March 29, 2006) ------------------- BUG FIXES: 1) Linux MSI enablement heuristic sometimes gave incorrect results on machines with multiple chipsets. ENHANCEMENTS: 1) TCP Segmentation Offload (also known as Large Send Offload) implemented on Linux and Windows. 2) Interrupt method changed to allow for more events to be processed per interrupt. 3) MacOSX support added. Myri10GE 0.7.2 Beta (March 8, 2006) ------------------- BUG FIXES: 1) Fixed a memory leak which would happen when plumbing and unplumbing the Solaris driver. 2) Fixed a potential double free which could happen in the error path if plumbing the Solaris driver failed. ENHANCEMENTS: 1) Improved receive performance on CoolThreads-based UltraSparc systems by optionally doing receive side scaling in the Solaris driver. 2) Improved transmit performance on CoolThreads based UltraSparc systems by optionally doing transmit complete interrupt processing in a different context, and by copying small packets. 3) Firmware bug fixes and optimizations. Myri10GE 0.7.1 Beta (February 2, 2006) ------------------- BUG FIXES: 1) Fixed erratic TCP receive performance on Linux caused by the driver confusing the kernel algorithm which calculates socket buffer sizes. Myri10GE 0.7.0 Beta (January 25, 2006) ------------------- BUG FIXES: 1) Interrupt handler now issues PIO reads when using xPIC interrupts to ensure interrupt line is low by the time the handler returns. 2) Driver initializes Max Read Request size in PCI config space. 3) Firmware fix for NIC hang under load on machines with Serverworks HT2000 chipset ENHANCEMENTS: 1) Heuristic to decide whether to use MSIs or INTx interrupts on Linux to work around interrupt delivery problems on some chipsets. Myri10GE 0.6.0 Beta (December 23, 2005) ------------------- BUG FIXES: 1) Fix a bug which prevented flow control from being enabled. ENHANCEMENTS: 1) Windows support added 2) Solaris/sparc support added 3) Dropped packet counters exported to driver from NIC 4) Flow control can now be enabled or disabled at driver load time on all platforms, and at runtime on Linux. Myri10GE 0.5.0 Beta (December 8, 2005) ------------------- Initial Release