AMD Solarflare 8.x Linux utilities
==================================
Version:        8.3.4.1000


Overview
--------

This package is the AMD Solarflare Utilities RPM for Linux. It contains
 - sfupdate: a flash firmware update utility 
 - sfboot: a boot ROM configuration utility
 - sfkey: a license management utility for X2xxx and SFN8xxx
 - sfctool: a utility to configure or display linux driver/hardware parameters

This package is supplied as a 64-bit binary RPM for 64bit distributions with
no support for 32bit applications. 


Using the AMD Solarflare Utilities
----------------------------------

To update the firmware on your AMD 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 "AMD Solarflare Server Adapter User's Guide" (SF-103837-CD):
  - Section "Configuring the Boot Manager with sfboot"
  - Section "Upgrading Adapter Firmware with sfupdate"


Supported hardware platforms
----------------------------
The utilities in this package support the following AMD Solarflare adapters:

  - AMD Solarflare Server Adapters:
      - AMD Solarflare XtremeScale X2541 PCIe Single Port QSFP28
      - AMD Solarflare XtremeScale X2542 PCIe Dual Port QSFP28
      - AMD Solarflare XtremeScale X2522-25G PCIe Dual Port SFP28
      - AMD Solarflare XtremeScale X2522 (10G) PCIe Dual Port SFP28
      - AMD Solarflare SFN8522 Dual Port SFP+ Server Adapter
      - AMD Solarflare SFN8522M Dual Port SFP+ Server Adapter
      - AMD Solarflare SFN8042 Dual Port QSFP+ Server Adapter
      - AMD Solarflare SFN8542 Dual Port QSFP+ 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:
      - AMD Solarflare 2522-25G-PLUS Ethernet 10/25Gb 2-port SFP28 Adapter for HPE
      - AMD Solarflare 2522-25G Ethernet 10/25Gb 2-port SFP28 Adapter for HPE
      - AMD Solarflare 2522-25G Ethernet 10/25Gb 2-port SFP28 Adapter for Lenovo


Firmware versions
-----------------

The flash firmware update utility (sfupdate) embeds the various 
firmware images used for the Xilinx adapters. This version
of sfupdate contains the following firmware versions:

  - Controller firmware           v8.6.3.1000 (for X2xxx and SFN8xxx adapters)
  - BootROM image                 v5.2.2.1006
  - UEFI driver                   v2.9.6.9    (for X2xxx adapters)
                                  v2.9.6.3    (for SFN8xxx adapters)
  - Board support micro firmware  v2.2.0.1000 (for X2xxx and SFN8xxx adapters)
  - Firmware family               v8.6.3.1001
  - Release collection            v8.6.3.1001
  - Bundle version                v8.6.3.1001 (for X2xxx adapters)


Support
-------

Please contact your local AMD support representative or email
<support-nic@amd.com>.


Known Limitations
-----------------
  - On X2522, X2522-25G, X2541 and X2542 adapters running firmware v7.8 or
    higher, performing a firmware downgrade to pre-v7.8 firmware versions may
    fail.
    Please follow the sequence below for firmware downgrade:
    ~ Using sfutils v8.1.2.X or newer, run
      sfboot -i <ethX> permit-fw-downgrade=yes
    ~ Reload sfc net driver
    ~ Perform the downgrade using the required version of sfupdate.

  - 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 SWUTILS-827:
  ~ On certain linux distributions, invoking sfupdate on X2xxx adapters to
    perform a firmware update on an adapter may fail. The failure is due to
    an incompatibility between sfupdate and the in-distro sfc net driver.
    Please install the latest sfc net driver.
    Contact Xilinx support team at support-nic@amd.com for more information.

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)
-------------------------------

### v8.6.3.1000

Issue SWFWHUNT-6882:
  ~ Increase current warning thresholds

### v8.6.2.1000

Issue SWFWHUNT-6762 / KI-000036179:
  ~ Fix FEC auto-detection for optical modules
    For more details, please read the article at
    https://support.xilinx.com/s/article/000036179?language=en_US

### v8.6.1.1000

Issue SWFWHUNT-6737:
  ~ Fix selection of boot image between iPXE and UEFI driver

### v8.6.0.1006

Issue SWFWHUNT-6702:
  ~ Report sensor hysteresis in PLDM commands
Issue SWFWHUNT-6710:
  ~ Enable/disable event cut-thru based on sfboot setting.
Issue SWFWHUNT-6583:
  ~ Improve robustness when encountering backpressure on PCIe link
Issue SWFWHUNT-6696:
  ~ Work around Dell NC-SI specification issue that resulted in incorrect
    cable type reporting
Issue SWFWHUNT-6669:
  ~ Fix intermittent link issue on some 10G fixed speed modules/cables.
    Retry link training if it fails to complete within 3s.
Issue SWFWHUNT-6518:
  ~ Reduce the default event merge timeout for SFP28 X2 adapters to reduce
    latency on base adapters
Issue SWFWHUNT-6672:
  ~ Always wait 2s after module insertion before attempting link up.
Issue SWFWHUNT-6653:
  ~ Improve statistics update state machine to avoid statistics occasionally
    failing to increment
Issue SWFWHUNT-6639:
  ~ Avoid race condition between TX alternatives setup and 8xxx link change
    workaround
Issue SWFWHUNT-6542:
  ~ Fix FW assertion caused by certain sequences of TX alternatives usage
Issue SWFWHUNT-6572:
  ~ Fix selection between gpxe and iPXE images
Issue SWFWHUNT-6561:
  ~ Remove artificial limit on max buffer table size
Issue SWFWHUNT-6574:
  ~ Filter multicast traffic correctly when using a double VLAN

### v8.5.0.1002

Issue SWNETLINUX-4033
  ~ Blank out LINKDOWN bit when not running with Port Shutdown to avoid side
    effects on link state
Issue APPFW-331
  ~ Fix FPGA loopback mode
Issue APPFW-425
  ~ Handling function ops cleanly when PCIe interface down
Issue SWFWHNT-6499
  ~ Improve CTPIO handling for corner-cases
Issue SWFWHUNT-6531
  ~ Add PCIe state checking to PTP before sending events
Issue SWFWHUNT-6524
  ~ Require module temperatures to be stable for three cycles
Issue SWFWHUNT-6524
  ~ Ensure all builds ignore one spurious module reading

### v8.0.0.1015

Issue SWFWHUNT-6361:
  ~ Fix IP multicast filters not working when NCSI enabled
Issue SWFWHUNT-6408:
  ~ Avoid link loss on X2 10G only adapters
Issue APPFW-332:
  ~ Add quirk for modules that need a delay after reading interrupt registers.
Issue SWFWHUNT-6337:
  ~ Mask interrupts on inactive channels.
Issue SWFWHUNT-6365:
  ~ Add debug for QSFP faults.
Issue APPFW-322:
  ~ Fix NC-SI global multicast filtering
Issue SWFWHUNT-5936:
  ~ NCSI - Don't store datapath resets
Issue APPFW-362:
  ~ Don't drop link on xx_LOS or xx_FAULT

### v7.8.5.1002

Features:
  ~ Add support for Alveo U25

### v7.8.2.1011

Features:
  ~ Add support for X2562 R2.3 variant
  ~ Improve PCIe reset handling
    ~ Improve robustness to PERST assertion shortly after in-band reset.
    ~ Improve PCIe inter-op on server specs on which ref_clk can stop without
      prior warning.
    ~ Improve PERST (de)assertion handling on server specs where ref_clk can
      remain stopped whilst PERST is deasserted.

### v7.8.0.1022

Features:
  ~ Sensor reporting over emulated I2C device for X2522-25G
  ~ Add support for alternate set of sensor limits on X2522-25G (to support
    cold-aisle airflow)
  ~ Update cold-aisle sensor limits for X2522-25G
  ~ Enable signed package update of software binaries on X2522-25G adapters.

Issue SWFWHUNT-6322:
  ~ sfptpd stops detecting PPS events after driver reload
Issue SWFWHUNT-6316:
  ~ Fix EL2NSYNC error while allocating a timestamping VI.

### v7.7.0.1015

Production release of firmware for X2562 Adapters.

Features:
  ~ NC-SI.  Improve conformance with DSP0222

Issue 86870:
  ~ Add workaround for Dell z9100 switch when AN enabled
Issue 85886:
  ~ Add quirk for Arista SFP-10G-DAC module

### v7.6.2.1006

Production release of firmware for X2552 Adapters.

Features:
  ~ Insert a TX source MAC filter on functions without MAC spoofing privilege
  ~ Implement NC-SI passthrough statistics
  ~ Implement FEC auto-detection on optical modules

Issue 79740:
  ~ NCSI multicast filters are now fully independent of driver filters
  ~ Unicast filters are not, i.e. the BMC can't share the host's MAC address.
Issue 85162:
  ~ MCTP over PCIe VDM: Correctly pad PCIe VDMs
Issue 84438:
  ~ X2xxx. Account for port-mode in controller die temperature compensation
Issue 85537, 86297, 85700, 86287, 86298, 87172:
  ~ Fix interop issues with some modules and cables
Issue 85243:
  ~ Fix link issue with 1000BASE-LX modules
Issue 85855:
  ~ Prevent non-enumeration when increasing PF count followed by warm-reboot
Issue 85973:
  ~ Implement proper rate control select for dual speed 10G/25G SFP modules
Issue 86754:
  ~ Correct some NC-SI statistics
Issue 86973:
  ~ TCP checksum sometimes wrong when using PIO on packets with L2 padding
Issue 88297:
  ~ Prevent VPD output being truncated if it changes length dynamically
Issue 83803:
  ~ Attempt to recover after SFP module error

### v7.5.0.1022 - X2xxx and 8xxx Update Release

Issue 86957:
  ~ Fix 40G parallel detect regression on 8xxx series
  ~ Fix active lane detection issue which can cause a port to configure to the
    wrong link speed


### v7.5.0.1021 - X2xxx and 8xxx Update Release

Issue 85115:
  ~ Fix issue where the packet drop counter can increment incorrectly while
    using a bond together with full-feature firmware and RX event merging


### v7.5.0.1019 - X2xxx and 8xxx Update Release

Issue 84822,84830:
  ~ Improved Tx performance in 100G operation
Issue 82708:
  ~ Modify event merge timeout to increase throughput performance
Issue 73153:
  ~ Fix issue seen during BIST on X2xxx adapters
Issue 84258:
  ~ Improve accuracy of thermal sensor on x2541
Issue 84111:
  ~ Increase time allowed for link Parallel Detect to complete
Issue 84020, 83585:
  ~ Improved 25G Link negotiation and tuning
Issue 83803:
  ~ Re-read the SFP module data if checksum verification fails
Issue 84039:
  ~ Disable Device Readiness Status (DRS) PCIe message as found to cause
    interop issues on some machines
Issue 84144:
  ~ Improve PCIe interoperability
Issue 80797:
  ~ Disable PCIe relaxed ordering (RO) for RX data to improve performance on
    some systems


### v7.5.0.1009 - X2xxx Update Release

Issue 81966:
  ~ Additional temperature sensor.
Issue 82588:
  ~ Introduce critical limits for PLDM sensors.
Issue 82501:
  ~ Improved link training against 3rd party hardware.
  ~ Enable VGA stage in Rx link training.
Issue 83311/82411:
  ~ Firmware-assisted TSO performance enhancements.
Issue 82340:
  ~ Manageability: Allow for a management MAC address.
Issue 81056:
  ~ OCP "Lights out" lower power support enhanced.
Issue 80908:
  ~ Allow 64K descriptor rings. 


### v7.4.4.1000 - X2xxx Update Release

Issue 82588:
  ~ PLDM Monitoring. Introduce critical level thermal limits in addition to
    warning and fatal.
Issue 82587:
  ~ MCTP. Report correct MCTP version numbers.
Issue 82130:
  ~ Sensors. Remote fatal level and ammend warning level for PCIe rails.


### v7.4.2.1005 - X2542 Update Release

Issue 76722:
  ~ X2542. Fix issue that can cause link-up to take a long time when the adapter
    is connected to another X2542 and auto-negotiation is enabled.


### v7.4.2.1002

Production release of firmware for X2542 Adapters.


### v7.4.0.1021

Production release of firmware for X2522-25 Adapters.

Features:
  ~ X2xxx Adapters. Production release of DPDK firmware variant
  ~ X2xxx Adapters. Support PLDM & NCSI over SMBus.

Issue 80992:
  ~ Fix issue that allows a firmware variant to be selected using sfboot that
    is not valid for a particular adapter.
Issue 80449:
  ~ X2522. Do not advertise 10G BASER FEC.
Issue 79077:
  ~ Packed-Stream Firmware Variant. Fix issue where packets that do not match
    a filter (and so are to be dropped) can cause the consumption and leakage
	of an RX-descriptor. Packed stream applications typically do not observe
	this issue as they install multicast and unicast mismatch filters.
Issue 60817:
  ~ Link. Fix issue that can cause an incorrect link speed to be selected in
    the situation where the link is forced to a specific link speed and then
    the cable is changed to another cable which does not support this speed.


### v7.1.1.1012 -- Production Release

Production release of firmware for X2522 Adapters. Includes firmware support
for ServerLock.


### v7.1.0.1006 -- Pre-production Release

Pre-production release of firmware for X2522 Adapters.


### v7.0.2.1005 -- Pre-production Release

Pre-production release of firmware for X2522 Adapters.


### v6.6.3.1001 -- 8xxx Update Release

Issue 77889/78005
  ~ SFN8542 & SFN8042. Fix issue that causes the firmware to report the
    wrong link speed (25G) when operating in 40G mode. When used with old
    linux net drivers that do not have support for 25G this causes a kernel
    panic e.g. in-tree kernel driver in RHEL6.9.


### v6.6.0.1017 -- 8xxx Series Feature release

Features:
  ~ SFN8542 and SFN8042. Add support for dual 2x10G port mode where two 10G
    ports are active on each QSFP Cage.
  ~ Support reading of thermal sensors from optical modules

Issue 76934:
  ~ Apply pseudo time when sensor presence changes so that PDR response
    contains an updated time.
Issue 76833:
  ~ NC-SI Enhancements:
    ~ Report appropriate NC-SI commands as un-supported, irrespective of the
      channel supplied.
    ~ Allow for MCTP header in output buffer.
    ~ Add further OEM NC-SI functionality.
    ~ Correct size of some OEM NC-SI responses.
    ~ Correct responses for some OEM NC-SI responses.
Issue 75970:
  ~ VMWare/ESX + SR-IOV. Fix issue that can the firmware to crash when a filter
    insertion requests from a Virtual Machine associated with a PCI VF is
    passed to the Hypervisor for authorisation.
Issue 75019:
  ~ Update NC-SI to support version 1.1.


### v6.5.2.1002 -- 8xxx Series Feature release

Features:
  ~ SFN8522M & SFN8042. Support for PLDM & NCSI over SMBus.

Issue 74899:
  ~ Fix issue that can cause the adapter to leak resources in certain
    scenarios when an Virtual Interface is freed but there is still an
    associated Event Queue allocated.


### 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.1001 -- 7xxx Update Release

Issue 74220:
  ~ 7xxx Series. Fix issue that causes the adapter to reboot when exiting
    SolarCapture Pro.


### 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).



Changelog (BootROM)
-------------------

### v5.2.2.1006

Issue SWBOOTROM-689
  ~ List bundle firmware version correctly in OptionROM

### v5.2.2.1004

Issue 85372:
  ~ Avoid leaving an uninitialised pointer
  ~ Avoid a memory leak when unregistering autovivified settings
  ~ Unplug an interface before closing it
  ~ Free static setting blocks

### v5.2.2.1002

Issue 85372:
  ~ Prevent double free of a detached IO buffer

### v5.2.1.1000

Issue 66819:
  ~ Port mode support for X25xx
  ~ Rename port mode names for SFN7xxx and SFN8xxx

### v5.2.0.1004

Issue 59840:
  ~ Remove support for SFN4xxx series adapters.

### v5.2.0.1000

Issue 80539:
  ~ Move boot image field to a rescue menu

Issue 80535:
  ~ Remove link speed field from the Ctrl-B menu

### v5.1.0.1006

Issue 64244:
  ~ Support for VI sizing on X25xx.

### v5.1.0.1005

General changes:
  ~ Production support for X2522 Adapters.
  ~ Update copyright year to 2018

Issue 78595:
  ~ Show new firmware variants in Ctrl-B menu

Issue 78562:
  ~ VLAN: Set firmware variant for non-primary PFs.

Issue 76030:
  ~ X2522 recovery and reset support.

### v5.1.0.1002

General changes:
  ~ Pre-production support for X2522 Adapters.

Issue 76863:
  ~ All Ctrl-B menu entries are read-only when the adapter is bound to a
    ServerLock controller.

Issue 75971:
  ~ Avoid link flap after doing a Ctrl-B menu write on X2522.

### v5.0.7.1000

Issue 76436:
  ~  Add support for ${mac:hexhyp} expression. This provides the MAC address
     separated by hyphens and allow for commands such as:
       chain pxelinux.cfg/${mac:hexhyp}

### v5.0.6.1002

Issue 76540:
  ~ Add support for NBP lpxelinux.0. This is a variant of PxeLinux that uses
    the lwIP stack.

### v5.0.6.1001

General changes:
  ~ Support Port mode 2x10G+2x10G for SFC8XXX.

Issue 72846 / 73441 / SF-119444-KI:
  ~ Fix possible general protection fault or hang when exiting from gPXE.

Issue 74985:
  ~ Support the CLP API on any function of an adapter.

Issue 75224:
  ~ Fix Reset to defaults option in Ctrl-B menu.

Issue 74878:
  ~ Fix LED blinking on unprivileged PFs.

Issue 75394:
  ~ Fix potential NULL pointer dereferences.
  ~ Unregister images automatically.

Issue 60286:
  ~ Avoid an ARP cache miss for the DHCP server.


### 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 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=<pf count>
    This is the number of available physical Functions.
  ~ Onload SR-IOV: New setting: insecure-filters=<enabled|disabled> (*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.9.6.9 - reissue

Issue UEFI-593:
  ~ Signed with OROM2023 certificate instead of MSFT2011

### v2.9.6.9 - Update Release

Issue UEFI-451:
  ~ Avoid performing memory deallocation in Exit Boot Services path to prevent
    EFI memory becoming fragmented

### v2.9.6.3 - Update Release

General:
  ~ Internal changes - no feature updates

### v2.9.5.10 - Feature Release

General:
  ~ Add MAC address to HII forms.

Issue UEFI-235:
  ~ Fixed some Memory Leaks

### v2.9.5.5 - Feature Release

   ~ Add MAC address to standard SF forms
Issue UEFI-220: 
   ~ Use FMPv3 for Dell adapters alone. For rest use FMPv2. 
Issue UEFI-233:
  ~ Fix black screen at start-up on certain old dell servers(r630, r640).
Issue UEFI-227:
  ~ RSOD with X2562 and X2522 in same machine on some servers. 

### v2.9.4.6 - Feature Release

  ~ Change the default for Legacy Boot Protocol in DELL OEM HII forms
    to None.
  ~ Only display the Wake on Lan configurable in racadm on adapters
    that support it
  ~ Prevent a potential crash with newly produced cards if the server
    was configured to detect software errors.
Issue UEFI-220:
  ~ Disable EFI_FIRMWARE_MANAGEMENT_PROTOCOL for all non-dell OEM cards

### v2.9.4.1 - Feature Release
  
New Features:
  ~ [HII] Added Wake On Lan configurable to DELL OEM adapters that support
    the functionality
General:
  ~ Amend language-dependent functions to the UEFI specification with respect
    to how the treat supported languages.
  ~ Silence spurious warning in libraries due to DEBUG ASSERT calls
  ~ [HII] Fix partial Chinese localisation strings in DELL OEM forms
  ~ [HII] Improve accuracy of localised strings
  ~ Fix an issue where sometimes MAC address couldn't be changed
  ~ Fix an issue where sometimes the driver would report garbage firmware versions
  ~ Clean up some API irregularities highlighted by the SCT suite
  ~ Remove a very unlikely dead loop due to buggy poll moderator
  ~ Rework the FMP embedded driver in capsules to use newly merged FmpDxeLib
  ~ Fix potential conflicts with older adapters causing debug output overload
    during boot
  ~ SimpleNetworkProtocol advertises support for MAC changing
  ~ SimpleNetworkProtocol publishes MAC stats
  ~ [HII] Add FR-fr, ES-es, DE-de, JP-jp, ZH-hans translations of DELL OEM forms
  ~ [HII] Enable Wake on Lan on both ports 
  ~ Only display the Wake on Lan on adapters that support it.
  ~ [HII] Add multi-language translations for improved strings for
    Firmware Variant help and for Wake On Lan help.
  ~ Increase code modularity for better robustness.

Issue JIT-149925:
  ~ Notify platform the driver already manages a given controller when asked
  ~ This improves compatibilty with some third-party test frameworks used to
    evaluate UEFI drivers.

Issue JIT-149806:
  ~ [HII] Change default for Legacy Boot Protocol from PXE to None

Issue JIT-149397:
  ~ [HII] Ensure that changing firmware variant requests a reboot from the platform

Issue UEFI-155:
  ~ Prevent a potential future crash when downgrading the SFC UEFI driver.

Issue UEFI-129:
  ~ Properly describe all managed components in ComponentName2Protocol.

Issue UEFI-135:
  ~ Correctly recover corrupted configuration flash partition

Issue UEFI-147/JIT-147928:
  ~ Correctly update adapters when X2562 and X2522-25G are updated via DELL
    iDRAC update at the same time.

Issue 88173:
  ~ [HII] Correctly initialise MSIX Limit value

Issue JIT-138721:
  ~ [HII] Amend help text in DELL OEM forms to denote firmware variant
    capabilities

Issue JIT-144766:
    ~ Use newly merged FmpDxeLib in EDK2 to support multiple adapters properly

Issue JIT-140236:
  ~ [HII] Correctly initialise the title text for the DELL OEM formset for
    languages other than English

Issue JIT-144465:
  ~ Fix a potential double free if a platform tried to update the same
    capsule twice without reloading the embedded FMP driver

Issue JIT-138721:
  ~ [HII] Clarify help text for Firmware Variant in DELL OEM strings

Issue 87241:
  ~ Ensure that ipxe does not flush iSCSI config on port 1 if it is pxe 
    booted into using port 2.

### v2.8.7.6 - Update Release

Issue JIT-132662:
  ~ Ensure that restoring defaults in DELL HII forms disables virtualisation

Issue JIT-131838:
  ~ Amend regex for Virtual Mac Address to disallow setting of multicast MACs

General:
  ~ Fix compatibility issue with SFN7XXX adapters in the same platform where
    in some cases the driver for SFN8XXX adapters would not bind 
  ~ Change Banner Timeout default value from 0 to 2 seconds in DELL HII forms

### v2.8.6.16 - Update Release

Issue JIT-129680:
~ Ensure we do not confirm bad defaults in HII callbacks in global menu
~ This resolves an issue where Advanced Options would not reset to Disabled
when defaults are invoked in some HII Browsers.

General:
~ Initialise Virtual Mac Address with zeroes to make sure bogus value is not
used when the address is not supported on the adapter.

### v2.8.6.14 - Update Release

General:
~ Amend the TPL handling in debug library to not attempt to raise TPL
higher than current level.

Issue JIT-128244:
~ Override default values in HII callback function for interactive confiurables
~ This resolves an issue where such configurables would not correctly
reset to defaults on some platforms with quirky HII browsers.

Issue JIT-125162:
~ Reduce the SNP advertised MaxPacketSize to 1500. This ensures that the
TCP Driver in platform stack does not offer oversize MSS leading to
potential packet loss when trying to transmit max-size frames over
networks with prohibited IP fragmentation.
~ This can potentially cause the software iSCSI initiator to enter an
infinite loop during the boot process if iSCSI is configured over such
network.

Issue JIT-129262:
Issue JIT-129417:
~ Correct spelling mistakes in DELL HII OEM forms.

Issue JIT-127533:
~ Add configuration support for the transparent VLAN functionality to
DELL OEM HII forms.

Issue 86328:
~ Resolve an issue where the adapter would sometimes not start using
the new firmware following an update using FMP.

### v2.8.6.4 - Feature Release

~ Capsule-embedded FMP driver for updates with UEFI Capsules

Issue UEFI-126:
~ Adapter-wide configurable Firmware Variant is now configurable from
any port on the adapter and the configuration should work on a
variety of platform with different form-save disciplines.

Issue UEFI-128:
~ The Firmware Family configurable in HII forms is populated by the
firmware bundle version if the adapter has been updated with a valid bundle.

Issue JIT-126595:
~ Read only HII strings should no longer reset to empty or zeroed defaults
when the user resets the settings to defaults using the HII browser.

### v2.8.5.4 - Update Release
~ Fix some conformance failures for OEM specific HII forms
~ Fix broken LED blinking functionality
~ General stability improvements

Issue 85799:
~ Resolve a potential hang on some platforms when teardown of our driver
is peformed

Issue JIT-113989:
~ Fix some typos in DELL OEM HII strings.
Issue JIT-123950:
~ Remove the legacy Option ROM toggle from DELL OEM HII forms. Configuration
of legacy boot protocols is sufficient.
Issue JIT-124809:
~ Resolve mismatch of reported Firmware Variant to actual variant of the
firmware active on the adapter.

### v2.8.4.1 - Update Release

~ Ensure only the newest SFC driver stays resident in memory and binds
against all controllers.
~ Numerous stability improvements
~ Switch the hardcoded debug serial port to COM2 because it is usually
better accessible using SOL.
~ Remove Wake On Lan configurable from OEM specific HII forms because
we do not support it on current set of adapters.

### v2.8.1.1 - Update Release

~ General stability and modularity improvements
~ Add Firmware Variant configurable to OEM specific HII forms​ 

### v2.7.8.5 - Update Release

  ~ General stability and modularity improvements
  ~ [HII] Move port mode configuration options into a separate form
  ~ [HII] Add a warning text about changing port mode and require a specific
    user action to confirm.
  ~ FirmwareManagementProtocol implementation capable of writing the UEFI driver
  ~ Performance improvements to the datapath

Issue UEFI-93:
  ~ Fix an issue where an empty AIP block with a NULL GUID was advertised

### v2.7.5.0 - Update Release

Issue UEFI-103:
  ~ Report the UEFI driver version to firmware during probe. This allows
    the manageability firmware to report the driver version to the BMC.

Issue UEFI-66:
  ~ Add a timeout to VPD reading, fixing the potential issue where the 
    adapter could hang the platform on boot in case of VPD failure.

Issue UEFI-88:
  ~ Change the PXE client UNDI version from 3.10 to 3.16. This might affect
    how the platform PXE client interacts with the PXE server and might 
    require reconfiguration of the DHCP/PXE server if the configuration is
    sensitive to the PXE client UNDI version.

General Fixes:
  ~ [HII] Fix potential issue with HII strings not fitting into VFR fields.
  ~ [HII] Ensure FirmwareFamily field is populated with defaults in case 
    of VPD failure
  ~ [HII] Add bigger warning labels to the Manufacturing Defaults button
  
### v2.7.4.0 - Update Release

Issue UEFI-90:
  ~ Fix the issue where link state in the SFC HII form was not dynamically 
    updated to correspond to the actual state of the link.

Issue UEFI-102:
  ~ Change the MAC stats to be driven by UEFI events instead of NIC to
    prevent memory corruption due to rogue DMA with some platforms that
    do not properly implement ExitBootServices

Issue UEFI-101:
  ~ Add a configuration option to Global Driver Configuration screen
    that lets the user prevent extraneous DMA accesses in case the platform
    does not correctly implement ExitBootServices

Issue UEFI-20:
  ~ Add require flags to image descriptors to make sure that the standard
    ESRT driver implementation populates the ESRT with SFC entries
  ~ Actually perform a flash write when using FMP to update firmware

AARCH64 Compatibility:
  ~ Ensure that transmit buffers are properly DMA mapped before dispatching
    them to the NIC.

Issue 82225:
  ~ Also fix the issue when changing port mode on x2541-100G and x2542-100G
    to [1x50G][1x50G] that results in an invalid configuration.

### v2.7.3.2 - Feature Release

Firmware Mangement Protocol:
  ~ Add support for getting and setting of firmware images
  ~ Add Hardware Instance reporting
  ~ Populate UEFI OptionROM image descriptor

Other:
  ~ Improve VPD handling. All VPD will be gathered at the probe time and
    cached for future use instead of dynamically accessing VPD when needed.
  ~ Remove internal SMBios representation and use platform provided SMBios 
    protocol
  ~ General stability improvements

Issue 81505:
  ~ Stability improvements when chain-loading ipxe 

### v2.7.2.11 - Update Release

Issue 82225:
  ~ Fix misconfiguration occurring when a user changed port mode on adapters
    that support 50G link speeds.

### v2.7.2.10 - Update Release

  ~ [HII] Make sure the Legacy Option ROM enablement is correctly propagated
    to the rest of the PFs on the same adapter
  ~ [HII] Hide advanced configuration options better to not confuse the user
  ~ [HII] Add support for Virtual Mac Address
  ~ Changing the Port Mode no longer requires the user to power-cycle the
    platform.

Issue UEFI-63:
  ~ Fix potential issues with changing port mode on SFN8XXX adapters when
    changing to two internal ports.

Issue 81123:
  ~ [HII] Forms should no longer indicate that settings have changed when the
    user didn't change anything.
  ~ The LedState should no longer start with an invalid default value.

### v2.7.1.0 - Update Release

  ~ [HII] Add a Button to restore the Manufactoring Configuration from backup flash partition

  ~ Changing the Port Mode no longer requires a power-cycle
  ~ Fixed a potential issue where changing the port mode on some adapters could
    result in an invalid configuration

### v2.7.0.4 - Feature Release

  ~ [HII] Add Port Mode setting capability
  ~ [HII] Remove legacy link-speed setting capability
  ~ [HII] Add driver build date and time to global menu
  ~ [HII] Add VPD (Serial Number, Engineering Changes, Licences)
    reporting to Version Information page
  ~ Freeze SFN7XXX codebase. Now in maintenance mode.

  ~ Issue 80741: Fix potential issue that could lead to config corruption
    when resetting to defaults in UEFI Setup, if the board has not been
    cleared by sfboot utility first.

### v2.6.5.3 - Code Freeze for SFN7XXX adapters

  ~ Freeze codebase for the SFN7XXX adapters. Now in maintenance
    mode. Bugfix patches might be released for these adapters, but the driver
    version for SFN7XXX adapters will not advance beyond v2.6

  ~ [HII] Add Port Mode setting capability
  ~ [HII] Remove legacy link-speed setting capability
  ~ [HII] Add driver build date and time to global menu
  ~ [HII] Add VPD (Serial Number, Engineering Changes, Licenses) reporting to
    Version Information page

### v2.6.3.0 - Feature Release

  ~ Add support for configuration recovery if internal NVRAM is corrupt
  ~ [HII] Add SFC Driver Global Configuration menu
  ~ [HII] Add ability to restrict driver binding in case of fatal issues
  ~ [HII] Add driver version, build and instance count reporting
  ~ [HII] Add debug options allowing the user to get a lot more information with the help
    of Solarflare Support
  ~ [HII] Report overall firmware family version in Version Information

  ~ Remove misleading SAN support from AdapterInformationProtocol
  ~ Fix a some UEFI Setup utilities blinking once a second
  ~ Fix potential probe issues with many SFC adapters present in a machine
  ~ Issue 79523: Fix the issue where broadcast traffic might not be received
    on SFC adapters when manageability (NCSI) is enabled.
  ~ Issue 78261: Ensure that the driver correctly determines sensors on the adapter
  ~ Fix issues with non-privileged PFs causing them to not work

  ~ [HII] Remove obsolete PHY version from Version Information page
  ~ [HII] Improvements to HII packages publishing eliminating potential bug sources
  ~ [HII] Change LED flash functionality into a duration-based callback

### v2.5.2.2 -- Code Freeze for SFN5XXX and SFN6XXX adapters

  ~ Freeze codebase for the SFN5XXX and SFN6XXX adapters. Now in maintenance
    mode. Bugfix patches might be released for these adapters, but the driver
    version for SFN5XXX and SFN6XXX adapters will not advance beyond v2.5

  ~ [HII] Add version reporting to the HII formset

### v2.5.1.2 -- Update Release
  ~ [TSA] Set configuration to be read only when the adapter is bound
    to a TSA management agent
  ~ [HII] Fix potential guid comparison assert when we are asked to
    provide HII configuration blob without specifying which settings
    to include
  ~ Fix another poisoned pointer dereference
  ~ Clean up FMP GetImageInfo API which is ambiguous in the UEFI Spec
    and increase robustness against NULL parameters.

### v2.5.0.6 -- Feature Release
  ~ X2522 pre-production support
  ~ [HII] Add read-only port-mode display
  ~ [HII] Add reactive link status display
  ~ General stability and EDKII adherence updates
  ~ [HII] Robustness redesign for LED flashing and other reactive elements.
    LED flashing interval now set to 2 seconds.
  ~ [HII] Show external port id in function menu
  ~ Deferred initialisation reworked to use native event signalling, improving
    probe robustness
  ~ [TSA] Fix the hashing algorithm to be deterministic
  ~ Clean up several potential issues with iPXE that emerge from some shared
    memory interaction
  ~ Refactor the probe and teardown process to increase robustness. This should
    fix problems emerging from poisoned heap locations being dereferenced and
    causing RSoD on new platforms.
  ~ Other numerous robustness improvements.

### v2.4.5.4 -- Update Release

General Changes:
  ~ [HII] Change the default value for Boot Image to 'OptionROM & UEFI'.
  ~ Fix potential problem with SFN5XXX series adapters during boot where some
    platforms could crash.
  ~ Slightly reduce the datapath resources to unify them across adapters.
  ~ Fix potential issue where the first packet could be dropped instead of
    received if the link-speed negotiation is slow.
  ~ Fix a potential boot crash on Dell 13G platforms with some specific
    firmware versions on SFN8042.

### 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 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)
--------------------------------------------------

### v2.2.0.1000 -- Production Release

Issue SWFWHUNT-6761:
  ~ When operating in I2C master mode, send STOP on a NAK.

### v2.1.1.1032 -- Production Release
  ~ Add support for X2522-25G Lenovo Adapters.

### v2.1.1.1028 -- Production Release
  ~ Add support for Alveo U25

### v2.1.1.1027 -- Production Release

Issue APPFW-285:
  ~Improve watchdog handling
Issue APPFW-286:
  ~ Don't enable interrupts until module is initialised

### v2.1.1.1022 -- Production Release

Features:
  ~ Sensor reporting over emulated I2C device for X2522-25G


### v2.1.1.1022 -- Production Release

Production release of board support firmware for X2562 Adapters.

### v2.1.1.1012 -- Production Release

Production release of board support firmware for X2552 Adapters.

### v2.1.1.1003 -- Update Release

No changes other than version number.

### v2.1.1.1001 -- Update Release

Issue 83056:
  - Only light debug LED on error

### v2.1.1.1000 -- Update Release

Issue 82526:
  ~ MCTP. Fix issue that can cause MCTP to stop working after a warm reboot.
Issue 72857:
  ~ SMBUS. Allow assignment and retrieval of SMBUS address.


### v2.1.0.1007

Production release of board support firmware for X2522-25 and X2542 Adapters.


### v2.1.0.1001 -- Production Release

Production release of board support firmware for X2522 Adapters.


### v1.2.0.1004 -- Update Release

Issue 77965:
  ~ SFN8522M/SFN8042. Improve error recovery after detection of an I2C error.


### 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)
---------------------

### v8.3.4.1000

No changes other than the version number.

### v8.3.3.1000

No changes other than the version number.

### v8.3.2.1000
  ~ Update RPM metadata for AMD productisation.

### v8.3.1.1004
  ~ Add License file to binary rpm.

### v8.2.4.1004

No changes other than the version number.

### v8.2.1.1003

No changes other than the version number.

### v8.1.3.1008

No changes other than the version number.

### v8.1.3.1007

No changes other than the version number.

### v8.1.3.1006
  ~ Add support for Alveo U25

### v8.1.3.1001

No changes other than the version number.


### v8.1.2.1019
  ~ sfupdate and sfboot: Add support for signed package update on X2 adapters
  ~ sfboot: Add support for selecting alternate sensor limits on X2522-25G
  ~ sfupdate: Internal updates to improve build support for GPXe images


### v8.0.3.1000

Production release of firmware and utilities for X2562
  ~ Updated UEFI driver for X2xxx and 8xxx adapters


### v8.0.1.1004

Production release of firmware and utilities for X2552
  ~ Support for bundle update mechanism used by X2552

Issue 82216
  ~ Prevent deadlock when VPD reads do not complete
Issue 85722
  ~ Enabled serial console on ttyS0 in bootble ISO image


### v7.5.4.1001

No changes other than the version number.


### v7.5.3.1000

No changes other than the version number.


### v7.5.2.1000

No changes other than the version number.


### v7.5.0.1003

Issue 83424
  ~ sfupdate. Fix issue where iPXE ROM fails to install on 2xxx series adapters.
Issue 83929
  ~ sfboot. Allow recovery of an adapter with a corrupted configuration by using
    the --clear or --factory-reset options. Clarify that the --repair option is
    only of use on 7xxx series adapters.

### v7.5.0.1000

Issue 82216
  ~ sfboot, sfupdate & sfkey. The kernel can cache a VPD length of 0 if the first access fails, this causes subsequent VPD accesses by the utilities to fail. Work around this by getting VPD directly from PCI config space.


### v7.3.4.1001

No changes other than the version number.


### v7.3.3.1002

Issue 82112
  ~ sfboot. Fix issue where after using the factory-reset option, sfboot is no
    longer able to set the port mode to 'default'.


### v7.3.1.1001

Production release of firmware and utilities for X2522-25 and X2542 Adapters.

Features:
  ~ ServerLock. Addition of ServerLock adapter configuration tool sf_slacfg.

Issue 80992
  ~ sfboot. Fix issue that allows a firmware variant to be selected that is not
    valid for a particular adapter.
Issue 80829
  ~ sfboot. Allow up to 16 Physical Functions to be configured on single-port
    adapters.


### v7.1.3.1000

No changes other than version number.


### v7.1.2.1000

No changes other than version number.


### v7.1.1.1000 -- Production Release

Production release of firmware and utilities for X2522 Adapters.

Features:
  ~ X2522 & sfboot. This release includes an additional command line option
    'factory-reset' that restores the firmware configuration and Expansion ROM
    configuration to the default settings that the adapter was shipped with.


### v7.1.0.1003 -- Pre-production Release

Pre-production release of firmware and utilities for X2522 Adapters.


### v6.6.1.1002 -- Feature Release

Features:
  ~ SFN8542 & SFN8042. Add support for 2x10G+2x10G port mode where two 10G
    ports are active on each QSFP Cage. To configure this mode use the sfboot
    option:
      sfboot port-mode=2x10G_2x10G


### v6.5.1.1000

No changes other than version number.


### 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 SFN5xxx and SFN6xxx series adapters 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 = <timeout-in-ns>.

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=<default|4x10G|2x40G|1x10G|2x10G>
      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=<enabled|disabled>
      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=<enabled|disabled>
      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=<default|sriov|partitioning|
      partitioning-with-sriov|pfiov> 
      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=<pf count>
      This is the number of available physical Functions.
  ~ SRIOV: New setting: pfiov=<enabled|disabled>
      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=<enabled|disabled> (*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 2022-2026 Advanced Micro Devices, Inc.
Copyright 2002-2022 Xilinx, Inc.
All rights reserved. Use is subject to license terms.
