Solarflare 6.x Linux utilities ============================== Version: 6.5.0.1003 Overview -------- This package is the Solarflare Utilities RPM for Linux. It contains - sfudpate: a flash firmware update utility - sfboot: a boot ROM configuration utility - sfkey: a license management utility for SFN8XXX, SFN7XXX and AOE (SFA6XXX) - sfctool: a utility to configure or display linux driver/hardware parameters This package is supplied as a 32 bit binary RPM and is suitable for both 32bit and 64bit distributions. A separate 64bit package is available for 64bit distributions with no support for 32bit applications. Using the Solarflare Utilities ------------------------------ To update the firmware on your Solarflare adapter 1. Install the binary RPM 2. Run "sfupdate" This will display the versions of the firmware currently installed on your network adapter 3. Run "sfupdate --write" This will update the firmware on your adapter For full details on these utilities and detailed instructions of how to use them see the "Solarflare Server Adapter User's Guide" (SF-103837-CD): - Section "Configuring the Boot ROM with sfboot" - Section "Upgrading Adapter Firmware with sfupdate" Supported hardware platforms ---------------------------- The utilities in this package support the following Solarflare adapters: - Solarflare Server Adapters: - Solarflare SFN8522 Dual Port SFP+ Server Adapter - Solarflare SFN8522M Dual Port SFP+ Server Adapter - Solarflare SFN8042 Dual Port QSFP+ Server Adapter - Solarflare SFN8542 Dual Port QSFP+ Server Adapter - Solarflare SFN8722 Dual Port SFP+ OCP Server Adapter - Solarflare SFN7002F Dual Port SFP+ Server Adapter - Solarflare SFN7004F Quad Port SFP+ Server Adapter - Solarflare SFN7042Q Dual Port QSFP+ Server Adapter - Solarflare SFN7122F Dual Port SFP+ Server Adapter - Solarflare SFN7124F Quad Port SFP+ Server Adapter - Solarflare SFN7142Q Dual Port QSFP+ Server Adapter - Solarflare SFN7322F Precision Time Synchronization Server Adapter - Solarflare Onload Server Adapters: - Solarflare SFN6122F Dual Port SFP+ Server Adapter - Solarflare SFN6322F Precision Time Synchronization Server Adapter - Solarflare SFN6832F SFP+ Mezzanine Adapter - Solarflare SFN5322F Precision Time Synchronization Server Adapter - Solarflare SFN5122F Dual Port SFP+ Server Adapter - Solarflare SFN5121T Dual Port 10GBASE-T Server Adapter - Solarflare SFN5802K Mezzanine Adapter (for HP BladeSystem c-Class) - Solarflare SFN5812H/SFN5814H Mezzanine Adapter (for IBM BladeCenter) - Solarflare Performant Server Adapters: - Solarflare SFN5151T 10GBASE-T Server Adapter - Solarflare SFN5152F SFP+ Server Adapter - Solarflare SFN5161T Dual Port 10GBASE-T Server Adapter - Solarflare SFN5162F Dual Port SFP+ Server Adapter - The following OEM adapters are also supported, but note each OEM may recommend a different driver version to match the version used for testing/qualification: - HP Ethernet 10Gb 570FLB Adapter - HP Ethernet 10Gb 570M Adapter - HP Ethernet 10Gb 572SFP+ Adapter - Lenovo SFN7122F 2x10GbE SFP+ Flareon Ultra Adapter Firmware versions ----------------- The flash firmware update utility (sfupdate) embeds the various firmware images used for the Solarflare adapters. This version of sfupdate contains the following firmware versions: - Controller firmware v6.5.1.1023 (for SFN8xxx adapters) v6.2.7.1000 (for SFN7xxx adapters) v4.7.1.1001 (for HP Ethernet 10Gb 570FLB & 570M Adapters) v3.3.2.1000 (for earlier adapters) - BootROM image v5.0.5.1002 - UEFI driver v2.4.4.8 - Board support micro firmware v1.1.2.1004 (for SFN8722, SFN8522M and SFN8042 adapters) - Firmware family v6.5.1.1023 Support ------- Please contact your local Solarflare support representative or email . Known Limitations ----------------- - When entering the Ctrl+B menu you may only see adapters listed that are from the same family, i.e. SFN5XXX/6XXX => you may not see SFN7XXX adapters listed. SFN7XXX => you may not see SFN5XXX/6XXX adapters listed. The workaround is to press Ctrl+B at the appropriate Solarflare banner that matches the adapter you wish to configure. Alternatively, Solarflare utilities packages are available that enable all adapters present to be configured from within an OS. - When increasing pf-count, MAC addresses that were on one physical port are not guaranteed to be on the same physical port after the reconfiguration and reboot. Known Issues ------------ Issue 51076: ~ Affects SR-IOV and NIC partitioning mode where PCI functions are configured to use VLANs. If ethtool is used to install a drop filter on a PCI function configured with a hardware VLAN, the inserted filter will also consume untagged traffic that otherwise matches the requested filter. Issue 48157: ~ If PXE booting is enabled and a large number of PFs (e.g. 16) are configured, some systems will refuse to boot from the hard drive. This is believed to be a BIOS limitation where the BIOS does not have enough space to register all 16 PFs and the hard drive as boot devices. Changelog (Controller firmware) ------------------------------- ### v6.5.1.1023 -- 8xxx Series Feature release Features: ~ First GA support for Solarflare SFN8522M SFP+ and SFN8042 QSFP+ Server Adapters. Issue 74899: ~ Fix issue that can cause the host network driver to fail to load if a previously loaded driver does not free the adapter resources correctly. Issue 74365: ~ SFN8722. Improve reliability of reading SFP cage information. Issue 73751: ~ Fix issue that can cause a firmware crash if the Host network driver attempts to allocate more Virtual Interfaces than the PCI Function can support. Issue 73616: ~ SFN8522 & SFN8722. Fix interop issue that could cause the firmware to return a partial record of an SFP Module's data if the module data was corrupt or incomplete. Issue 73292: ~ SFN8542. Fix interop issue with JDSU JQP-04SWAA1 that can cause a link failure after the Adapter is rebooted. Issue 72956: ~ PTP. Fix issue that causes intermittent inaccurate measurements in the dataset used to calculate the difference between the Adapter and Host clocks. Issue 72887: ~ SLES11. Fix interop issue with MTD Block Device that can cause firmware updates to fail with error ENXIO on SLES11 distributions. Issue 72477: ~ SFN8722. Initialize NC-SI correctly when operating in lights out mode. Issue 72293: ~ Fix a problem whereby the global promiscuous or all-multicast filters may stop matching any traffic following a filter removal under obscure circumstances, which can only be encountered after a minimum of 6 simultaneous subscriptions to the same filter followed by a particular pattern of other removals. MAC, IP, and VLAN-qualified promiscuous or all-multicast filters are never affected by this issue. Issue 72205: ~ SFN8522. Fix issue that causes the Adapter current consumption to be incorrectly reported as a saturated value when the Adapter is heavily loaded or in a hot environment. Issue 64832: ~ Fix issue that could cause flash reads to return corrupted data if VPD is being accessed. This may cause SFBOOT to fail if run in parallel with other utilities. ### v6.4.2.1020 -- 8xxx Series Feature release Features: ~ First GA support for SFN8722 Dual Port SFP+ OCP Server Adapters Issue 71689/71299: ~ 8xxx Series. Fixes issue that can cause the adapter to fail to wakeup when the host wakes up from hibernation following certain sequences of power-on/ PCI reset. Issue 70304: ~ 8xxx Series, VFIFO Stuffing. Fix an issue that can lead to packet loss where VFIFO stuffing is used in combination with normal packet transmission. Issue 69795/69771/69679: ~ 8xxx Series, Ultra Low Latency Firmware. Fix issue that can cause packet loss when sending high volumes of traffic using jumbo frames. Issue 69183: ~ 8xxx Series, Ultra Low Latency Firmware. Fix issue that can cause packet loss and the datapath to become unresponsive when sending high volumes of traffic. Issue 66007: ~ SFN8542 Link. Improvements to Variable Gain Amplifier algorithm to improve interoperability with cables, switches and optical modules. Issue 63090: ~ 8xxx Series Link. Improve link detection algorithm. Issue 60654: ~ 8xxx Series. Packed Stream Firmware. Do not count forced replay-drops in statistics. ### v6.2.7.1000 -- 7xxx Update Release Issue 63173/72914: ~ 7xxx Series. TCP Segmentation Offload (TSO). Fix issue that can cause a transmit queue lockup when 32 or more transmit queues are used and queue 31 has TSO traffic on it. ### v6.2.5.1000 -- Update release Issue 65074 ~ SFN8000 series adapters. Fix issue that causes the rx_nodesc_drop_cnt statistic to be reported as 0 on the second and fourth (if present) network ports ### v6.2.3.1000 -- Update release Features: - Update SFN7000 series adapters to latest v6.2.1 firmware, prior releases used v4.7.1.1000. Issue 68053: ~ 8xxx: Adjust PCIe amplitudes to provide wider system interoperability. Issue 67005: ~ Pause briefly before attempting to re-establish a link, thereby avoiding link-flapping in some situations. Issue 66859: ~ Gracefully handle PCIe link down whilst the adapter is awaiting a DMAR completion. Issue 65206: ~ Improve interoperability with FiberStore SFP+ DAC cables. Issue 65002: ~ 7142: Uncalibrated sensors should report 'no reading' instead of 'broken'. Issue 64117 / 64155 / 67412 / 67476 / 67650: ~ Significant improvements to PCIe reset handling. Issue 46537: ~ Provide support for changing statistics sampling frequency in Linux with 'ethtool -C stats-block-usecs'. Issue 66809: ~ 8xxx: Improvements to ECC handling. Issue 65930: ~ Make enhanced TSO functionality more robust against malformed PIO descriptors. Issue 64782: ~ Prevent potential adapter freezes when using TCPDirect with the 'alternatives' interface. Issue 64350 / 64906 / 66007: ~ 8xxx: Improvements to SFP+ and QSFP+ link receive-side tuning. ### v6.2.0.1016 -- Feature release First GA support for SFN8542 adapters (using SFC92XX family silicon). This release also adds improved reporting of licenses via VPD and beta support for stateless checksum offloads for NVGRE, VXLAN and GENEVE tunnels. Issue 64475 / SF-116882-KI: ~ TCP Segmentation Offset (TSO). When using TSO or Large Send Offload (LSO) on SFN8000 series adapters there is the potential for data to be corrupted, truncated or extended. This issue will not be detected by the Ethernet, IPv4 or TCP checksums, and corrupted data may be received by the host application. This corruption has been observed in situations where the host is unable to keep pace with the adapter when providing payload blocks from memory. This is more likely when the TSO frame (provided by the kernel TCPIP stack to transmit) comes from a large number of fragments, or when a smaller TCP MSS was negotiated during TCP handshake. The issue was discovered during Windows-based testing and has been tracked to an underlying problem with SFN8000 series firmware (versions 6.1.0.1014 and 6.0.2.1004). Linux platforms are unlikely to experience this issue (Solarflare have so far failed to reproduce this on Linux) due to the differences in the Linux kernel TCP/IP implementation of TSO. Onload accelerated traffic will not be affected by this issue as it does not make use of firmware-assisted TSO. Issue 63955: ~ VFIFO Stuffing. Fix issue that can potentially cause a packet or some non-packet data to be unintentionally transmitted if the the VFIFO configuration is modified while processing a link up/down event. Issue 63794: ~ Packed Stream Firmware Variant. Ensure that a larger default RX event merge timeout is selected when using Packed Stream firmware variant. Issue 64400: ~ Firmware authentication. Fix issue with firmware authentication that can cause the firmware to occasionally fail authentication of the firmware image or firmware configuration. The symptoms of this can be the firmware fails to boot or that the configuration is discarded which may result in the driver being unable to load or unable to pxe boot. Issue 63759: ~ VFIFO Stuffing. Fix issue that can potentially cause a packet that has been primed for transmission to be unintentionally transmitted if the VFIFO selection is changed whilst a packet is being DMAed into the adapter. Issue 63755: ~ Fix issue that can cause the adapter to be left in a bad state following an impolite reboot of the host e.g. using a system request trigger. The symptoms are that the adapter resource manager is left in a bad state and host driver is unable to install filters and pass traffic. Issue 63291: ~ TCP Segmentation Offload (TSO). Fix issue that can occur if the host requests an invalid MSS that is larger than the maximum supported by the transmit datapath. If this issue occurs, it can cause the transmit data path to lockup and require a reboot to recover. Issue 63263: ~ PCIe Interface. Fix issue introduced in v6.1.0.1014 that can cause the adapter to fail to enumerate over PCIe. The issue is timing dependent and is limited to certain host systems. Issue 63197: ~ Ultra-Low Latency Firmware Variant. Fix issue that did not allow RX event merging to be used when in Ultra-Low Latency firmware variant. ### v6.1.0.1014 -- Update release Issue 62858: ~ Fix issue where the host may be unable to allocate a transmit queue after reconfiguring the adapter port mode or firmware variant. Issue 62851: ~ SFP+. Fix issue that causes some SFP+ Modules, for example 1GBase-T modules, not to be detected by the adapter. Issue 62814/62796: ~ Fix issue that can cause firmware to not send a notification to the driver when it restarts if traffic is flowing. The symptom of this is that after the adapter is restarted, if the issue occurs the driver will detect a problem and not create interfaces for the adapter PCI functions. ### v6.0.2.1004 -- Feature release First GA support for SFN8522 adapters (using SFC92XX family silicon). ### v4.7.1.1001 -- Update Release Issue 59083: ~ 7-Series Adapters. Increase warn threshold of regulator die temperature sensor. Issue 58866: ~ 7-Series Adapters. Increase warn and fatal thresholds of 0v9 regulator inductor temperature sensor. Issue 52013: ~ Latency. Fix slight latency regression in v4.7.0.1019 firmware that affects packets when the receive data path is operating in store-and-forward mode. ### v4.7.0.1019 -- Feature Release This feature release adds support for SR-IOV on VMware ESXi 5.5 and 6.0. This support requires host net driver version v4.7.0.1029 or later. New Features: ~ Transmit security. Allow outgoing traffic to be filtered against source MAC address of each packet to ensure that PCI Functions may only transmit packets that match the Function's MAC address. ~ Allow a PCI Physical Function to access the statistics of the Virtual Functions that belong to it. ~ Support multiple subscribers to the unicast mismatch filter to improve virtualization support. ~ Privileges. Changes to default privileges to provide promiscuous and change MAC privileges by default. This allows bonding to be used without requiring additional configuration with sfboot to enable insecure-filters. ~ Receive Data Path. Configurable event merging timeout and support to allow receive queues to be configured for store-and-forward-only operation. Issue 58407: ~ OpenOnload. Fix issue that can cause received TCP packets to be delivered to the wrong recipient i.e the host net driver rather than OpenOnload. The problem can occur after specific combinations of filter operations and results in the packet being matched against the MAC filter used by the host net driver rather than a specific IP filter used by OpenOnload. Issue 56742: ~ PTP. Improve PTP statistics counters such that separate counters of transmitted PTP packets are maintained for each network port. Issue 56591 & 56298: ~ SR-IOV with Multicast. Fix issue that can cause missing deliveries of VLAN-tagged multicast traffic where there are multiple recipients. This is most likely to be observed in an virtualized environment where OpenOnload is used and VLAN-tagged multicast traffic is being received by more than one recipient. A consequence of this issue is that a firmware assertion and reboot can occur when the affected filter is removed. Issue 54253: ~ Receive Filters. Relax security restrictions for insertion of filters specifying all ethernet packets containing IP packets with a specific IP protocol number (i.e. not a specific IP source/destination address filter) to allow any PCI Function to use this filter type. Issue 53701: ~ OpenOnloading & Bonded Interfaces. Relax restrictions to allow the host to change a PCI Function's MAC address when there are queues allocated and/or filters installed. Issue 50947 ~ SFN7042Q & SFN7004F. Fix issue where some of the PCI Functions can sometimes fail to notify the associated host driver that the adapter has been rebooted. Issue 49819 ~ RHEL7 with UEFI Bootrom. Provide firmware support to fix issue that can cause the in-distro host net driver to fail to load after a warm reboot where the UEFI driver is enabled. Note that this change provides firmware support for the fix but a driver fix is also required. Issue 46197 ~ Packed-Stream Firmware Variant. Allow 4096 length receive queues to be used for non-packed-stream VIs when the adapter is configured to use the Packed- Stream firmware variant. Previously this was limited to 2048. ### v4.6.5.1002 -- Update Release Issue 55697: ~ Manufacturing Test. Improve robustness of firmware logging during manufacturing testing. Issue 55270: ~ SR-IOV / Software VLANs on SFN7x42Q adapters. Fix issue that can cause VLAN tagged traffic transmitted by the host via an unprivileged PCI Function to be dropped. ### v4.6.3.1001 -- Update Release Issue 55248 ~ SR-IOV / Software VLANs. Fix issue that can cause VLAN-tagged packets received from the network to have the VLAN tag incorrectly stripped before the packet is delivered to the host. Issue 55270: ~ SR-IOV / Software VLANs. Fix issue that can cause VLAN tagged traffic transmitted by the host via an unprivileged PCI Function to be dropped. ### v4.6.2.1000 -- Update Release Issue 54780 ~ SR-IOV / Hardware Loopback. Fix issue that can cause traffic directed to the hardware loopback path to be dropped when the adapter is configured in 2 port mode on SFN7x42Q/SFN7xx4F and 1 port mode on SFN7xx2F. ### v4.6.1.1001 -- Feature Release This release adds support for new Port Modes in order to give increased performance in specific scenarios and also improves the performance of the existing 2x40G port mode on SFN7x42Q adapters. The new port modes half the number of active ports allowing more adapter resources to be dedicated to the ports in use. For example, with a SFN7x42Q adapter in 2x40G mode, this allows improved transmit throughput and more resilience to periods of reduced PCIe bandwidth on the receive path. The new port modes have the following features: ~ SFN7xx2F supports new port mode 1x10G ~ SFN7x42Q & SFN7xx4F supports new port mode 2x10G ~ A pair for transmit engines are used for each active port ~ The receive buffering for each active port is doubled. ~ The size of the transmit and receive descriptor caches are doubled The firmware release also includes improved use of internal buffers. When the adapter is operating in the low-latency or packed-stream firmware variant, the receive buffering is increased by reallocating buffers reserved for the hardware loopback path to the receive datapath. New Features: ~ SFN7xx4F: This release adds support for the quad SFP+ adapters SFN7124F and SFN7004F. ~ SR-IOV Transmit security: Allow outgoing traffic to be filtered against source MAC address of each packet to ensure that Functions may only transmit packets that match the Function MAC address. ~ RSS: New RSS hash modes to allow hashing on source IP and port only and destination IP and port only. Issue 53547 ~ PCIe: Fix issue observed with host systems using PLX PCIe chipsets (for example Dell FC630). The issue can cause the PCIe link to fail to train after a warm reboot. Issue 51231 ~ Packet Memory: Improve packet memory usage. Allocate packet memory buffers according to the selected firmware variant and number of ports configured to provide more buffering when in low-latency/packed-stream firmware and when operating in 2x 40G mode on a SFN7x42Q adapter. Issue 47653 ~ HP570M/HP570FLB: Fix issue with Smash/CLP firmware support that was incompatible with SR-IOV functionality. Issue 45373 ~ HP570FLB: Fix issue where polarity of the Network link and activity GPIO outputs was inverted. Issue 33740: SF-114681-KI ~ Fix issue with adapter hardware loopback management that can prevent the host driver from unloading cleanly. ### v4.5.0.1007 -- Feature Release This release adds support for filtering against IP protocol and Ethertype and adds OCSD support for HP Branded 7xxx adapters. Issue 50829 ~ Filter engine: Fix issue that can cause rejection of a Multicast filter insertion where an explicit loopback is requested. Issue 45449 ~ Advertise asymmetric pause on SFP+ Issue 52806 ~ Expansion ROM: Increased PCIe Expansion ROM BAR size to accommodate larger combined option ROM / UEFI driver. Issue 48989: SF-114680-KI ~ Filter engine: fix issue that can cause filter look ups to slow down after a large number of filter insertions and removals. Issue 45449 ~ Advertise asymmetric pause on SFP+ ### v4.4.2.1011 -- Feature Release This releases adds support for NIC partitioning with VLANs as part of the SR-IOV functionality and also includes support for SR-IOV Proxied Network Access Control. New features: ~ SR-IOV: Support to proxy MCDI requests to the host driver using a privileged PCI function. Provides a mechanism to allow the host driver to configure and deconfigure proxying on a selected set of MCDI requests. On receipt of a proxied request the driver can either authorize, decline or complete the request on behalf of the requesting PCI function. ~ SR-IOV: Support cascaded multicast filter support. Allows all recipients to receive multicast traffic regardless of the filter type used (multicast-all, mac-multicast, ip-multicast). For example, previously, subscribers to a MAC multicast filter would not receive traffic if there was also an equivalent IP multicast filter installed. This previously restricted how OpenOnload could be used in a virtualization environment. ~ SR-IOV: Add support for OpenOnload secure filters for multi-function/ virtualization environments. Allows IP filters to be qualified with the MAC address of the associated PCI function. ~ SR-IOV: Additional privilege groups to allow more fine-grained control of filter insertion privileges. New privilege groups for different types of traffic (unicast, multicast, broadcast, multicast-all, promiscuous) and a new group mac-spoofing (previously provide via the insecure-filters privilege group. ~ Full support for QSA adapters Issue 50651 ~ Increase TX amplitude when extra de-emphasis is applied for longer SFP+/QSFP+ cable lengths. Issue 49975 ~ Reduce number of stat counters in ultra-low latency firmware variant to guarantee any packet drops are counted at all packet rates. Issue 48989 ~ Reconfiguration of the receive datapath packet memory while traffic is passing can cause a resource leakage of packet memory buffers which can eventually lead to the receive datapath failing. Avoid reconfiguring the receive datapath packet memory when not necessary. Issue 48460 ~ 1GBase-X: Allow the user to control Auto-Negotiation via ethtool to allow 1G taps to be used where only the RX is connected. Issue 47489 ~ PTP: Fix compatibility issue with recent drivers that causes the clock step code to apply an offset of zero ns each time that the clock frequency is adjusted. Issue 46991 ~ SFN7142Q: Fix issue that can cause the datapath of the slave core to fail to initialise correctly when the adapter is rebooted while traffic is passing. Issue 45987 ~ Fix issue in power supply sensor configuration that can cause CRCs on network ports on certain switch/cable combinations (e.g. IBM G8264). ### v4.2.2.1003 -- Update Release New features: ~ Support configurable buffer size for the packed stream firmware variant Issue 48380 ~ HP570M/HP570FLB: Increase warning and fatal thresholds of inlet sensors Issue 47914 ~ Adjust TX de-emphasis based on cable length for SFP+/QSFP+. Disable DFE when using optical modules. Issue 46422 ~ Reduce number of stat counters in packed stream firmware variant to guarantee any packet drops are counted at all packet rates. ### v4.2.1.1014 -- Feature Release Solarflare firmware GA feature release including support for SR-IOV on 7xxx network adapaters. New features: ~ Support for up to 16 Physical and 240 Virtual PCIe Functions ~ Switching of traffic between PCIe Functions ~ Security groups to control behaviour of PCIe Functions given to untrusted guest VMs ~ Experimental support for QSA adapters Issue 47547 ~ SFN7xxx: Fix issue that can cause the adapter to fail to detect link up when a SFP+/QSFP+ module is inserted. Issue 46148 ~ SFN7xx2F: Fixed issue with some dual speed SFP+ modules that can cause the adapter to fail to get link at 1000Mbps Issue 45214 ~ SFN7x42Q: Disable DFE for optical modules to improve interoperability ### v4.1.1.1023 -- Feature release SolarCapture ~ add packed-stream firmware variant for line rate 10G capture Issue 43837 ~ 7xxx: Packed stream support Issue 45687 ~ 7xxx: SolarCapture support for tx and rx monitoring ### v4.1.1.1022 -- Update release SFN7142Q Dual Port QSFP+ Adapter: ~ autoneg and link training support for 40G links ~ number of robustness improvments SR-IOV ~ adds link handling and security checks Issue 44219, 44677 ~ 7142: Optimise extended PCIe tags for performance at different GENx link speeds Issue 44492, 44496 ~ 7142: Select voltage optimised per-die to reduce power consumption Issue 44336 ~ 7xxx: Isolate I2C communication with QSFP cables Issue 41656 ~ 7142: Support PXE boot over 4x10G Issue 44828, 45425, 45214 ~ 7142: Support autoneg and link training on 40G QSFP+ Issue 43353 ~ 7142: Slave core sensor reading enabled Issue 45115 ~ 7142Q: Advertise support for asymmetric link pause Issue 43812 ~ 7xxx: Improve temperature measurement precision Issue 44250, 45174 ~ 7xxx: Support function privileges with SR-IOV Issue 44676 ~ 7xxx: Update link state reporting on VFs Issue 44583 ~ 7xxx: Add filter security for SR-IOV ### v4.1.0.6742 -- Feature release SFN7142Q Dual Port QSFP+ Adapter: ~ first release to manufacture Issue 44336 ~ 7xxx: Improve I2C robustness issue seen with some QSFP+ cables Issue 41750 ~ 7142: Advertise that test interrupt is not supported on dual-core NICs Issue 43100 ~ 7xxx: Update current limits for different adapters Issue 44219/34887 ~ 7142: Optimise PCIe transport for dual-core adapter ### v4.1.0.6737 -- Update release Issue 43812 ~ 7xxx: Improve die temperature sensor computations and adjust thresholds Issue 42382 ~ 7xxx: Fix issue when packet sniffing on second port with an even-numbered RSS context Issue 43867 ~ 7xxx: Fix VLAN filtering support with non-zero priority bits Issue 43717 ~ 7xxx: Update licensing support for SCP PTP and Performance Monitor Issue 41155 ~ 7xxx: Ensure undersized packets reported in rx_lt64 Issue 43493 ~ 7xxx: Mark RX time-stamps as invalid if packets originate from the TX loopback path Issue 42348 ~ 7xxx: Fix PCIe enumeration on certain Intel Gen2 desktop motherboards (improved #PERST handling) Issue 38381 ~ 7xxx: Disable unnecessary packet memory back-pressure to avoid a TX loopback corner case Issue 43089 ~ 7xxx: Support 10G on QSFP+ cables that do NOT advertise the capability Issue 43109 ~ 7xxx: Fix vadapter reference count leak when a PCI function is reset (MCDI or FLR) with filters installed Issue 42759 ~ 7xxx: Identify no-desc drops and queue-disabled drops separately Issue 42865 42825 ~ 7xxx: Improve KR link training algorithm Issue 40022 ~ 7xxx: Remove second/unused die temperature (internal ADC) sensor Issue 42146 ~ 7xxx: Add vadapter statistics Issue 42705/43446 ~ 7xxx: Improve TX event moderation/batching performance ### v4.0.6.6689 -- Update release Issue 42321 ~ 7xxx: PTP. Fix issue that can cause firmware watchdog to expire while host compares system and NIC clocks. Issue 41445 ~ 7xxx: TX packet sniffing added for SolarCapture Pro Issue 40621 ~ 7xxx: Multicast TX loopback implemented Issue 41418 ~ 7xxx: Update reporting of PM discard stats Issue 37075 ~ 7xxx: MAC stats (incl loopback) reported per vadapter Issue 41673 ~ 7xxx: Update link fault reporting ### v4.0.1.6625 -- Update release Issue 37507 ~ 7xxx: PTP. MC correct cycle count for older kernels Issue 40345 ~ 7xxx: Fix rare TX data corruption only seen in Full Featured firmware using TX push under heavy load ### v4.0.1.6624 -- Feature release Support for PTP and SolarCapture Pro for SFN7xxx family adapters ~ RX time-stamping of all packets ~ PTP support (including PPS support) ~ SolarCapture Pro support for packet sniffing per port Issue 40523 ~ 7xxx: Increase the filter table lookup hops to 200 as per Siena Issue 39244 ~ 7xxx: Resolve PCIe Gen3 enumeration problems in certain servers Issue 40702 ~ 7xxx: Support optical module DDM and improve Tx_Fault/Rx_LOS support ### v4.0.0.6602 -- Update release Issues 40064, 37462 ~ 7xxx: Resolve rare RX data path lockup seen when using packet replication Issue 40012 ~ 7xxx: Increase RX descriptor cache size from 16 to 32 entries Issue 39531 ~ 7xxx: Enable TX batching with RX cut-through for increased throughput Issue 40227 ~ 7xxx: Handle licenses on OEM branded adapters Issue 39951 ~ 7xxx: Update PCIe ASPM L0s latency for improved machine compatibility ### v4.0.0.6585 -- Feature release First GA support for SFN7XXX family adapters (using SFC91XX family silicon) changes/fixes since v4.0.0.6572 include ~ improved PCIe robustness ~ improved controller reset behaviour ~ improved 1G module robustness ~ additional stats exposed to driver ~ fixed flow control handling ~ free PIO buffers on server reboot ~ fix LED behaviour ~ avoid incorrect thermal shutdown from internal ADC readings ### v3.3.2.1000 -- Update release Issue 37248 ~ PTP. Fix issue where PTP packets are not timestamped when a 802.1q (VLAN) header is present and the Priority Code Point (PCP) or Drop Eligible Indicator (DEI) values are non-zero. ### v3.3.1.1003 -- Update release Issue 48949: ~ Expansion ROM: Increased PCIe Expansion ROM BAR size to accommodate larger combined option ROM / UEFI driver. ### v3.3.0.6298 -- Update release AOE: ~ Limit loopback modes when no MACs present in AOE Issue 36707 ~ Don't send event on heatsink connection failure as found to be unreliable in certain customer environments. This change has no impact on the temperature sensor used for informing users of thermal events. Issue 36708 ~ Don't reduce voltage for 0m SFP+ cables as some SFP+ cables misreport the 0m length. ### v3.3.0.6275 -- Update release AOE: ~ Implement retrieval of DDR information ~ Reduce frequencies of unused clock synthesiser outputs to reduce power. ~ Fix race on FC timer completion notification Issue 35025 ~ Improve FC start detection Issue 35344 ~ Make HP OCSD persist across MC reboots; which includes sfupdate upgrading the controller firmware. Issue 33564 ~ reduce process stack allocation to free DMEM ### v3.3.0.6269 -- Update release AOE: ~ Enhanced DRAM support ~ Utilize FC capabilities during startup configuration ~ Send event to AOE driver when byteblaster is connected/removed SFN6822F HP ALOM: ~ Complete board support including Option Card Sensor Data (OCSD) ~ Change signaling of "more air" and "over temperature" to HP ALOM CPLD Issue 35200/33897 ~ Lower thermal shutdown to 75C on SFN6xxx boards, increase warning to 65C on branded boards Issue 34152 ~ Temperature warning limit on 10GBASE-T boards returned to 75C Issue 32054 ~ Increase robustness of interoperability with 1G Arista modules by limiting PHY register writes. ### v3.3.0.6259 -- Limited Release AOE: ~ Provide full statistics retrieval from firmware ~ Added ability for FC to boot from flash ~ Enhanced logging using fc_log partition on FPGA flash ~ Added support for DRAM ~ Allow for different serial number formats in VPD data ~ Allow configuration of different MTU sizes on internal/external ports SFN6822F HP ALOM: ~ Early board support Issue 33788 ~ AOE: Ensure link marked up when running "PHY" loopbacks Issue 34423 ~ AOE: Power and voltages not updated after reading DDR voltages Issue 34437 ~ AOE: Increase time between I2C transactions to accommodate ZL2105 Issue 33635 ~ PTP: Fix timestamp inaccuracies seen under heavy transmit load. Fix involves transmitting larger PTP packets with improved timestamp correction. Improved timestamp correction at 1G Issue 24299 ~ PTP: Allow PTP to recover following a PTP packet storm Issue 34625 ~ PTP: Avoid potential race condition when enabling PTP interrupts Issue 34152 ~ SFN5xxx: Set temperature warning limit to 65C Issue 32054 ~ Ensure correct operation with Arista SFP-1G-T modules Issue 34539 ~ Detect and compensate for initial failures when accessing I2C devices ### v3.3.0.6247 Support for Enhanced PTP daemon, including: ~ Filtering changes for VLANs, PTP domain numbers, clock ids and multicast unicast packets. ~ Separate interfaces to apply a clock offset and adjust the clock frequency ~ Independent PTP packet time-stamping and NIC clock service ~ Event generation on PPS edge Early support for AOE SFA6902F boards Issue 33279 ~ PTP: improve calibration of TX/RX time-stamps to compensate for firmware/MAC/PCS latencies Issue 33070 ~ PTP: improve UUID filtering in timestamp events ### v3.2.2.6124 -- Update release Issue 31180/32274 ~ Fix incorrect detection of VCAL failure ### v3.2.1.6122 -- Update release Issue 32243 ~ R7: Centre around target voltage rather than truncating Issue 32242 ~ R7: Improve analogue voltage tolerance to 1% Issue 31935 ~ Fix MCDI headers with correct maximum message sizes Issue 31414 ~ R7: Pulse TX_DISABLE to clear fault condition seen on some SFP+ modules Issue 30428 ~ R7: Prevent possible lockup when rebooting after firmware update, (hold I2C mutex before rebooting) Issue 31180/31716 ~ Fix some rare SFP+ link up issues: retry VCAL calibration on failure. On consistent failure put back previous VCAL value and send error event to driver Issue 31054 ~ R7: Support non-default power-on voltages Issue 31180 ~ R7: Fix over temperature "warning" sent to driver to report "warning" not "error" ### v3.2.1.6100 -- Update release Issue 24511 ~ SFN581xH: Remove incorrect assertion Issue 30122 ~ SFN6x22F: Lower warning temperature limit to 60C ### v3.2.1.6094 -- Update release First release of support for SFN6832F ### v3.2.1.6089 -- Update release First release of support for SFN6322F Issue 28149 ~ SFN6322F/5322F: Fix rare race handling PPS input ### v3.2.0.6071 -- Update release First release of support for SFN6122F Add SR-IOV support on the "Performant Server Adapter" family ### v3.2.0.6039 First release of support for SFN5322F ### v3.1.0.4081 -- Update release Issue 25897 ~ SFN581xH: I2C bus changes for VPD EEPROM Issue 25775 ~ SFN581xH: Implement low-power and TX-disable modes Issue 24249 ~ SFN5802K: Use PHY hard reset Issue 22556 ~ Request only one MSI message to workaround MacOS X issues Issue 24502 ~ SR-IOV: FLR fixes Issue 23820 ~ SR-IOV: completely disable on Midrange adapters Issue 23789 ~ SR-IOV: set TOTAL_VFS=0 when sriov=disabled ### v3.1.0.4042 First release of 3.1 firmware (adds SR-IOV) ### v3.0.10.2236 -- Update release Issue 21752 ~ SFN5802K: Early adapter support Issue 22091 ~ 1G MAC stats - avoid counting false FCS ### v3.0.8.2230 -- Limited release (for SFN5121T) Issue 21908 ~ SFN5121T - Enable parallel detection (for 100Mbps) ### v3.0.8.2216 -- Update release Issue 21241 ~ MAC stats - delta sw counters were reset on driver stats clear Issue 21097 ~ SFN5121T - expose valid MMD mask for NET driver MDIO access Issue 20918 ~ SFN5121T - support forced 100Mbps mode Issue 20917 ~ SFN5121T - advertise as "multiport" device when at 1Gbps Issue 20871 ~ 1G MAC stats - fix race issues reading hardware counters Issue 20771 ~ Hide NVRAM partitions for port 1 on a single-port board Issue 20688 ~ Reduce PCIe VFBAR aperture usage (VFBARs 64bits, VBAR0 8k) ### v3.0.6.2203 -- Update release -- adds support for Midrange adapters Issue 19906 ~ MAC stats - fix pause packet reporting errors Issue 20032 ~ SFN5121T - SGMII link checks in loopback (manftest) Issue 20227 ~ Midrange adapter support ### v3.0.5.2181 -- Update release Issue 20071 ~ SFN5121T - fix occasional 1G XAUI link up issue Issue 20032 ~ SFN5121T - manufacturing fixes for 1G ### v3.0.5.2176 -- Update release Issue 18928 ~ SFN5121T - LED fixes: LED ID, enable "enterprise mode" Issue 19641 ~ SFN5121T - 1G, resync XAUI SD in the event SGMII fails to come up Issue 17167 ~ MAC stats - fix issue where rx_bad_pkts could be seen to go backwards Issue 19775 ~ SFN5121T - 1G, fix MAC/BPX loopback modes Issue 19768 ~ SFN5121T - add 1G to loopbacks Issue 19584 ~ SFN5121T - LED ID fix ### v3.0.3.2147 -- Update release - adds early support for SFN5121T Issue 19292 ~ Remove PAUSE_ASYM from the default advertised capabilities Issue 19154 ~ Ensure driver load resets PHY advertised link speeds Issue 19227 ~ PCI enumeration fix seen in Dell PowerEdge R210 Issue 17867 ~ Improve PCIe FLR timing Issue 17572 ~ Allow BootROM to stay in real-mode duing init Issue 18593 ~ Reset SPI Muxes on a watchdog timeout Issue 18517 ~ SFN5122F - Support 10G and 1G with dual speed modules Issue 17931 ~ Fix expansion bar interop issues Issue 17555 ~ Ensure BPX stats update is safe during BPX reconfiguration Issue 17559 ~ Fix possible corruption of PCIe Device Serial Number on port 1 FLR Issue 18710 ~ Lock PERST monitor to avoid a race condition. Issue 18521 ~ PCIe enumeration failures (restrict PDMA processing to 50us bursts) v3.0.2.2117 -- Initial release Changelog (BootROM) ------------------- ### v5.0.5.1002 Issue 73308: ~ Fix boot of network boot programs with a .com extension. Accept only ".cbt" as an extension for COMBOOT images. Issue 72379: ~ Fix DMTF CLP call from the BIOS, and give a better error message for an invalid netport ~ Fix bus count for PCI version 3. ### v5.0.4.1000 No changes other than version number. ### v5.0.3.1002 -- Update release Issue 69218: ~ Ignore boot type iSCSI. Issue 66773: ~ Avoid link flapping when terminating. Issue 67463: ~ Do not show the "waiting for link up" message if the link is already up. ### v5.0.2.1000 -- Update release Incorporated UEFI driver v2.4.2.4. ### v5.0.0.1002 -- Update release Issue 63785: ~ Several UNDI call improvements. Issue 67842: ~ Support chainloading of the Windows 2012-R2 installer. Issue 60137: ~ Propagate an error if we cannot turn on the PHY. ### v5.0.0.1000 -- Update release Issue 65185: ~ Avoid "No space left on device" on SFN7XXX|SFN8XXX caused by bad configuration at manufacturing time. Note there are no other bad effects. ~ See Solarflare known issue SF-116998-KI for further details. Issue 63328: ~ Show an error dialog when the dynamic config cannot be saved. Issue 65108: ~ [ctrl-b] Remove iSCSI support. Issue 59966#1: ~ Increase ARP cache to 200 entries. ~ Reserve entries in the ARP cache for DHCP. ~ This should help in situations where the bootrom is having to send packets to a number of destinations e.g. answering ping requests. Issue 59966#2: ~ Enable RX MAC filtering. ~ More efficiently drop packets that are not destined for this ethernet station. Previously these packets were passed to the gPXE TCP/IP stack and could potentially cause packet drops if there was a backlog. ### v4.6.0.1003 No changes other than version number. ### v4.6.0.1001 -- Update release General changes: ~ Enable HTTP support. Issue 60455: ~ Show improved error message in response to a TFTP_ERROR packet. Issue 63328: ~ Avoid sfboot error when Ctrl+B menu used to remove a VLAN. Issue 63644: ~ Fix issue with asynchronous UNDI calls. This caused issues when chain-loading (e.g. using ipxe as undionly.kpxe) and could cause network transfers to stop. Issue 63940: ~ Correctly save configuration changes for SFN8XXX cards in all cases. ### v4.5.2.1010 -- Update release General changes: ~ [SFN8XXX] Changes to format of bootrom config in flash storage to allow for CMAC check on authenticity for improved security. ~ In Ctrl-B config menus, fields on the PF screen can only be changed in single-PF mode. For more complex configuration the "sfboot" utility from the sfutils package (available at https://support.solarflare.com) is needed. Issue 62044: ~ [tftp] Reject a tftp blksize that is too large. Issue 60454: ~ [tftp] Detect an early finish of a TFTP transfer and do not start the NBP. ### v4.5.2.1008 -- Update release Issue 62597: ~ [ctrl-B] Fix an issue that caused a failure when saving settings with the error "Unable to save setting! No space left on device". Issue 62300: ~ [ctrl-B] Fix display of the default VLAN tag. ### v4.5.2.1007 -- Major release New Features: ~ Support for SFN8XXX adapters. ~ Reduce Ctrl+B menu options to only support basic provisioning use-cases. This change support adapters where NIC partitioning / multiple PFs are configured using "sfboot pf-count>=2". ~ Support PXE boot from a preset VLAN on the first function on each port. ~ Add forced 40G link speed. ~ Significant improvements to DHCP/proxy DHCP handling code. ~ For >=SFN7XXX cards enable better RX filtering to allow more reliable PXE booting on busy networks. Issue 59966: ~ Handle incoming packets when waiting for a key-press. ~ Reserve room in the ARP table for ping replies. ~ Respond to our IP when we do not know the sender. Issue 59130: ~ Try bootp broadcast if no ProxyDHCP info is received. ~ Provide the DHCP boot item in big-endian form to a BladeLogic PXE server. ~ Fixed some corner cases of UNDI GET_CACHED_INFO packet 2. ~ Bind to a random UDP port for every TFTP connection. ~ Allow TFTP block size to be controlled via the PXE TFTP API. ### v4.4.2.1006 -- Update release Issue 61431: ~ Reset the adapter when terminating UNDI. This improves reliability of driver load after the PXE bootrom has been active. ### v4.4.2.1005 -- Update release New Features: ~ Ctrl+B configuration menu prompt is not displayed on servers that support UEFI if theSolarflare UEFI driver is active. In this case, the adapter configuration can be changed in the UEFI setup menu. ~ The bootROM will not be initialised for inactive AOE ports, and these ports will not be available for configuration in the Boot Manager. Issue 49092: ~ Fix unwanted server reboot when trying to boot from a non-Solarflare device on some HP servers. Issue 54075: ~ Fix exception when configuring the network interface in an UNDI environment. Issue 55647: ~ Handle proxyDHCP server offers that do not set option 54 with multicast boot server discovery. Issue 55943: ~ Set the boot-type correctly on HP servers where CLP is not available. ### v4.4.0.1002 -- Update release Issue 49903: ~ Set the adapter MTU correctly to avoid issue where some HTTP transfers may fail to complete. Issue 52923: ~ When loading the driver ensure that the adapter is reset to guarantee consistent behaviour. ### v4.3.1.1006 No changes other than version number. ### v4.3.1.1002 No changes other than version number. ### v4.3.0.1000 -- Update release New Features: ~ Support for PXE booting with multiple physical functions per port. Multiple physical functions will appear in the list of interfaces in the Boot Manager, but the boot settings can only be configured on the first PF per port; other PFs will appear grayed-out in the list. PFs on the same port will all use the same boot config, and in particular they will have the same boot-type. Boot Manager changes: ~ New setting: PFIOV Enables PFIOV mode to switch traffic between PFs on the adapter. Issue 45811: ~ Port-specific settings are reset to default values when changing the port-mode. Issue 47107: ~ Recalculate the VF BAR sizes when changing settings to avoid resource exhaustion. ### v4.2.1.1000 -- Update release Boot Manager changes: ~ 7142: New setting: port-mode=default|40G|10G Configures the port mode to use. This is for SFC9140-family adapters only (SFN7142Q). ~ SolarCapture Pro: New setting value: firmware-variant=capture-packed-stream This allows for line rate 10G packet capture ~ SRIOV: New setting: pf-count= This is the number of available physical Functions. ~ Onload SR-IOV: New setting: insecure-filters= (*experimental*) If enabled, bypass filter security on non-privileged functions. This is required for some applications, but reduces security in virtualized environments. The default is disabled. ### v4.2.0.1000 -- Update release New Features: ~ Support for SFN7142Q adapters in 2*40G mode. Issue 43861: ~ Use MC_CMD_ENTITY_RESET instead of MC_CMD_PORT_RESET. Issue 43964: ~ Always reboot after saving changes in the Ctrl+B menu. ### v4.0.7.6711 -- Update release New features: ~ Add CLP support for HP branded adapters. Issue 40921: ~ Only start OCSD for PCI function that the BIOS called. ~ Further OCSD code robustness fixes. Issue 42831: ~ Fill in proxyDHCP settings with boot discovery information. ### v4.0.0.6589 -- Update release Issue 39761: ~ Fix an issue in PXE API PXENV_GET_CACHED_INFO handler. In a setup using proxy DHCP this was seen to cause a failure during Windows Deployment Services ### v4.0.0.6587 -- Major release General changes: ~ This is the first release to support PXE booting on SFN7XXX adapters. ~ Add support for setting the variant of firmware that the adapter runs: Auto (default) - allow the driver to pick variant at load time. Ultra low-latency - force to use the variant with the lowest latency. This disables some virtualization and advanced feature support. Full featured / Virtualization - force to use the variant supporting all adapter features. Changes for IBM and HP OEMed boards: ~ Suppress Ctrl+B prompt if the UEFI driver has loaded Issue 35503: ~ Replace EBDA memory allocations with PMM allocations when PXE booting. This was seen to cause issues for some UNDI clients. ### v3.3.1.6312 -- Update release Issue 37531 ~ Fix selection of boot server type during boot discovery ### v3.3.0.6290 -- Update release Issue 35709 ~ Fixes for PXE setups using proxy-DHCP. ~ Fixes for handling of PXE DHCP option 43. ~ Introduce support for the use of multicast IP addresses for boot discovery (PXE DHCP option 43 tag 7 : MCAST_DISCOVERY_ADDR) ~ Fix transmission to multicast addresses. ### v3.3.0.6267 -- Update release Added support for Option Card Sensor Data (OCSD) when using HP branded adapters and HP servers. Display only one Ctrl+B prompt per PCI device during BIOS POST. Issue 32884 ~ Inhibit all calls to INT 15,e820 and INT 15,e801 during POST This is a BIOS interoperability fix with IBM x3650 machines. ~ BIOS interop fixes when Ctrl+B UI requests to reboot the machine. ### v3.3.0.6257 -- No change other than version number ### v3.3.0.6247 -- No change other than version number ### v3.2.3.6128 -- Update release Issue 18848 / 28570 ~ Reduce resource requirements of the bootrom. Fixes out of resource issues seen on some IBM servers and on other servers when using multiple Solarflare adapters Issue 32552 ~ Accept filename via DHCP option 67 as well as BOOTP filename field Issue 31367 ~ Set TFTP block size correctly to fix Solaris pxegrub booting Issue 30471 / 30154 ~ Fix hang on PXE boot seen on HP Z800 workstation ~ Fix display of Ctrl-B setup screens seen on HP Z800 workstation Issue 30716 ~ Fix display of Ctrl-B setup screens seen on some systems using AMI BIOS ~ Includes; removing even megabyte constraint, limit relocation during POST and round up PMM allocation sizes to nearest 4kB Issue ~ Fix handling of fragmented IP protocol packets ### v3.2.1.6087 -- Update release Issue ~ Remove 'Solarstorm' branding Issue ~ Fix interop with some IBM BIOSs (do not fall back to INT19, remove BBS detection, force PnP header to 16byte boundary and fix register corruption on BEV entry point) Issue 29415 ~ Improve handling of corrupt EBDA (fix support of undionly.kpxe) ### v3.2.0.6061 -- Update release Issue ~ Deallocate PMM if boot-type is disabled ### v3.1.0.4027 -- Initial release First release of 3.1 BootROM. Changelog (UEFI driver) ----------------------- ### v2.4.4.8 -- Update Release New Features: ~ [TSA] Produce and fill in a system UUID to identify the platform across reboots and multiple adapters. General Changes: ~ [HII] Tell the platform to require reboot after changes to the Boot Image setting ~ Fixes to random early drop mechanic. Use local PRNG rather than the RngLib which requires RDRAND processor instruction. Also make random early drop upper limit strict and set limits on queue sizes for unicast (4k) and multicast (128) traffic ~ [HII] Fix potential issue with NVRAM not probing correctly on SFN7XXX series adapters. ~ [HII] Improve help text for some HII fields. ~ Make DriverHealth correctly report the need for reboot after changes to Boot Image setting have been made. ~ Stability improvements. Issue 73312: ~ [HII] Properly fill in MAC address in all HII form titles. ### v2.4.4.2 -- Update Release General Changes: ~ Increase the number of hardware descriptors to 2K for TX and 4k for RX. This improves the network performance significantly. ~ Implement a simple filtering system such that the platform does not receive traffic that it said it doesn't want using SNP filters. ~ [HII] Create a new HII page with version information, including the UEFI version and build commit ~ General stability improvements Issue 72129: ~ Use multiple RX queues for unicast/multicast/broadcast traffic. This helps with noisy networks with lots of broadcast traffic Issue 72347: ~ Fix an issue where we might not show with IPv6 in boot manager on certain platforms that do not follow the UEFI spec. Improve NII safety for random pointer dereference. Issue 72281: ~ Fix information in NII that prevented WDS from performing DHCP correctly ### v2.4.3.2 -- Update Release Issue 69642: ~ Improve performance in noisy networks. ~ Improve RX datapath by increasing the number of RX descriptors to 256. ~ Fix potential issue with driver overwriting already recieved data. ### v2.4.3.1 -- Update Release Issue 68978: ~ [HII] Fix when non-primary function might try to save shared settings on some platforms resulting in the user not being able to change shared settings. Issue 70679: ~ [HII] Fix saving settings operation when there are mutliple SFC boards present in the machine. ~ Fix problems with network operations when both SFN7XXX (or newer) and SFN6XXX (or older) NICs are present in the same system. ### v2.4.2.4 -- Update Release Issue 68921: ~ [HII] Fix a potential memory scribble on SFN5XXX and SFN6XXX adapters. ~ [HII] The forms should show defaults if the setting has not been changed on the NIC from factory settings. ~ Implement stronger locking to prevent link polling from interrupting NVS access and general probe/teardown tasks. Issue 68477: ~ [HII] Add help text to LED flashing options. Issue 68315: ~ Fix the NII workaround (DELL specific requirement) that could potentially cause an RSOD during boot. ~ Fix a potential RSOD during handover to OS loader. Issue 66766: ~ Fix incorrect information being provided using AIM protocol. ### v2.4.1.0 -- Update Release Issue 60581: ~ Report the correct driver name using the correct language code. Issue 65344: ~ Implement DriverFamilyOverride protocol which binds the newest driver to all Solarflare adapters even if different versions are exposed on multiple exprom partitions. Issue 64549: ~ Improve PXE boot process when using GRUB2 beta2 which contains a bug (SNP protocol not opened with exclusive flag, allowing the MNP protocol to steal packets). ~ This will appear like packet loss and can cause severe slow-downs for transfers. ~ This patch does not fix the problem, instead it makes the handling of internal driver state more robust to this condition. ~ For a full fix please upgrade GRUB2. ### v2.4.0.2 -- Update Release Issue 68026: ~ Fix possible memory corruption by trying to free memory that wasn't allocated by the Solarflare UEFI driver. This issue should be benign due to UEFI memory protections but could show up on systems with debug enabled. Issue 67680: ~ [HII] Fix the failure to save settings in HII forms until the user enters the HII form for every function on the adapter. This affected HPg9 servers. ### v2.4.0.0 -- Update Release General changes: ~ Obsolete deprecated UEFI string methods and use the new versions. ~ Fix potential memory leak and null dereference. ~ Improve the SNP protocol implementation to clean up link state handling. ~ Ensure no DMA access after UEFI boot services exit. ~ Internal simplifications of RX and TX buffer handling to improve robustness. Issue 66725: ~ [HII] Only allow changing boot-image on first port of each adapter. Issue 65435: ~ Harden the driver datapath against concurrency issues that are seen due to a GRUB2 bug, when SNP is not opened in exclusive mode. Issue 65321: ~ Fix incorrect/lacking device names in some boot managers. Issue 64703: ~ Ensure HII form titles contain valid MAC. Issue 59966: ~ More efficiently drop unicast packets on SFN5XXX|6XXX where they are for a different ethernet station, without sending to the UEFI network stack. ### v2.3.0.2 -- Update Release Issue 64395: ~ [HII] Fix saving of settings when using NIC partitioning (i.e. sfboot pf-count>1) Issue 62598 / 63941: ~ Save data in the correct format for last firmware on SFN85XX adapters to allow space for CMACs which protect the partition contents. This change also correctly sets the partition generation counts, which may have caused saved settings to be lost (as the firmware would not be able to determine which of the two flash partitions represented the latest settings). ### v2.2.0.1 -- Update Release New Features: ~ GA support for SFN8XXX adapters. Issue 62765: ~ Remove bootrom iSCSI settings from HII forms due to an interop issue seen on a Dell 12G server. For more complex configurations the "sfboot" utility from the sfutils package (available at https://support.solarflare.com) can be used. ### v2.1.4.0 -- Update Release New Features: ~ Alpha support for SFN8XXX adapters. ~ Creating network interfaces for all NIC partitions (configured with "sfboot pf-count>=2") is now supported. Issue 61398: ~ Fixes to firmware management protocol. Issue 59863: ~ Updates to Lenovo Agentless HII formsets for compliance. Issue 55536: ~ Disable bus master DMA in ExitBootServices() for increased robustness. ### v2.0.2.0 -- Feature Release New Features: ~ Support for CLP/SMASH on HP UEFI based platforms. ~ Note this also requires adapter firmware support. Issue 53919 ~ HP570M/HP570FLB: Fix issue where an adapter MAC address that has overridden using the HP Virtual Connect Switch is not shown as overridden in the UEFI shell. Issue 53059 ~ For PXE booting set NII protocol stringId to "UNDI" as per the spec. ~ This allows for IPv6 PXE booting to a Windows WDS environment. Issue 48949 ~ Fix issue that can cause Dell r630 servers to hang during boot when used with SFN6xxx series adapters. ### v2.0.0.9 -- Update Release New Features: ~ Add HP UEFI HII menu option "Disable HP Shared Memory features". This option enables/disables the HP OCSD feature and is only available on relevant HP-branded adapters. Issue 52923 ~ Reset the Solarflare adapter correctly when loading the driver. Issue 53059 ~ Fix receive filtering so that DHCPv6 server response packets can be received. Issue 52445: QXCR1001411003 ~ Correct Form and FormSet titles to be compliant to HP UEFI spec. Issue 50723: QXCR1001399867 ~ No longer register FirmwareManagementProtocol until a full implementation is available. The partial implementation that only allowed reporting of firmware versions could be confusing as the adapter would be listed in HII forms as being available for firmware updates. Issue 50702: QXCR1001399491 ~ AdapterInfoProtocol updates to work correctly when other UEFI drivers that present FirmwareManagementProtocol are also loaded. ### v2.0.0.7 -- Feature Release New Features: ~ [HP adapters] Support for HP OCSD being started in the UEFI driver ~ Added driver configuration protocol implementation. ~ Added driver diagnostics protocol implementation. ~ Added AdapterInfoProtocol implementation. ~ Enabled ComponentName2 and DiagnosticsProtocol2. ~ Advertise support for UEFI 2.40 (with driver version 0x20028) HII cleanups: ~ Add " - NIC" on to HP strings to conform to spec. ~ Remove the MAC address from the NIC title displayed. Issue 50885: ~ Avoid debug ASSERT trigged in UEFI platform by ensuring that the progress pointer in ExtractConfig/RouteConfig failure cases is always filled in. Issue 50882: ~ ComponentName protocol now returns the product name from VPD. Issue 50028: ~ Avoid "Failed to save" issue seen when saving HII forms by initialising the BadIpv4 EFI variable during hii_init(). Issue 34101: ~ Fixes to get SCT 2.31 pass. ~ Respect SNP MaxMCastFilterCount. ~ Add sanity tests on SNP NetworkStatistics entry point. ### v2.0.0.6 -- Feature Release First release of the Solarflare UEFI driver to support SFN7XXX series adapters. ### v1.0.0.1 -- Initial release of EDKII based UEFI driver ~ does not include a Microsoft CA signature for SecureBoot. Changelog (Board Support Microcontroller Firmware) -------------------------------------------------- ### v1.1.2.1004 -- Feature Release Features: ~ First GA support for Solarflare SFN8522M SFP+ and SFN8042 QSFP+ Server Adapters. Issue 74391: ~ SFN8722. Improve reliability of reading SFP cage information. Issue 71239: ~ SFN8722. Fix issue that can cause communications errors between the board support microcontroller and the main adapter CPU. Issue 69384: ~ SFN8722. Fix issue that can cause occasional misreading of sensor values. ### v1.0.0.1002 -- Feature Release Features: ~ First GA support for SFN8722 Dual Port SFP+ OCP Server Adapters Changelog (utilities) --------------------- ### v6.5.0.1003-- Feature Release Features: ~ First GA support for SFN8522M Dual Port SFP+ Server Adapter and SFN8042 Dual Port QSFP+ Server Adapter. ~ sfboot. This release of the utilities changes the default OptionROM configuration for all adapters. When sfboot --clear is used to clear the configuration, the default OptionROM settings are set to expose the OptionROM and UEFI ROM and in addition enable gPXE booting. Issue 73558 ~ sfkey. Fix issue that can cause sfkey to fail with the error "You have insufficient permissions for this task." if run on a system where the adapter has VFs configured. ### v6.4.0.1003 -- Feature Release Features: ~ First GA support for SFN8722 Dual Port SFP+ OCP Server Adapters. ~ sfboot. Adds support for 8xxx series adapters to configure the TX and RX descriptor cache sizes and VI count. ### v6.3.0.1005 -- Feature Release This release adds support for users to install their own iPXE OptionROM as an alternative to using the standard Solarflare OptionROM. To install a custom iPXE image use the following command: sfupdate --ipxe-image=my_ipxe_image.mrom Note that once an iPXE image is installed, sfupdate will indicate this and will not overwrite the iPXE image with the packaged Solarflare OptionROM. To restore the OptionROM to the standard Solarflare image included in sfupdate use the command: sfupdate --restore-bootrom ### v6.2.4.1001 No changes other than version number. ### v6.2.3.1001 No changes other than version number. ### v6.2.1.1000 No changes other than version number. ### v6.2.0.1003 Issue 68300 ~ sfkey. Prevent sfkey crash on Siena if the linux net driver returns a bad MCDI response output length. Issue 66779 ~ sfupdate. Ensure the family version string written to the VPD is of the form "xx.yy.zz" and does not contain "-internal" or "-unsigned". Issue 65890 ~ sfboot. Fix bug where changing boot-image for the second port, could cause the boot image for the first port to reset to disabled. Issue 65133 ~ sfupdate on SFN8000 series adapters. Set the correct UEFI version in VPD. Issue 61210 ~ Emit appropriate error messages when sfboot or sfupdate fail due to corrupted dynamic config partition. ~ sfboot. Implement 'sfboot --repair' to write back a properly formatted blank config to dynamic config. Note that this feature was present in version v4.7.4.1001 but was not included in earlier v6.x.y.z releases. Issue 53747 ~ sfupdate. Avoid potential segfault and report a more helpful message when the user is not root. ### v6.0.3.1001 Issue 64843 ~ sfkey. Fix issue that can cause sfkey to exit with a segmentation fault if a file containing too many keys is used. Issue 64532 ~ sfboot. Fix issue that can cause the OptionROM parameter 'boot image' to become inconsistent across interfaces when port mode and boot options are changed. Issue 52939 ~ sfboot. Display a message requesting a cold reboot when the firmware variant is changed. ### v6.0.2.1000 No changes other than version number. ### v6.0.1.1004 No changes other than version number. ### v6.0.1.1003 -- Update Release Issue 63798 ~ sfkey. Fix issue that prevents sfkey from working on linux kernels 4.6 or later. Note that the kernel change that exposes this issue has been backported to earlier kernels by some distros e.g. Sles12. ### v6.0.0.1004 -- Feature Release Initial GA release for SFN8x22 adapters. ### v4.7.4.1001 -- Update Release Issue 61210 ~ sfboot & sfupdate. Improve error reporting when the utilities are run against an adapter that has a corrupt or missing dynamic configuration. ~ sfboot. Add an option '--repair' to allow an adapter that has a missing or corrupt dynamic configuration to be repaired. The option writes a correctly formatted blank dynamic configuration to the adapter which will cause the firmware to use the firmware defaults. Note that the firmware defaults will not necessarily be the same as the configuration that the adapter had when it was originally shipped. ### v4.7.3.1001 No changes other than version number. ### v4.7.1.1001 No changes other than version number. ### v4.7.0.1005 -- Feature Release This release adds a new configuration option to configure the global receive event-merging timeout which is used when a receive queue is operating in store-and-forward mode. This is configured with the sfboot option event-merge-timeout = . Issue 58272 ~ Sfupdate. Fix issue that causes the firmware version readable in the PCI configuration space Vital Product Data descriptor to be blank after a firmware update. ### v4.6.9.1000 No changes other than version number. ### v4.6.8.1005 -- Update Release Issue 55012 ~ Sfboot. Fix issue that can cause sfboot to ignore the firmware-variant specified by the user when combined with certain other options. ### v4.6.6.1002 -- Feature Release This release adds support to allow the ulta-low-latency firmware variant to be used in Partitioning SRIOV mode. ### v4.6.5.1000 No changes other than version number. ### v4.6.3.1001 -- Feature Release This releases adds new port modes for the SFN7xx2F, SFN7xx4F and SFN7x42Q adapters and also allows the size of the descriptor caches and total number of Virtual Interfaces to be modfied. ~ Port modes: Option port-mode= The SFN7xx2F adapter range supports a new port mode 1x10G. Adapters SFN7x42Q and SFN7xx4F support a new port mode 2x10G. ~ TX Descriptor cache size: Option tx-dc-size=<8|16|32|64> Set the size of the transmit descriptor cache allocated for each Virtual Interface. ~ RX Descriptor cache size: Option rx-dc-size=<8|16|32|64> Set the size of the receive descriptor cache allocated for each Virtual Interface. ~ Number of Virtual Interfaces: Option vi-count=3...2048 Configure the total number of Virtual Interfaces for the adapter. Note that the allocation of VIs to ports is as follows. For SFN7xx2F adapters the first 1024 VIs are allocated to port 0 and the second 1024 VIs are allocated to port 1. For SFN7xx4F and SFN7x42Q adapters the first 512 VIs are allocated to port 0, the next 512 to port 2, the next 512 to port 1 and the final 512 VIs to port 3. As a result of this allocation scheme, changing the total number of VIs may result in no VIs being allocated to some ports. ### v4.6.0.1003 No changes other than version number. ### v4.5.0.1009 -- Feature Release This releases adds NIC partitioning support for the SR-IOV functionality and also includes support for SR-IOV Proxied Network Access Control. sfboot settings changes: ~ SRIOV: The pf-count option can now be used per port; previously this applied to all Solarflare adapters present in the host. ~ SRIOV: New setting mac-spoofing= Enable MAC spoofing privilege. Allows non-privileged functions to modify their MAC address and/or insert filters for a MAC address other than their own. This is required when using bonding. Note that this privilege was previously provided as part of the insecure-filters setting. The default is disabled. ~ Onload SR-IOV: insecure-filters= If enabled, allows non-privileged functions to insert unicast filters that do not include the destination MAC address. This is required to use OpenOnload in virtualized environments. Note that in previous releases, this setting also allowed MAC spoofing which is now separately configurable using the mac-spoofing option. The default is disabled. Issue 50475 ~ SRIOV: Fix issues that can cause sfboot to crash if more than 100 Solarflare interfaces are present. Issue 50397 ~ Fix issue in sfboot --clear option that caused some adapter global settings to be cleared even though a particular interface was specified for the clear operation. Issue 45776 ~ Fix issue in sfboot to allow the boot-image to be set independently in hosts with multiple Solarflare adapters installed. ### v4.3.2.1000 -- Update Release No changes to the utilities. ### v4.3.1.1000 -- Update Release Issue 48307 ~ SRIOV: Fix issue that can cause sfboot to configure the adapter incorrectly for some combinations vf-count and pf-count when in NIC Partitioning with SRIOV switch mode. ### v4.3.0.1010 -- Feature Release This release adds support for new SR-IOV functionality which requires a firmware update. When sfboot is used to change the configuration, it will check that the adaptor has appropriate firmware and prompt the user to perform an update if necessary. sfboot settings changes: ~ SRIOV: New setting switch-mode= Sets the virtualization switch mode. Note that this replaces the setting pfiov ~ SRIOV: New setting pf-vlans=<[0..4094],[0..4094],...> or none Configures transparent VLAN insertion/stripping. Specify the VLAN tag to use for each PCIe Physical Function associated with a network port. Use with partitioning switch modes. ### v4.1.2.1009 -- Feature release sfboot settings changes: ~ 7142: New setting: port-mode=default|40G|10G Configures the port mode to use. This is for SFC9140-family adapters only (SFN7142Q). ~ SolarCapture Pro: New setting value: firmware-variant=capture-packed-stream This allows for line rate 10G packet capture ~ SRIOV: New setting: pf-count= This is the number of available physical Functions. ~ SRIOV: New setting: pfiov= Enable PF-IOV support, where traffic from PFs will be switched on the adapter. When disabled only traffic between a PF and associated VFs is switched. ~ Onload SR-IOV: New setting: insecure-filters= (*experimental*) If enabled, bypass filter security on non-privileged functions. This is required for some applications, but reduces security in virtualized environments. The default is disabled. ### v4.1.1.1007 -- Previous release Copyright --------- Copyright 2010-2017 Solarflare Communications Inc. All rights reserved. Use is subject to license terms.