Solarflare VMware Driver Package ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Version: 4.8.4.1000 Overview -------- This is the VMware vSphere driver package for Solarflare Ethernet Server Adapters. The driver is supplied packaged in either a VIB (VMware Installation Bundle) or Offline-Bundle. Supported ESXi versions ----------------------- - VMware vSphere 5.5 (ESXi 5.5) - VMware vSphere 6.0 (ESXi 6.0) Supported hardware platforms ---------------------------- The drivers contained in this package support the following Solarflare adapters: - Solarflare Flareon [Ultra] Server Adapters: - Solarflare SFN8522 Dual Port SFP+ 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 AOE Adapters: - Solarflare SFA6902F SFP+ AOE Adapter - 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 Installation ------------ For generic installation instructions see chapter "Solarflare Adapters on VMware" of the "Solarflare Server Adapter User's Guide" which can be downloaded from . Driver updates -------------- The latest version of this driver can always be downloaded from . Documentation ------------- For detailed instructions of how to install and configure the driver please refer to the "Solarflare Server Adapter User's Guide" (part number SF-103837-CD) which is available as a PDF from . Support ------- Please contact your local Solarflare support representative or email . Changelog --------- ### v4.8.4.1000 -- GA release for ESXi adding support for SFN8522 adapters. [SFN8522 support] ~ GA support for ESXi and SFN8522 Solarflare adapters. ~ Please note that VXLAN acceleration for ESXi, including VXLAN IOVP certification, will follow in a future driver update. ### v4.8.2.1004 -- GA release adding support for SFN8x22 adapters. [SFN8522 support] ~ GA support for SFN8522 Solarflare adapters, to match all features of the SFN7XXX series including SR-IOV and NIC partitioning. ~ Support for more efficient TSO on SFN8XXX adapters. ~ Use a symmetric RSS hash by default. This is most useful when sniffing both sides of a TCP conversation. This ensures that all packets are directed to the same RX queue and all are handled in-order. ~ Add "tso_version" and "csum_offload" to TX queue information in debugfs. ~ Attach hardware RX timestamps to SKBs in GRO and LRO code-paths. ~ Support IPv6 flow-steering in ethtool rxnfc API (still needs support in ethtool) ~ Support encap-over-IPv6 in ethtool n-tuple API (still needs support in ethtool) ~ Support for SKB xmit_more flags in compatible kernels. ~ Change to use the 4-tuple UDP RSS hashing, as the resulting hash value will help improve GRO performance. ~ Read adadpter PCIe configuration to warn on PCIe lane width or speed not being optimal for the adapter in use. ~ Use 4K PIO buffers on SFN8XXX adapters. ~ Adds a module parameter "performance_profile" to allow selection of broad tuning options, allowing selection of low latency ('latency') or high throughput ('throughput') profiles. The default is 'auto', in which the profile is selected based off licensed options on the adapter. At present this only changes the event queue initialization options on 8000 series adapters. [BETA quality support for stateless checksum offloads for NVGRE,VXLAN,GENEVE encapsulation on SFN8XXX adapters] ~ Support for checksum offloads in the presense of encapsulation/ overlay networks (tunnels) on SFN8XXX hardware. Outer frames of (NV)GRE / VxLAN / GENEVE are supported. Linux native tunnels and OVS will utilise this checksum offload. ~ Add support for encapsulated TSO for 8000 series adapters. ~ Add message when adapter resets due to VXLAN port list change. ~ Add debugfs entry "vxlan_ports" to print the list of VXLAN ports. [onload] Issue 62104: ~ More conservatively account for the number of wakeup events that the driver might have to handle, one for each possible onload stack. This prevents event queue overflows in rare cases. [EF-VI support] ~ Do not treat a broadcast filter as exclusive in filter logic. This prevented ef_vi from installing >1 UDP filter with the local IP set to broadcast. [Stratus ftServer support] Issue 57944: ~ Take a read lock on the filter table when performing driverlink (onload/EFVI) operations on filters; as there was a possible NULL pointer dereference if there was a race with PCIe hot-plug. [General fixes] Issue 62086: ~ On MC reset (e.g. running sfupdate or ethtool -t offline tests), clear PIO buffer linkage in TXQs. Otherwise, if we fail to allocate new PIO buffers, TXQs will try to use the old deallocated PIO buffers and this will cause an error. Issue 58215: ~ Remove suprious WARNING from efx_hard_start_xmit() seen after "ethtool -t" off-line self-tests. Use of "ethtool -t" can be identified from "MC entered BIST mode" in the kernel log. Issue 57217: ~ Fix taking the network interface into promiscuous (or allmulti) mode when running with low-latency firmware variant. i.e "sfboot firmware-variant=ultra-low-latency". The error message seen would be: Unicast mismatch filter insert failed rc=-93 Multicast mismatch filter insert failed rc=-93 Issue 41741: ~ Implement shutdown() driver entry point. This helps quiesce the Solarflare adapter when using kexec to transition to a new kernel. This issue was seen on IBM POWER machines that raised EEH errors during the kexec. Issue 33781: ~ "ethtool -S" statistic "port_rx_bad_bytes" was not being correctly reset in all cases. ### v4.7.1.1000 -- Update release [General changes] ~ Build fixes for linux 4.5 kernels. ~ Provide an option to place external network port PHY into power down when the network interface is administratively down. This means the link partner also sees link down. Currently this is controlled via an ethtool private flag: - To enable/disable: ethtool --set-priv-flags DEVNAME phy-power-follows-link (on|off) - To show current state: ethtool --show-priv-flags DEVNAME ~ support IPv6 flow steering (needs ethtool support that is not yet released). Issue 53130 ~ Create MTD partitions (to allow sfupdate) even if NVRAM metadata cannot be successfully read. [Stratus ftServer support] Issue 60796: ~ Fix efx_mcdi_acquire_sync() returning -ETIMEDOUT on impolite unplug. ### v4.7.0.1035 -- Update release [General changes] ~ expose SFA7942Q flash partitions via MTD (to speed up sfupdate) ~ Include Stratus ftServer improvements from v4.5.1.1037 ~ Use timespec64 if available for y2038 compatibility. Issue 59734: ~ Fix detection of PHC so that /dev/ptp* is registered on SLES11/12 Issue 59701 & 58885: ~ Take the mac_lock in efx_ef10_sriov_set_vf_mac() This fixes a kernel panic in efx_ef10_filter_vlan_sync_rx_mode() when using SR-IOV direct pass-thru mode. ### v4.7.0.1031 -- Feature release [General changes] ~ Support adapter firmware state dump via ethtool. ~ Set IRQ interrupt hints for 3.x kernels. The irqbalance service using policy=strict will follow these hints. ~ NAPI budget now only applies to receive processing (previously TX completion and other internal events were incorrectly counted towards the budget). ~ Use symmetric RSS hash key by default. This allows applications such as IDS to ensure that both directions of a TCP stream will be spread via RSS to the same channel. ~ Implement VLAN filtering. (only on full-featured adapter firmware variant) [SR-IOV] ~ Implement sriov_set_vf_spoofchk() for SFN7XXX adapters. [Performance] ~ Automatically configure XPS at driver load (on kernels where this is supported). ~ Implement IRQ notifiers so that XPS can match any changes to interrupt affinity. ~ Report TX completions to BQL after all TX events from an interrupt/NAPI poll. This gives a significant improvement to UDP transaction rates using RHEL7 or SLES12 kernels. ~ read EVQ in cache line batches. ~ allocate rx pages on the same node as the interrupt. ~ Improve performance when the driver is asked to add/strip VLAN tags for linux kernels >=3.0. [General VMware ESXi support] Issue 43845: ~ Avoid installation of duplicate default unicast and multicast Rx filters. Issue 57409: ~ Disable RSS by default ('num_rss_netqs' module parameter with value greater than zero may be used to enable RSS on specified number of NetQueues). [Support SR-IOV on VMware ESXi 5.5 and 6.0] First release supporting SR-IOV on VMware ESXi (SFN7xxx adapters only). This support requires sfutils >=v4.7.0.1004 which contains adapter firmware v4.7.0.1019 and firmware-variant=full-feature (setup with sfboot). See chapter "SR-IOV Virtualization Using ESXi" of the "Solarflare Server Adapter User's Guide". ~ Support 'max_vfs' module parameter to request specified number of VFs for each PF. ~ Enforce PF promiscuous mode if VFs are requested (required on ESXi 5.5 only since ESXi 6.0 enforces this itself). ~ Support VF MAC address configuration; security settings of the port group that the VM network interface belongs to should be used to control it. ~ Support VF default VLAN tagging done by the NIC. ~ Support VF anti-spoofing control configured as "allow/deny forged transmits" in security settings of the port group the VM network interface belongs to. ~ Support reading VF statistics from the hypervisor (for example, esxcli network sriovnic vf stats -n vmnic2 -v 0). ~ Support MTU change requested on VF, if allowed by hypervisor. This is configurable in VM network interface settings. ~ Support VF promiscuous mode, if allowed by hypervisor (ESXi 6.0 only). ~ Support VF VLAN membership control by hypervisor; only untagged traffic is allowed by default. Issue 51699: ~ Fix lockdep warning on driver unload. Issue 56887: ~ Fix memory leak for EFX_MCDI_REQUEST private ioctl calls e.g. from sfupdate. Issue 56934: ~ avoid rx copybreak on GRO tail packet to avoid potential reordering. ### v4.5.1.1038 -- Update release [Stratus ftServer support] Issue 59975: ~ Add workaround for loss of RX doorbell in a "breaker" test. ### v4.5.1.1037 -- Update release [General changes] ~ Support for linux v4.3 ~ Simplify locking when CONFIG_NET_RX_BUSY_POLL is enabled (~20ns latency win) ~ Make RSS hashing symmetric by default. The key chosen has been shown to provide good spreading as well as being symmetric. Symmetry is important for applications that sniff both directions of TCP conversations (eg. IDS and other security apps). ~ Support for Solarflare SFA7942Q QSFP+ AOE Adapter (but please use specific packages that are targeted at this adapter). Issue 55559: ~ Cleanup IRQ affinity hints correctly in probe failure path which caused this warning: "WARNING: at kernel/irq/manage.c:1221 __free_irq+0x19a/0x1e0()" Issue 56887: ~ Fix small memory leak on every EFX_MCDI_REQUEST private ioctl call. Issue 56934: ~ Avoid rx copybreak on GRO tail packet. ~ If a fragmented TCP packet is being handled by GRO, rx copybreak should not be used on any small tail fragment as this can result in packets being delivered out of order. These small fragments could benefit from reassembly in GRO if part of a stream of larger packets. [OpenOnload support] Issue 57548: ~ IPv4 broadcast address should not be treated as exclusive. ~ this allows ef_vi to install >1 UDP filters with a local broadcast IP. [Stratus ftServer OpenOnload support] ~ Further work to strengthen driver robustness on surprise device removal; especially when OpenOnload is being used. Issue 53701: ~ Support changing MAC address with filters installed. This is required for OpenOnload to add new slaves to a bond. ### v4.5.1.1026 -- Update release [General changes] ~ Support for linux v4.2. ~ Make locking between NAPI and busy-polling less expensive. [Stratus ftServer support] ~ Further work to remove warnings if device isolation and fail-over occurs. ~ Fix infinite loop in efx_pause_napi() on module unload if onload is being used and a hardware fault causes the driver to enter a disabled state. Issue 54445: ~ Address "NOHZ: local_softirq_pending 08" seen on sfc.ko module unload. Issue 54748: ~ When sfc.ko module parameters rss_numa_local=1 and rss_cpus is greater than the number of logical CPUs on a node, remove the false limitation that onload could only use interrupts on the local NUMA node. Issue 54840: ~ Fix efx_ef10_filter_is_exclusive() which did not identify the ethertype and IP-protocol filters as exclusive. Issue 55443: ~ Fix rare case where after several failed attempts to allocate memory (in order to refill the RX descriptor ring) the driver did not continue to retry. This causes the ethtool stat "rx_nodesc_drops" to increase. Issue 56015: ~ Fix potential NULL pointer deference in efx_mcdi_mon_remove(). ### v4.5.1.1020 -- Update release Issue 50755: ~ Fix serious page reference counting issue relating to the RX recycle ring. ~ For full details please see the following known issue on the Solarflare support site where you can also sign up for e-mail notifications Issue 53778: ~ Resolve deadlock when setting VF VLAN via "ip link" command. Issue 54347: ~ Add legacy method for changing a PF's MAC address. ~ This restores compatability with Solarflare adapter firmware <= 4.1.1.1023 ### v4.5.1.1010 -- Feature release [General changes] ~ Kernel compat support for v4.0.0. ~ Support ethtool filters on IP protocol. ~ Allow setting and querying the RSS hash key through ethtool interface. ~ Implement ethtool -l|--show-channels. ~ Add known good default RSS (Topelitz) key (vs. using a random key) and add a module parameter 'rss_use_fixed_key' (default:1) ~ Rework allocation of TX queues to allow driver to take advantage of upcoming firmware performance improvements on SFN7142Q adapters in 2*40G mode. [Stratus ftServer support] ~ Introduce support for Stratus ftServers (including polite and impolite removal cases). Driver module parameter 'monitor_interval_ms' (default 200ms) is used to test see if a PCIe isolation event has occurred. ~ Please use the version of the driver that is supplied by Stratus that has been fully qualified for your ftServer. [General fixes] Issue 52542: ~ Fix rare 'kernel BUG at include/linux/skbuff.h:1485 in efx_rx_mk_skb+0x418/0x440' seen with RHEL7 by filling the skb_cache before initialising the Rx queue. Issue 52296: ~ Add timeout in efx_mcdi_acquire_sync() and print a warning on failure. Issue 44816: ~ Fix possible ARFS duplicate flows with the same ID causing the error 'MC command 0x8a inlen 12 failed rc=-22 (raw=22) arg=2' by tracking RPS flow IDs per channel instead of per function [PTP fixes] Issue 47477: ~ If adapter has no PTP license then display "no PTP support" instead of the obscure message "MC command 0xb failed". Issue 45960: ~ fix sfptpd warnings seen when SolarCapture started with ptp=1 and then exited by correcting RX filter insertion actions required in this use-case. [Onload fixes] Issue 52368: ~ [onload] disable and re-enable NAPI more safely during driverlink unregister. Issue 52324: ~ [onload] Fix NULL pointer dereference in Onload efrm_pd_alloc() after passing a device into a VM guest. Issue 51102: ~ [onload/EFVI] don't try to insert mismatch or broadcast filters when in kernel-block mode. This would cause warnings "X filter insert failed" Issue 50721: ~ [onload] Reduce size of initial EF10 memory mapping in preparation of future Onload support on Stratus servers Issue 50320: ~ Fix possible 'rcu_preempt self-detected stall' warnings seen where the stack trace includes 'efx_dl_handle_event' by obeying NAPI budget accounting for work done in driverlink events. [Build and kernel compat fixes] Issue 53241: ~ Build fix for 64bit PHC operations 'ptp.c:2187: error: unknown field 'gettime' specified in initializer' Issue 53103: ~ Build fix for 3.181.11 error: 'struct pci_dev' has no member named 'physfn' Issue 52632: ~ Fix build issue when CONFIG_SFC_SRIOV is not set. 'error: 'struct efx_ef10_nic_data' has no member named 'vf'' Issue 52404: ~ Build fix when CONFIG_PCI_IOV is not set to avoid the error 'error: 'efx_sriov_get_phys_port_id' undeclared here (not in a function)' Issue 52379: ~ Improve kcompat for 3.18.10 that caused 'error: implicit declaration of function 'set_cpus_allowed'' Issue 52371: ~ add RHEL5 kernel compat for IS_ERR_OR_NULL used in efx_init_debugfs_netdev() Issue 51721: ~ Avoid the following warning on RHEL7.1 'WARNING: at net/core/dev.c:5450 register_netdevice+0x1cc/0x410()' Issue 51627: ~ Build fix for 'sfc_minimal=1' which gave the error 'struct efx_tx_queue' has no member named 'sarfs_update' Issue 51443: ~ Build fix in mcdi_proxy.c for kernels without CONFIG_NET_NS set. 'error: 'struct net_device' has no member named 'nd_net'' Issue 50816: ~ kcompat changes to resolve 'ethtool -K eth2 rx off' failures on RHEL6.6 Issue 42338: ~ Build fix to use pci_enable_msix_range() instead of pci_enable_msix() for latest kernels. ### v4.4.1.1017 -- Feature release New features: ~ Support for an access control daemon to control multicast subscriptions (please contact Solarflare support for more details of how to use this). ~ Performance improvements. - enable rss_numa_local by default - set the default rx_recycle_ring_size to 512 - set rx_copybreak default to 192 - Reduce lumpiness of the sarfs hash function - Avoid GRO path for small packets so that data is copied. - Change to fixed RX recycle ring - Support RX descriptor reposting. - Replace atomic_set() with atomic_add() when incrementing rx_buf page - Add compiler hints to reduce icache miss rate for efx_enqueue_skb() - Move re-enable of TX path to end of napi poll loop ~ Experimental support for NIC partitioning + SRIOV used simultaneously. ~ Support setting the MAC and VLAN of a VF via the PF (via the "ip" command) Issue 48262: ~ Avoid inserting unicast filters when kernel is blocked (Solarcapture/EF-VI) Issue 48771: ~ Support SFF8472 diagnostics for SFP+ modules connected via QSFP. Issue 48310: ~ Allow tx_copybreak=0 to disable this feature. Issue 49178/49179: ~ enable cascaded multicast filters in adapter firmware (if present). Issue 48910: ~ [SFN5/6XXX] Fix regression "num_vis=-1" was exporting no VIs to onload. Issue 45957: ~ kernel 3.18 and 3.19 compatibility. Issue 49573: ~ Implement destination port/ip filtering option for SARFS. ~ Add debugfs counter for the number of updates to filters that have been requested from tx_queue. Issue 48771: ~ Pass QSFP module information through the driver to ethtool. Issue 50830: ~ Fill in rxhash correctly in LRO and non-receive offload paths. Issue 49577: ~ Fix rare crash when inserting hardware filters using ethtool. Issue 50992: ~ Fix issue where "ip link show" gives wrong mac address for vfs in direct passthrough mode, by updating the PF's record of the VF's MAC address if possible. Issue 49598: ~ Reduce the frequency and verbosity of messages generated from (expected) denied firmware requests by unprivileged PFs/VFs. ~ Make failed filter removal less noisy after an MC reset. ### v4.2.2.1016 -- Feature release First release supporting NIC partitioning, SR-IOV and PF-IOV modes on SFN7XXX adapters. This support requires sfutils >=v4.3.0.1010 which contains adapter firmware v4.2.1.1014 and firmware-variant=full-feature (setup with sfboot) General changes: ~ the old module parameter "enable_multi_pf" has been removed as NIC partitioning (with multiple PFs) is now fully supported by this driver ~ add sysfs entry and module parameter to control MCDI tracing between the driver and the adapter firmware. This is an extra debug feature that is for the use of Solarflare support. Issue 44671: ~ Work around TRIGGER_INTERRUPT command not being supported on SFN7142Q. Issue 44372: ~ Disable RSS on packed stream firmware variant (used for SolarCapture) as it is not supported Issue 44737: ~ Increase BIST mode timeout from 10s to 30s to accommodate longer SFN7142Q BIST operations. Issue 46845: ~ remove bogus __GFP_COLD flag in page allocation to improve performance. Issue 47102: ~ replace get_page() with atomic_set() to improve performance. Issue 44509: ~ PTP. Fix logical error in efx_ptp_restart() Issue 44510: ~ PTP. To increase robustness, efx_ptp_change_mode() should always disable PTP in the firmware if disable is requested even if the driver believes that PTP is already stopped Issue 47551: ~ Only fallback to lower interrupt mode if the lower mode is supported. Issue 47169: ~ Kernel compat fixes for RHEL 6.6 Issue 47339: ~ Kernel compat for linux 3.16. Issue 47268: ~ Allow for a smaller RX ring to be configured (minimum of 128 reduced to 16) Issue 47603: ~ Move selection of SXPS from compile time to run time. ### v4.1.2.1003 -- Feature release New features to support the SolarCapture 1.3 release: ~ New forward_fcs attribute in sysfs which when enabled, causes the driver to not strip CRCs on ingress path. When enabled frames with bad CRCs are not discarded. Changing forward_fcs requires reconfiguring the adapter's MAC ~ Disable ARFS if the required adapter filter flags are not supported ~ Disable RSS on Packed Stream firmware variant Other new features: ~ Add sysfs entry to control MCDI tracing ~ Add module parameter to enable MCDI logging on new functions Issue 45309: ~ Take mac_lock when setting or unsetting the kernel block (from EFVI or onload) in order to avoid races in sync_rx_mode. Issue 44095: ~ change EFX_BUG_ON_PARANOID on mcdi failure in ptp_synchronize to a proper error path. Issue 43849: ~ recheck mcdi->state after timeout in efx_mcdi_await_completion Issue 42806: ~ handle nonlinear SKBs in efx_filter_rfs() Issue 45444: ~ fix calling of free_irq with already free vector Issue 40785: ~ add module option "underreport_skb_truesize" to falsify skb->truesize for LRO packets Issue 43391: ~ use __GFP_NOWARN when allocating RX pages from atomic context. Issue 44829: ~ don't BUG_ON efx->max_channels == 0 in probe Issue 46587: ~ Add RW semaphore to protect against MCDI timeouts in efx_ef10_filter_table_remove() which could cause a kernel panic in efx_ef10_filter_table_restore(). There should not be MCDI timeouts seen in production systems so this is a defensive fix rather than a bug fix. ### v4.1.0.6734B -- Update release for VMware ESXi Issue 51531: ~ Some ethtool operations could cause an RTNL deadlock. This could be experienced when running ethtool from the command line or if openmanage is installed. This can cause a hang when the adapters page is opened in vSphere. ### v4.1.0.6734A -- Update release for VMware ESXi Issue 44988: ~ Use receive ring with 512 entries by default to consume less packet buffers. ~ Change default number of NetQueues from 4 to 8. Issue 46436: ~ If available, put RSS hash information to skb. ### v4.1.0.6734 -- Feature release New Features: ~ Add support for busy polling available in Linux 3.11. See section 1.8 of http://kernelnewbies.org/Linux_3.11 Note that only connect()'ed sockets can make use of this latency reducing feature. ~ Implement SARFS; Solarflare Accelerated Receive Flow Steering (disabled by default) This inserts hardware RX filters in order to direct flows back to the same CPU where the user-land process is transmitted. This should help cache locality. This feature can be used when Accelerated RFS is not available in the currently running kernel, and if ARFS is in use will be disabled. To enable SARFS, set the "sarfs_sample_rate module" parameter to non-zero. 20 is recommended. In addition, some form of XPS is needed for SARFS to function correctly. The easiest way to do this is to enable Solarflare XPS by setting the module parameter "sxps_enabled=1" Alternatively if your kernel supports it you can enable XPS by following the instructions at: https://www.kernel.org/doc/Documentation/networking/scaling.txt or in the Solarflare Adapter User Guide (SF-103837-CD) section 3.20 Performance Tuning on Linux ~ 7xxx: Add support for SFC9140 40G QSFP network controller silicon. (network adapter part number SFN7142Q). ~ Preferentially affinitise interrupts to CPUs on the NUMA node local to the adapter and restrict RSS to only local CPUs (disabled by default). To enable this feature set the module parameter "rss_numa_local=1" ~ add RX hook for driverlink to allow Solarsecure Filter Engine to inspect packets. PTP issues/features: Issue 35011: ~ PTP: Use net_ratelimit() for PTP event queue overflow messages. Issue 41277: ~ PTP: Advertise translated hardware timestamps. Issue 41479: ~ PTP: Remove warning when synchronize operation gets no usable samples. Issue 38893: ~ PTP: Avoid assumptions about skb header area length in efx_ptp_rx() ~ PTP: Remove two redundant efx_ptp_synchronize() calls ~ PTP: Fix preprocessor conditions using EFX_HAVE_PHC_SUPPORT ~ PTP: Always request 'enhanced' PTPv2 filtering on Siena ~ PTP: Switch back to the original PTP clock adjustment operation Issue 41335: ~ PTP: Accept fake PPS events whether or not packet timestamping of PTP packets is enabled in the NIC. This allows phc2sys to be used without requiring linuxptp to be running Issue 42466: ~ PTP: check for NULL efx->ptp_data in efx_ptp_event Issue 42956: ~ PTP: Test for ethtool get_ts_info support directly Issue 41055: ~ PTP: Check for non-PTP or non-primary function in private clock ioctls ~ In some cases this could cause a kernel NULL pointer dereference in efx_ptp_ts_settime() when calling ioctl(SIOCSHWTSTAMP) Issue 41022: ~ PTP: Fix kernel NULL pointer dereference in efx_hard_start_xmit() that could be caused if hardware timestamping on raw sockets were enabled. Issue 40999: ~ PTP: Expose ptp_caps on primary function, not all functions on port 0 Issue 42321: ~ 7xxx: PTP. Fix issue that can cause firmware watchdog to expire while host compares system and NIC clocks. Driver support for OpenOnload / EFVI / SolarSecure Filtering Engine: Issue 40538: ~ onload: multicast loopback: net_driver filter support ~ onload: net_driver filter support for stack_id Issue 41295: ~ Updates driver link filter_block_kernel API (used by onload and EFVI apps) to have a unicast/multicast split, to allow for a closer match to previous semantics. Issue 41992: ~ Sanity check filter specs when inserting from driverlink clients. General Issues / Features / Improvements: Issue 40635: ~ Remove use of procfs in net driver when CONFIG_DEBUG_FS not defined. Issue 41727: ~ Pass correct pointer to free_irq() on failure path Issue 41197: ~ added ioctl support for MCDI licensed app state call used by "sfkey" utility Issue 41248: ~ netif_device_detach in efx_schedule_reset so the tx watchdog won't fire while we're waiting for reset. Issue 42437: ~ use ether_addr_copy and similar helpers. Issue 37976: ~ On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) Issue 42757: ~ Fix TX DMA errors seen when using module parameter "separate_tx_channels=1" Issue 42199: ~ allow PIO more often as PIO conditionals were incorrectly sensitive to some cleanup actions performed during hardware setup. Issue 40373: ~ rewrite pcie_enable_error_reporting error to be less alarming (normally when AER cannot be enabled as the platform firmware is handling this) Issue 39820: ~ Don't count discarded packets as checksum errors as well. Issue 39528: ~ Improve 'Fatal error' logs which occur when MC reboot is detected Issue 43431: ~ Make ethtool_set_flags understand rxvlan and txvlan offload options ~ This is needed allow ethtool -K to operate on RHEL 6.5 Issue 41279: ~ Fix reporting of MC BIST results through ethtool Now 1=>pass, 0=>not run, <0 fail Issue 41791: ~ 5xxx/6xxx: Fix over-accounting of buffer table space for virtual functions Issue 37075: ~ 7xxx: MAC stats (incl loopback) reported per vadapter Issue 41673: ~ 7xxx: Update link fault reporting VMware ESXi Support: Issue 42738: ~ Do not use LRO for IPv6 on ESXi 5.1 and earlier. Issue 43023: ~ Fix jumbo MTU issue when NetQueue is used. Issue 43245: ~ Fix problem with NetQueue filters removal. ### v4.0.2.6640 -- VMware ESXi feature release Support VMware ESXi 5.5: ~ Support SFN5xxx/SFN6xxx and SFN7xxx. ~ Support VLAN tagging on transmit and stripping on receive in driver. ~ Support paired NetQueue feature which says that transmit and receive NetQueues with the same number share event queue/interrupt. ~ Support dynamic NetQueue feature which allows dynamically allocalte NetQueue with specified features. ~ Support RSS NetQueue feature. ~ Support preemptible NetQueue feature which allows to reallocation of a NetQueue with different features. ~ Support dynamic RSS NetQueue feature which allows ESXi kernel to configure RSS hash key and indirection table. ~ Remove 'rss_vlans' module parameter since RSS NetQueue feature is supported. ~ Support 'netq_force_rss' module parameter to enforce RSS on all applicable NetQueues. ~ Support 'num_rss_netqs' module parameter to control number of NetQueues with RSS support (one by default on ESXi 5.1 and newer version, zero on earlier versions). ~ Support LRO and corresponding NetQueue feature which allows to control LRO enabled/disabled when NetQueue is allocated. ~ Support 'netq_force_lro' module parameter to force LRO on all NetQueues including default one. ### v4.0.2.6628.1 -- Hot-fix release ~ use 64-bit writes for PIO as 32bit PIO writes to write-combined mappings can, in very rare circumstances cause data corruption (before TCP checksum offload occurs). Restrict PIO to x86_64 systems. ### v4.0.2.6628 -- Feature release Add support for RX time-stamping and PTP on SFN7XXX family adapters: ~ This release provides the driver support necessary for both the Solarflare Enhanced PTP daemon ("sfptpd") and linuxptpd which is provided in some distributions. Issue 37568: ~ Properly deliver VLAN-tagged PTP packets when disabling PTP. Issue 39894: ~ Fix DMA unmapping of incorrect addresses for TSO TX buffers on SFN7XXX family adapters. This bug would be observed as unmap page errors, and would affect users with TSO (enabled by default) and an IOMMU enabled. Issue 38352: ~ Remove build time warning message when MTD is disabled, as sfutils can now work on linux using an IOCTL to the driver. ### v4.0.0.6585 -- Feature release Support for SFN7XXX family adapters (using SFC91XX family silicon): ~ This release contains full GA quality support for the new SFN7XXX series of network adapters. ~ Currently running PTP on SFN7XXX adapters is not supported. This support will be in a subsequent release in 2013Q4. ~ There are new counters exposed via "ethtool -S" to expose any new internal packet counters. ~ driver support for the "sfkey" utility to modify feature licenses on the adapter. TX improvements: ~ Support for SFC91XX TX PIO (Programmed IO) feature for lower TX latency. This is controlled by the new module parameter "piobuf_size" (default on x86 is 256 bytes). For frames that are smaller than this, and if there are adapter resources available, a packet will be transfered directly to the adapter via PIO rather than incur the latency of a bus mastered DMA. RX improvements: ~ The driver now uses a single optimized RX buffer allocation strategy (the "rx_alloc_method" module parameter has been deprecated and has no effect other than to print a warning). ~ Use memory more efficiently by supporting RX scatter for large MTU values ~ Make initial fill of RX descriptors synchronous. This is to avoid a non-zero "rx_nodesc_drops" count which could previously increment during driver load when there was incoming traffic. Support for POWER systems, including: ~ AER/EEH support in the net driver ~ Improve performance by reusing DMA-mapped pages ~ Improve performance by allocating RX buffers more efficiently in pages of memory Ethtool offline self-test behaviour for SFN7XXX: ~ For SFN7XXX series adapters the ethtool offline selftest (which can be used to verify hardware operation) can cause operations on other network interfaces on the same adapter to fail (as the whole adapter goes into a test mode). Only run the ethtool offline self-test on one port at a time, and expect to see loss of link for the duration of the test on all ports. Note the ethtool online test does not have this limitation. Issue 39031: ~ Remove ethtool RESET operation that could be used by an unpriviledged local user to cause a local denial of service. Issue 31933: ~ Cancel interrupt self-test on interface-down on Linux <2.6.23 Issue 36071: ~ Avoid kernel warning in skb_try_coalesce Issue 34973: ~ Fix RX buffer handling on non-x86 and non-POWER systems Issue 35013: ~ Fix potential kernel panic when using certain (uncommon) MTU values Issue 35019: ~ Fix build failure on RHEL5 kernel Issue 34716: ~ Fix rare memory leak on RX data path Issue 33921 / 33922: ~ Fix RX filter insertion conflicts Issue 34253: ~ Disable AOE on RHEL4 to fix build failure Issue 34299: ~ Fix potential flood of syslog if PTP packet storm occurs Issue 16820: ~ Detach network device during reconfiguration to avoid TX watchdog event Issue 34335: ~ Fix driver load failure due to symbols exported on some kernel versions ### v3.3.3.6329 -- Update release Issue 38482: ~ Fix issue in dealing with multicast mismatch present in v3.3.0.6262, which was caused by the fix for Issue 31533. This could cause old packet data to be received (and hence could look like packet loss, or out-of-order packets). The bug hits when the following events coincide: 1) The arrival of a frame that is discarded by the driver. 2) The receiving channel is in "page-mode" for RX buffer allocation. 3) The previous packet received has been consumed and freed. By default the RX allocation mode is selected automatically by the driver according to the traffic profile, and will prefer page-mode when packets that can be handled by kernel GRO dominate. A workaround for affected drivers is to set the driver parameter "rx_alloc_method=1" (to force SKB based allocations). Issue 37963: ~ Allow PTP to work with vlans post 2.6.37 Issue 37405: ~ Add kernel compat for RHEL 6.5 backport of ARFS ### v3.3.0.6309 -- Update release Issue 34948: ~ Fix CPU soft-lockup on interrupted self-test Issue 34511: ~ Fix kernel panic when VLAN group rapidly created/destroyed Issue 30759: ~ Changes to max buffer table and VI advertised via driverlink ~ Respect num_vis setting even if it exceeds the heuristic limit Issue 35637: ~ Fix kernel panic on RX completion with unexpected index Issue 35644: ~ Use hardware checksum offload under circumstances when we previously didn't (specifically, packets not aggregated by LRO and not passed into GRO) Issue 35774: ~ Remove sfc_tune from RPM builds and disable CONFIG_SFC_TUNE Issue 36530: ~ Kernel compat fix for getnstime_raw_and_real() on 2.6.26.8 Issue 37257: ~ Build fixes for Linux 3.10: VLAN API, I2C API Issue 37256: ~ Remove write permission from phy_type attribute (Linux 3.10 compatibility) Issue 37280: ~ Update netdev notifier function for API change in Linux 3.11 Issue 37110: ~ Always store port number in private data, not net_device::dev_id Issue 35400: ~ PTP: Fix incorrect filter address for PTP Peer Delay Multicast Issue ~ PTP: Fix crash if PTP hardware clock cannot be registered Issue 37248: ~ PTP: mask out PCP and DEI fields in VLAN matching ### v3.3.0.6262 -- Update release Issue 31533: ~ Fix sync of RX DMA buffer when it is not the last in the page (non issue on x86 servers) Issue 31533: ~ Fix efx_rx_buf_offset() in the presence of swiotlb (used on 32bit systems with >3Gb RAM) Issue 33851: ~ Fix very rare data corruption - use TX push only with a single descriptor Issue ~ AOE: Expose FC partition for use by sfupdate Issue 33711: ~ PTP: Fix for MC statistics. Issue 33719: ~ PTP: Check that PTP is enabled in the kernel before compiling PHC support Issue 34355: ~ PTP: Guard against using PPS ioctl API on non-PTP adapters Issue 34356: ~ PTP: Improve accuracy of PPS timestamps Issue 34482: ~ PTP: Fix to SO_TIMESTAMPING system timestamps (in conversion of hardware timestamps) ### v3.3.0.6246 -- Update release Support for Enhanced PTP daemon, including: ~ Support for VLAN tagged PTP packets ~ Configurable receive filtering for VLANs, PTP Domain number and UUID ~ Timestamping of multicast PTP packets on PTP Primary and Peer Delay Multicast addresses ~ Timestamping of unicast PTP packets sent directly to host ~ Separate interfaces to apply a clock offset and adjust the clock frequency ~ IOCTL interface to facilitate synchronization to an external PPS signal ~ Support for recent kernels that include the PHC API Early support for AOE SFA6902F boards General improvements / fixes: ~ Various kernel compatibility fixes up to linux 3.7 Issue 21056: ~ Dropped packet stat ("rx_nodesc_drop_cnt" in ethtool -S) no longer counts drops until interface is fully up Issue 32292: ~ Fix potential kernel warning from efx_hard_start_xmit when changing MTUs (lock TX queues before calling netif_device_detach()) ### v3.3.0.6222B -- Feature release General improvements / fixes: ~ Support for byte queue limits (requires Linux 3.3) ~ Do not fail probe when NVRAM MAC address is invalid ~ Fix races between net device operations, online reset, power management and hotplug ~ Keep NICs quiescent after they have been disabled ~ Improve log messages in case we abort probe due to a pending reset ~ Correct the reported priorities of different filter types ~ Fix spurious array bounds error in efx_filter_redirect_id() ~ Fix PTP synchronisation on big-endian architectures Issue 21781 / 24969: ~ Reduce TX latency by using copy buffers for short fragmented packets This adds the "tx_copybreak" module parameter which sets the size of a TX copy buffer. The size must be a power of 2 between 128 and 4096 (default 128) Issue 24887: ~ Implement VLAN tag insertion for SFC9000 family Issue 31308: ~ Enable VLAN SG and TSO offloads for SFC9000 family on RHEL 5.5+ Issue 20784: ~ Add hardware monitor for sensors managed by firmware Issue 23165: ~ Implement the VF spoofchk (TX filtering) attribute (requires Linux 3.2) Issue 30065: ~ Fix compilation issues with 3.4 kernels Issue 31530: ~ Fix reporting of IPv4 full filters through ethtool/sfctool Issues 31576 / 22910: ~ Really disable flow control while flushing Issue 31671: ~ Work-around flush timeout when flushes have completed ### v3.2.1.6110 -- Update release Issue 30436: ~ Remove duplicate calls to suspend and resume driverlink during self test reset Issue 31308: ~ Fix reduced performance under some older RHEL versions with VLANs Issue 31045: ~ Add RHEL4.8 support Issue 31092: ~ Fix incorrect usage line in sfctool --help output ### v3.2.1.6099 -- Update release Issue 30312: ~ Latency reduction: Use 128bit write for TX descriptor push Issue 28547: ~ Enhancement: Expose SFP+ module vendor information via ethtool Issue 30286 / CVE-2012-3412: ~ DoS protection - prevent extreme TSO parameters from stalling TX queues Issue 30845: ~ Self-test: disable VFs and never set RX_DESCQ_EN for safety Issue 26646 / 22607: ~ Fix possibility of some statistics counters being non-contiguous Issue 30038: ~ Build fix for kernel 3.4-rc5 Issue 30762: ~ Fix kernel-compat test for PCI VPD in sysfs ### v3.2.1.6090 -- Update release Issue 28324: ~ Fix recovery path from memory parity hardware errors ~ Add module option "efx_disable_port_on_mpe" to top recovery and disable interface (to allow bonding to fail over on such errors) Issue 29760: ~ Report serial number of adapter on memory parity hardware error Issue 25050: ~ Limit number of retries on RX queue flush hardware failures Issue: ~ Fix missing cleanup in failure path of efx_pci_probe() Issue 29758: ~ Reporting of MC scheduler message downgraded Issue 26972: ~ Fix start of day NAPI race < 2.6.24 Issue 23581: ~ Display warning of fail to create MTD partition Issue 28008: ~ Timer quantum is incorrect for Falcon user-mode queues Issue 20567: ~ Fix kernel panic with efx_mcdi_phy_remove on failure path to probe port Issue 27481 ~ Fix possible race when stopping TX queues Issue 28139: ~ Self test can fail on machines that disable interrupts for > 10ms Issue 28767: ~ Build fix for kernel 3.3 Issue 28406: ~ SR-IOV: Fix race condition involving rtnetlink and pci_enable_sriov Issue 27202: ~ SR-IOV: Fix initialisation and teardown race Issue 28110: ~ SR-IOV: Correctly set TX MAC filter search limits Issue 27924: ~ SR-IOV: Pass timer quantum over VFDI for SFN6122F support Issue 28404: ~ SR-IOV: RSS only works on VF if also enabled on PF Issue 28528: ~ SR-IOV: Correct validation of allocation size in peer_page_count Issue 27838: ~ Implement EFX_FILTER_FLAG_RX_OVERRIDE_IP for 'default' filters Issue 27571: ~ RX n-tuple interface now deprecated, replaced by RX NFC (users that are configuring RX n-tuple filters with sfctool must also update sfutils to version 3.2.1.6079 or later) Issue 27514: ~ Allow RX hash insertion to be disabled Issue 26944: ~ Self test on driver load removed from Onload build of driver Issue 22798: ~ Set IRQ affinity_hint where supported Issue 28546: ~ Display adapter part number (from VPD) in syslog Issue 28086: ~ Display turbo mode in sysfs Issue 29546: ~ Refill RX rings as soon as space for a batch (reducing latency jitter) ~ Fill RX rings completely full, rather than to 95% full ### v3.2.0.6044 -- Update release Issue T2716: ~ Build fix for sfc_minimal=1 Issue 27569: ~ Build fix for gcc 4.6 Issue 27486: ~ Build fix for RHEL5.7 2.6.18-274.12.1.el5 Issue 27466 ~ Build fix for Linux 3.3 Issue 27470: ~ Fix ethtool -x support Issue ~ SR-IOV: Explicitly keep track of which channel is used for VFDI ### v3.2.0.6040 Support for the SFN5322F SFP+ Precision Time Synchronization Server Adapter Support for the Solarflare SFN6122F Dual Port SFP+ Server Adapter Issue 19619: ~ Remove TX completions from adaptive IRQ scoring Issue 27202: ~ SR-IOV Prevent VFDI and netlink VF ops racing with init/fini of VF state Issue 27001: ~ Don't run on-load self-tests on RT kernels Issue 26985: ~ Work around compiler bug causing incorrect checksums ### v3.1.0.4091 -- Update release Issue 26616: ~ Fix possible self-test failure on driver load - remove dependence on NAPI polling Issue 26697: ~ Fix logging in debug driver on Linux 2.6.34+ Issue 26408 ~ Build fixes for Linux 3.1 Issue 26406 ~ Redhat 6.2 build fix - EFX_HAVE_NTUPLE_SUPPORT compat test Issue 24109 ~ Make all MAC statistics consistently 64 bits wide Issue ~ SR-IOV: correct warning on error from efx_mcdi_rpc(MC_CMD_FLUSH_RX_QUEUES) Issue 26841 ~ SR-IOV: Use full memory barriers at entry and exit of efx_sriov_memcpy() Issue 26436: ~ SR-IOV: Correct validation of VI indices within VF Issue 26437: ~ SR-IOV: Report unsupported VFDI operations specifically and quietly ### v3.1.0.4083 -- Update release Issue ~ Fix assertion failure when using SFC4000 with internal SRAM Issue 25985 ~ Export rss_spread through driverlink Issue 26000 ~ Build fixes for Linux 3.1 Issue 6531 ~ Use correct fields of struct ethtool_coalesce Issue 24380 ~ Correct reporting and validation of TX interrupt moderation Issue 24380 ~ Correct error code for unsupported interrupt moderation parameters Issue 25815 ~ Change rss_cpus default to "cores" Issue ~ Fix kernel compat condition for EFX_HAVE_ETHTOOL_RESET Issue 25542 ~ Fix build failure on Linux 2.6.25 Issue 25542 ~ Avoid build errors with some gcc versions Issue 25420 ~ Export efx_filter_set_{uc,mc}_def() Issue 25414 ~ Fix statistics lock handling Issue 23143 ~ Revert use of write-combining - unsafe on some platforms Issue 23128 ~ Update driverlink API version to 5 Issue 23177 ~ Check for irregular filter tables in efx_restore_filters() Issue 23128 ~ Add support for RX unicast/multicast default filters Issue 22885 ~ Flush software RX pipeline when stopping datapath Issue 24612 ~ Install sfc_tune.ko under 'extra' subdirectory Issue ~ Make LRO module parameter read-only Issue 19703 ~ Reduce number of workqueues used Issue ~ Make reset_nic try ETHTOOL_RESET before private ioctl Issue ~ Cleanup Company/adapter names Issue ~ Use napi_gro_(receive_frags)_gr() on RHEL6.1 Issue ~ Fix MAC statistics on big endian platforms Issue ~ Add EFX_USE_GRO build time parameter Issue 25756 ~ SR-IOV: Don't reset the PF if a VM causes a descriptor fetch error Issue 25486 ~ SR-IOV: Add SCATTER_EN support to VFDI_INIT_RXQ Issue 24004 ~ SR-IOV: Change the vf_limit that rtnetlink exports to 32 Issue 25091 ~ SR-IOV: Only broadcast the peer list when it changes Issue 21004 ~ SR-IOV: Move VFDI processing onto its own workqueue for onload Issue 23954 ~ SR-IOV: export remaining VIs via driverlink when target_num_vis=0 Issue 24582 ~ SR-IOV: Fix "sleeping whilst atomic" during FLR Issue 24373 ~ SR-IOV: Remove the VF MAC address from the peer list when there is no RX filter. Issue 24373 ~ SR-IOV: Fix crash when init/fini races with sysfs/netlink access Issue 24373 ~ SR-IOV: Broadcast the peer list from a work item Issue 23696: ~ SR-IOV: Reduce the maximum VF EVQ size to 8192 entries Issue 24293: ~ SR-IOV: Add module parameter to control tx filtering Issue 21004 ~ SR-IOV: Insert a VF security filter when MAC address non-zero Issue 23954: ~ SR-IOV: Advertise configuration through driverlink Issue 23905 ~ SR-IOV: Reprogram the rx filter when the VF address changes Issue ~ SR-IOV: Fix calculation of driverlink buffer table limits Issue 23843 ~ SR-IOV: Support legacy interrupts on the PF Issue 23676: ~ SR-IOV: Fix mac_addr/tci export ### v3.1.0.4047 Performance: - TX push: reduces TX latency - Write-combining: reduces TX latency (dependent on kernel version) - RX hash insertion: allows faster flow lookup in software - Driver structures reorganised for improved cache locality Features: - SR-IOV support: host-side support for accelerated guest networking in KVM and Xen - RX n-tuple support: use 'ethtool -U' or 'sfctool -U' as an alternative to the sfc_affinity module - Soft-TSO statistics: included in statistics reported by 'ethtool -S' - Driver logging control: for diagnostic purposes, use 'ethtool -s ethX msglvl ...' to enable and disable messages - Register dump support: for diagnostic purposes, use 'ethtool -d' to dump register state ### v3.0.11.2248 -- Update release Issue 22752 ~ Fix CPU topology package selection Issue 22539 ~ Fix potential crash on load - drop packets received during on-load selftest setup Issue 22157 ~ kernel compat fix for 2.6.37 - print_hex_dump() Issue 20990 ~ LRO possible data corruption - remove padding in first skb in super-packet Issue 21637 ~ Report link-down through ethtool API whenever interface is down Issue 21679 ~ Fix build failure on recent non-SMP kernels Issue 21675 ~ Fix build failure with Debian 2.6.36 ### v3.0.8.2221 -- Update release Issue 21669 ~ Fix issue with multiple ports/adapters, where each port has different number of MSI-X interrupts allocated by the kernel Issue 21641 ~ Changing RX/TX ring size can crash when using legacy interrupt Issue 21204 ~ Log message at start and end of ethtool self-test Issue 21639 ~ Build fix for MRG 1.2 (change TX multiqueue compat tests), use proper functions to tell networking core how many queues we have Issue 21499 ~ Include Onload events in NAPI budget Issue 21530 ~ CPU topology fix for some AMD CPUs Issue 21477 ~ ethtool get permanent MAC address fix for 2.6.23+ Issue 21478 ~ WoL - use currently configured MAC address Issue 21465 ~ Standardise basic RPM build dependencies Issue 21437 ~ fix bogus gcc 4.5 build warning/error Issue 21351 ~ Fix for dual speed optics fix using ethtool -s speed Issue 21267 ~ Event based MCDI completion and MC REBOOT/CMDDONE ordering issue Issue 21197 ~ Store the real advertising mask for PHYs - allow us to push back changes correct after an MC reset Issue 19930 ~ Additional validation of userland MCDI request length Issue 20165 ~ Do not preallocate MSI-X vectors (to workaround bugs in older kernels) - can cause interrupt breakage on newer kernels Issue 21069 ~ Remove MDIO dependencies in minimal build Issue 21111 ~ Remove broken automatic fallback for invalid SFC4000n chip/board config Issue 21099 ~ Always read MC firmware version when requested through ethtool Issue 20990 ~ LRO possible data corruption - remove padding from skb fragments Issue 21025 ~ Return error code for invalid ring parameters - prevents kernel panic on invalid settings Issue 20803 ~ SFN4112F: fix issue where self-tests could stop further RX traffic Issue 20807 ~ Handle configs with > 32 TX queues Issue 20798 ~ Fix rss_cpus=cores on mrg-1.3 Issue 19792 ~ SFN4122F: Clear LM87 alarm/interrupt status at start of day Issue 20662 ~ Some MCDI errors are expected - downgrade error message Issue 20649 ~ Fix error message when setting invalid ring parameters ### v3.0.6.2199 -- Update release Issue 20541 ~ Support large rx ring >2048 entries on 64bit kernels Issue 20441 ~ Fix rss_cpus=cores for kernel header only builds Issue 20602 ~ Fix build issue on RHEL 5.6 Issue 18658 ~ Enable TSO for VLAN devices on RHEL 5.5+ Issue 20567 ~ Fix failure paths in efx_probe_port (could cause kernel panic on unload) Issue 19129 ~ Don't display packet drops as errors in ifconfig Issue 18658 ~ Enable TX checksum offload and TSO for VLAN devices on RHEL 5.5+ Issue 20359 ~ Avoid aliasing warning from gcc 4.4.4 Issue 20262 ~ Fix SIOCEFX for 32bit processes (used by sfupdate to reboot MC firmware) Issue 20065 ~ Allocate DMA and event rings using GFP_KERNEL Issue 20055 ~ Log ethtool and MCDI params when set link fails Issue 19906 ~ Change rx_bad to be FCS error count Issue 19996 ~ Midrange NIC support Issue 20006 ~ Support builds without HWMON Issue 19983 ~ Define unlocked_ioctl instead of ioctl for 2.6.36 Issue 19985 ~ Adapt to 64-bit net_device statistics for 2.6.36 Issue 19951 ~ Fix 2.6.27.19-5-xen module load failure ### v3.0.5.2175 -- Update release Copyright --------- Copyright 2009-2016 Solarflare Communications Inc. All rights reserved. Use is subject to license terms.