Solarflare Server Adapter User Guide SF 103837 CD 20 S
User Manual: Pdf
Open the PDF directly: View PDF .
Page Count: 400 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Table of Contents
- 1 Introduction
- 1.1 Virtual NIC Interface
- 1.2 Product Specifications
- Solarflare XtremeScale™ Network Adapters
- Solarflare XtremeScale™ SFN8722 Dual-Port 10GbE SFP+ PCIe 3.1 OCP Server Adapter
- Solarflare XtremeScale™ SFN8542 Dual-Port 40GbE QSFP+ PCIe 3.1 Server I/O Adapter
- Solarflare XtremeScale™ SFN8522M Dual-Port 10GbE SFP+ PCIe 3.1 Server I/O Adapter
- Solarflare XtremeScale™ SFN8522 Dual-Port 10GbE SFP+ PCIe 3.1 Server I/O Adapter
- Solarflare XtremeScale™ SFN8042 Dual-Port 40GbE QSFP+ PCIe 3.1 Server I/O Adapter
- Solarflare Flareon™ Network Adapters
- Solarflare Flareon™ Ultra SFN7322F Dual-Port 10GbE PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ Ultra SFN7142Q Dual-Port 40GbE QSFP+ PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ Ultra SFN7124F Quad-Port 10GbE SFP+ PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ Ultra SFN7122F Dual-Port 10GbE PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ SFN7042Q Dual-Port 40GbE QSFP+ PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ Ultra SFN7024F Quad-Port 10GbE SFP+ PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ Ultra SFN7022F Dual-Port 10GbE PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ SFN7004F Quad-Port 10GbE SFP+ PCIe 3.0 Server I/O Adapter
- Solarflare Flareon™ SFN7002F Dual-Port 10GbE PCIe 3.0 Server I/O Adapter
- Solarflare Onload Network Adapters
- Solarflare Performant Network Adapters
- Solarflare Mezzanine Adapters
- Solarflare XtremeScale™ Network Adapters
- 1.3 Software Driver Support
- 1.4 Solarflare AppFlex™ Technology Licensing.
- 1.5 Open Source Licenses
- 1.6 Support and Download
- 1.7 Regulatory Information
- 1.8 Regulatory Approval
- Additional Regulatory Information for SFN8722, SFN8542, SFN8522M and SFN8042 adapters
- Additional Regulatory Information for SFN8522 adapter.
- Additional Regulatory Information for SFN7322F, SFN7142Q, SFN7122F, SFN7042Q, SFN7022F, SFN7002F, SFN6322F, SFN6122F and SFN5122F adapters
- Additional Regulatory Information for SFN7124F, SFN7024F and SFN7004F adapters
- Additional Regulatory Information for SFA6902F adapter
- Additional Regulatory Information for SFN6832F, SFN6822F, SFN5814H and SFN5812H adapters
- Additional Regulatory Information for SFN5162F, SFN5161T and SFN5121T adapters
- 2 Installation
- 2.1 Solarflare Network Adapter Products
- 2.2 Fitting a Full Height Bracket (optional)
- 2.3 Inserting the Adapter in a PCI Express (PCIe) Slot
- 2.4 Attaching a Cable (RJ-45)
- 2.5 Attaching a Cable (SFP+)
- 2.6 Supported SFP+ Cables
- 2.7 Supported SFP+ 10G SR Optical Transceivers
- 2.8 Supported SFP+ 10G LR Optical Transceivers
- 2.9 QSFP+ Transceivers and Cables
- 2.10 Supported SFP 1000BASE-T Transceivers
- 2.11 Supported 1G Optical Transceivers
- 2.12 Supported Speed and Mode
- 2.13 LED States
- 2.14 Configure QSFP+ Adapter
- 2.15 Single Optical Fiber - RX Configuration
- 2.16 Solarflare Mezzanine Adapter: SFN8722 OCP
- 2.17 Solarflare Mezzanine Adapter: SFN581xH
- 2.18 Solarflare Mezzanine Adapter SFN6832F-C61
- 2.19 Solarflare Mezzanine Adapter SFN6832F-C62
- 2.20 Solarflare Precision Time Synchronization Adapters
- 2.21 Solarflare ApplicationOnload™ Engine
- 3 Solarflare Adapters on Linux
- 3.1 System Requirements
- 3.2 Linux Platform Feature Set
- 3.3 Solarflare RPMs
- 3.4 Installing Solarflare Drivers and Utilities on Linux
- 3.5 Red Hat Enterprise Linux Distributions
- 3.6 SUSE Linux Enterprise Server Distributions
- 3.7 Installing DKMS Driver and Utilities on Ubuntu/Debian Servers
- 3.8 Unattended Installations
- 3.9 Unattended Installation - Red Hat Enterprise Linux
- 3.10 Unattended Installation - SUSE Linux Enterprise Server
- 3.11 Configuring the Solarflare Adapter
- 3.12 Setting Up VLANs
- 3.13 Setting Up Teams
- 3.14 NIC Partitioning
- 3.15 NIC Partitioning with SR-IOV
- 3.16 Receive Side Scaling (RSS)
- 3.17 Receive Flow Steering (RFS)
- 3.18 Solarflare Accelerated RFS (SARFS)
- 3.19 Transmit Packet Steering (XPS)
- 3.20 Linux Utilities RPM
- 3.21 Configuring the Boot Manager with sfboot
- 3.22 Upgrading Adapter Firmware with sfupdate
- 3.23 License Install with sfkey
- 3.24 Performance Tuning on Linux
- 3.25 Web Server - Driver Optimization
- 3.26 Interrupt Affinity
- 3.27 Module Parameters
- 3.28 Linux ethtool Statistics
- 3.29 Driver Logging Levels
- 3.30 Running Adapter Diagnostics
- 3.31 Running Cable Diagnostics
- 4 Solarflare Adapters on Windows
- 4.1 System Requirements
- 4.2 Windows Feature Set
- 4.3 Installing the Solarflare Driver Package on Windows
- 4.4 Adapter Drivers Only Installation
- 4.5 Full Solarflare Package Installation
- 4.6 Install Drivers and Options From a Windows Command Prompt
- 4.7 Unattended Installation
- 4.8 Managing Adapters with SAM
- 4.9 Managing Adapters Remotely with SAM
- 4.10 Using SAM
- 4.11 Using SAM to Configure Adapter Features
- 4.12 Segmentation Offload
- 4.13 Using SAM to Configure Teams and VLANs
- 4.14 Using SAM to View Statistics and State Information
- 4.15 Using SAM to Run Adapter and Cable Diagnostics
- 4.16 Using SAM for Boot ROM Configuration
- 4.17 Managing Firmware with SAM
- 4.18 Configuring Network Adapter Properties in Windows
- 4.19 Windows Command Line Tools
- 4.20 Sfboot: Boot ROM Configuration Tool
- 4.21 Sfupdate: Firmware Update Tool
- 4.22 Sfteam: Adapter Teaming and VLAN Tool
- 4.23 Sfcable: Cable Diagnostics Tool
- 4.24 Sfkey: License Management Tool
- 4.25 Sfnet
- 4.26 Completion codes (%errorlevel%)
- 4.27 Teaming and VLANs
- 4.28 Performance Tuning on Windows
- 4.29 Windows Event Log Error Messages
- 5 Solarflare Adapters on VMware
- 5.1 System Requirements
- 5.2 VMware Feature Set
- 5.3 Installing Solarflare Drivers and Utilities on VMware
- 5.4 Configuring Teams
- 5.5 Configuring VLANs
- 5.6 Running Adapter Diagnostics
- 5.7 Solarflare Utilities Package
- 5.8 Configuring the Boot ROM with Sfboot
- 5.9 Upgrading Adapter Firmware with sfupdate
- 5.10 Performance Tuning on VMware
- Introduction
- Tuning Settings
- Install VMware Tools in the Guest Platform
- VMware ESX NetQueue
- Binding NetQueue queues and Virtual Machines to CPUs
- Adapter MTU (Maximum Transmission Unit)
- Interrupt Moderation (Interrupt Coalescing)
- TCP/IP Checksum Offload
- TCP Segmentation Offload (TSO)
- TCP Large Receive Offload (LRO)
- TCP Protocol Tuning
- Receive Side Scaling (RSS)
- Other Considerations
- Server Motherboard, Server BIOS, Chipset Drivers
- 6 Solarflare Adapters on FreeBSD
- 6.1 System Requirements
- 6.2 FreeBSD Platform Feature Set
- 6.3 Installing Solarflare Drivers
- 6.4 Unattended Installation
- 6.5 Configuring the Solarflare Adapter
- 6.6 Setting Up VLANs
- 6.7 FreeBSD Utilities Package
- 6.8 Configuring the Boot ROM with sfboot
- 6.9 Upgrading Adapter Firmware with sfupdate
- 6.10 Performance Tuning on FreeBSD
- 6.11 Module Parameters
- 6.12 Kernel and Network Adapter Statistics
- 7 SR-IOV Virtualization Using KVM
- 8 SR-IOV Virtualization Using ESXi
- 8.1 Introduction
- 8.2 Configuration Procedure - SR-IOV
- 8.3 Configuration Procedure - DirectPath I/O
- 8.4 Install Solarflare Drivers in the Guest
- 8.5 Install the Solarflare Driver on the ESXi host
- 8.6 Install Solarflare Utilities on the ESXi host
- 8.7 Configure VFs on the Host/Adapter
- 8.8 Virtual Machine
- 8.9 List Adapters - Web Client
- 8.10 vSwitch and Port Group Configuration
- 8.11 VF Passthrough
- 8.12 DirectPath I/O
- 9 Solarflare Boot Manager
- Index

Issue20 ©SolarflareCommunications2017 i
Solarflare®ServerAdapterUserGuide
Informationinthisdocumentissubjecttochangewithoutnotice.
Copyright©2008‐2017SOLARFLARE®Communications,Inc.Allrightsreserved.
TrademarksusedinthistextareregisteredtrademarksofSolarflare®CommunicationsInc;AdobeisatrademarkofAdobeSystems.
Microsoft®andWindows®areregisteredtrademarksofMicrosoftCorporation.
Linux®istheregisteredtrademarkofLinusTorval dsintheU.S.andothercountries.
Othertrademarksandtradenamesmaybeusedinthisdocumenttorefertoeithertheentitiesclaimingthemarksandnamesor
theirproducts.SolarflareCommunicationsInc.disclaimsanyproprietaryinterestintrademarksandtradenamesotherthanits
own.
Thesoftwareandhardwareasapplicable(the“Product”)describedinthisdocument,andthisdocument,areprotectedby
copyrightlaws,patentsandotherintellectualpropertylawsandinternationaltreaties.TheProductdescribedinthisdocumentis
providedpursuanttoalicenseagreement,evaluationagreementand/ornon‐disclosureagreement.TheProductmaybeusedonly
inaccordancewiththetermsofsuchagreement.Thesoftwareasapplicablemaybecopiedonlyinaccordancewiththetermsof
suchagreement.
Thefurnishingofthisdocumenttoyoudoesnotgiveyouanyrightsorlicenses,expressorimplied,byestoppelorotherwise,with
respecttoanysuchProduct,oranycopyrights,patentsorotherintellectualpropertyrightscoveringsuchProduct,andthis
documentdoesnotcontainorrepresentanycommitmentofanykindonthepartofSOLARFLARECommunications,Inc.orits
affiliates.
TheonlywarrantiesgrantedbySOLARFLARECommunications,Inc.oritsaffiliatesinconnectionwiththeProductdescribedinthis
documentarethoseexpresslysetforthinthelicenseagreement,evaluationagreementand/ornon‐disclosureagreement
pursuanttowhichtheProductisprovided.EXCEPTASEXPRESSLYSETFORTHINSUCHAGREEMENT,NEITHERSOLARFLARE
COMMUNICATIONS,INC.NORITSAFFILIATESMAKEANYREPRESENTATIONSORWARRANTIESOFANYKIND(EXPRESSORIMPLIED)
REGARDINGTHEPRODUCTORTHISDOCUMENTATIONANDHEREBYDISCLAIMALLIMPLIEDWARRANTIESOFMERCHANTABILITY,
FITNESSFORAPARTICULARPURPOSEANDNON‐INFRINGEMENT,ANDANYWARRANTIESTHATMAYARISEFROMCOURSEOF
DEALING,COURSEOFPERFORMANCEORUSAGEOFTRADE.Unlessotherwiseexpresslysetforthinsuchagreement,totheextent
allowedbyapplicablelaw(a)innoeventshallSOLARFLARECommunications,Inc.oritsaffiliateshaveanyliabilityunderanylegal
theoryforanylossofrevenuesorprofits,lossofuseordata,orbusinessinterruptions,orforanyindirect,special,incidentalor
consequentialdamages,evenifadvisedofthepossibilityofsuchdamages;and(b)thetotalliabilityofSOLARFLARE
Communications,Inc.oritsaffiliatesarisingfromorrelatingtosuchagreementortheuseofthisdocumentshallnotexceedthe
amountreceivedbySOLARFLARECommunications,Inc.oritsaffiliatesforthatcopyoftheProductorthisdocumentwhichisthe
subjectofsuchliability.
TheProductisnotintendedforuseinmedical,lifesaving,lifesustaining,criticalcontrolorsafetysystems,orinnuclearfacility
applications.
Alistofpatentsassociatedwiththisproductisathttp://www.solarflare.com/patent
SF‐103837‐CD
Lastrevised:September2017
Issue20

SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 ii
Trademarks
OpenOnload®,EnterpriseOnload®,XtremeScale™andFlareon™areregisteredtrademarks
ofSolarflareCommunicationsIncintheUnitedStatesandothercountries.

SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 iii
TableofContents
1Introduction........................................................1
1.1VirtualNICInterface..........................................1
1.2ProductSpecifications.........................................4
1.3SoftwareDriverSupport ......................................17
1.4SolarflareAppFlex™TechnologyLicensing........................18
1.5OpenSourceLicenses........................................18
1.6SupportandDownload .......................................19
1.7RegulatoryInformation.......................................20
1.8RegulatoryApproval.........................................22
2Installation........................................................31
2.1SolarflareNetworkAdapterProducts...........................32
2.2FittingaFullHeightBracket(optional) ..........................34
2.3InsertingtheAdapterinaPCIExpress(PCIe)Slot .................34
2.4AttachingaCable(RJ‐45) .....................................35
2.5AttachingaCable(SFP+) ......................................36
2.6SupportedSFP+Cables.......................................38
2.7SupportedSFP+10GSROpticalTransceivers .....................40
2.8SupportedSFP+10GLROpticalTransceivers .....................41
2.9QSFP+TransceiversandCables ................................42
2.10SupportedSFP1000BASE‐TTransceivers .......................45
2.11Supported1GOpticalTransceivers ............................46
2.12SupportedSpeedandMode..................................46
2.13LEDStates.................................................48
2.14ConfigureQSFP+Adapter ....................................49
2.15SingleOpticalFiber‐RXConfiguration.........................51
2.16SolarflareMezzanineAdapter:SFN8722OCP ....................51
2.17SolarflareMezzanineAdapter:SFN581xH.......................52
2.18SolarflareMezzanineAdapterSFN6832F‐C61 ...................54
2.19SolarflareMezzanineAdapterSFN6832F‐C62 ...................56
2.20SolarflarePrecisionTimeSynchronizationAdapters ..............57
2.21SolarflareApplicationOnload™Engine .........................57

SolarflareServerAdapterUserGuide
TableofContents
Issue20 ©SolarflareCommunications2017 iv
3SolarflareAdaptersonLinux .........................................58
3.1SystemRequirements........................................59
3.2LinuxPlatformFeatureSet....................................59
3.3SolarflareRPMs .............................................61
3.4InstallingSolarflareDriversandUtilitiesonLinux .................63
3.5RedHatEnterpriseLinuxDistributions..........................63
3.6SUSELinuxEnterpriseServerDistributions.......................64
3.7InstallingDKMSDriverandUtilitiesonUbuntu/DebianServers......65
3.8UnattendedInstallations......................................66
3.9UnattendedInstallation‐RedHatEnterpriseLinux................68
3.10UnattendedInstallation‐SUSELinuxEnterpriseServer ...........69
3.11ConfiguringtheSolarflareAdapter ............................70
3.12SettingUpVLANs...........................................73
3.13SettingUpTeams ...........................................73
3.14NICPartitioning ............................................74
3.15NICPartitioningwithSR‐IOV .................................78
3.16ReceiveSideScaling(RSS)....................................81
3.17ReceiveFlowSteering(RFS)..................................83
3.18SolarflareAcceleratedRFS(SARFS) ............................84
3.19TransmitPacketSteering(XPS)................................85
3.20LinuxUtilitiesRPM .........................................87
3.21ConfiguringtheBootManagerwithsfboot .....................88
3.22UpgradingAdapterFirmwarewithsfupdate.....................96
3.23LicenseInstallwithsfkey ...................................100
3.24PerformanceTuningonLinux................................103
3.25WebServer‐DriverOptimization ............................110
3.26InterruptAffinity..........................................113
3.27ModuleParameters........................................123
3.28LinuxethtoolStatistics .....................................125
3.29DriverLoggingLevels ......................................134
3.30RunningAdapterDiagnostics ................................135
3.31RunningCableDiagnostics..................................136

SolarflareServerAdapterUserGuide
TableofContents
Issue20 ©SolarflareCommunications2017 v
4SolarflareAdaptersonWindows .....................................137
4.1SystemRequirements.......................................137
4.2WindowsFeatureSet .......................................138
4.3InstallingtheSolarflareDriverPackageonWindows..............140
4.4AdapterDriversOnlyInstallation ..............................141
4.5FullSolarflarePackageInstallation ............................142
4.6InstallDriversandOptionsFromaWindowsCommandPrompt....146
4.7UnattendedInstallation .....................................150
4.8ManagingAdapterswithSAM................................154
4.9ManagingAdaptersRemotelywithSAM........................156
4.10UsingSAM ...............................................156
4.11UsingSAMtoConfigureAdapterFeatures .....................160
4.12SegmentationOffload......................................165
4.13UsingSAMtoConfigureTeamsandVLANs .....................168
4.14UsingSAMtoViewStatisticsandStateInformation .............176
4.15UsingSAMtoRunAdapterandCableDiagnostics ...............177
4.16UsingSAMforBootROMConfiguration.......................181
4.17ManagingFirmwarewithSAM...............................183
4.18ConfiguringNetworkAdapterPropertiesinWindows............184
4.19WindowsCommandLineTools ..............................189
4.20Sfboot:BootROMConfigurationTool .........................190
4.21Sfupdate:FirmwareUpdateTool .............................198
4.22Sfteam:AdapterTeamingandVLANTool ......................200
4.23Sfcable:CableDiagnosticsTool ..............................205
4.24Sfkey:LicenseManagementTool .............................208
4.25Sfnet ....................................................211
4.26Completioncodes(%errorlevel%)............................215
4.27TeamingandVLANs........................................216
4.28PerformanceTuningonWindows............................228
4.29WindowsEventLogErrorMessages .........................244
5SolarflareAdaptersonVMware......................................264
5.1SystemRequirements.......................................264
5.2VMwareFeatureSet........................................265
5.3InstallingSolarflareDriversandUtilitiesonVMware..............266
5.4ConfiguringTeams ..........................................267
5.5ConfiguringVLANs..........................................268
5.6RunningAdapterDiagnostics .................................269
5.7SolarflareUtilitiesPackage ...................................270
5.8ConfiguringtheBootROMwithSfboot.........................271
5.9UpgradingAdapterFirmwarewithsfupdate.....................279
5.10PerformanceTuningonVMware .............................281

SolarflareServerAdapterUserGuide
TableofContents
Issue20 ©SolarflareCommunications2017 vi
6SolarflareAdaptersonFreeBSD ......................................289
6.1SystemRequirements.......................................289
6.2FreeBSDPlatformFeatureSet ................................290
6.3InstallingSolarflareDrivers...................................290
6.4UnattendedInstallation .....................................292
6.5ConfiguringtheSolarflareAdapter ............................294
6.6SettingUpVLANs...........................................295
6.7FreeBSDUtilitiesPackage ....................................296
6.8ConfiguringtheBootROMwithsfboot .........................297
6.9UpgradingAdapterFirmwarewithsfupdate.....................303
6.10PerformanceTuningonFreeBSD.............................305
6.11ModuleParameters........................................315
6.12KernelandNetworkAdapterStatistics........................317
7SR‐IOVVirtualizationUsingKVM .....................................326
7.1Introduction ...............................................326
7.2SR‐IOV....................................................331
7.3KVMNetworkArchitectures..................................333
7.4PF‐IOV....................................................346
7.5GeneralConfiguration.......................................348
7.6FeatureSummary ..........................................349
7.7Limitations................................................350
8SR‐IOVVirtualizationUsingESXi .....................................351
8.1Introduction ...............................................351
8.2ConfigurationProcedure‐SR‐IOV.............................354
8.3ConfigurationProcedure‐DirectPathI/O .......................354
8.4InstallSolarflareDriversintheGuest ..........................354
8.5InstalltheSolarflareDriverontheESXihost.....................354
8.6InstallSolarflareUtilitiesontheESXihost.......................355
8.7ConfigureVFsontheHost/Adapter ............................357
8.8VirtualMachine ............................................358
8.9ListAdapters‐WebClient....................................359
8.10vSwitchandPortGroupConfiguration ........................360
8.11VFPassthrough ...........................................364
8.12DirectPathI/O............................................370

SolarflareServerAdapterUserGuide
TableofContents
Issue20 ©SolarflareCommunications2017 vii
9SolarflareBootManager ........................................... 374
9.1Introduction ...............................................374
9.2SolarflareBootManager.....................................375
9.3iPXESupport ..............................................376
9.4sfupdateOptionsforPXEupgrade/downgrade ..................376
9.5StartingPXEBoot...........................................378
9.6iPXEImageCreate..........................................382
9.7MultiplePF‐PXEBoot ......................................384
9.8DefaultAdapterSettings.....................................387
Index .............................................................390

SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 1
1Introduction
ThisistheUserGuideforSolarflare®ServerAdapters.Thischaptercoversthe
followingtopics:
•VirtualNICInterfaceonpage1
•AdvancedFeaturesandBenefitsonpage2
•ProductSpecificationsonpage4
•SoftwareDriverSupportonpage17
•SolarflareAppFlex™TechnologyLicensing.onpage18
•OpenSourceLicensesonpage18
•SupportandDownloadonpage19
•RegulatoryInformationonpage20
•RegulatoryApprovalonpage22
NOTE:ThroughoutthisguidethetermOnloadreferstobothOpenOnload®and
EnterpriseOnload®unlessotherwisestated.UsersofOnloadshouldrefertothe
OnloadUserGuide,SF‐104474‐CD,whichdescribesproceduresfordownloadand
installationoftheOnloaddistribution,acceleratingandtuningtheapplication
usingOnloadtoachieveminimumlatencyandmaximumthroughput.
1.1VirtualNICInterface
Solarflare’sVNICarchitectureprovidesthekeytoefficientserverI/Oandisflexible
enoughtobeappliedtomultipleserverdeploymentscenarios.Thesedeployment
scenariosinclude:
•KernelDriver–ThisdeploymentusesaninstanceofaVNICperCPUcorefor
standardoperatingsystemdrivers.Thisallowsnetworkprocessingtocontinue
overmultipleCPUcoresinparallel.Thevirtualinterfaceprovidesa
performance‐optimizedpathforthekernelTCP/IPstackandcontention‐free
accessfromthedriver,resultinginextremelylowlatencyandreducedCPU
utilization.
•AcceleratedVirtualI/O–Theseconddeploymentscenariogreatlyimproves
I/Oforvirtualizedplatforms.TheVNICarchitecturecanprovideaVNICper
VirtualMachine,givingoverathousandprotectedinterfacestothehost
system,grantinganyvirtualized(guest)operatingsystemdirectaccesstothe
networkhardware.Solarflare'shybridSR‐IOVtechnology,uniquetoSolarflare

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 2
Ethernetcontrollers,istheonlywaytoprovidebare‐metalI/Operformanceto
virtualizedguestoperatingsystemswhilstretainingtheabilitytolivemigrate
virtualmachines.
•OpenOnload™–Thethirddeploymentscenarioaimstoleveragethehost
CPU(s)tofullcapacity,minimizingsoftwareoverheadsbyusingaVNICper
applicationtoprovideakernelbypasssolution.Solarflarehascreatedbothan
open‐sourceandEnterpriseclasshigh‐performanceapplicationaccelerator
thatdeliverslowerandmorepredictablelatencyandhighermessageratesfor
TCPandUDP‐basedapplications,allwithnoneedtomodifyapplicationsor
changethenetworkinfrastructure.Tolearnmoreabouttheopensource
OpenOnloadprojectorEnterpriseOnload,downloadtheOnloaduserguide
(SF‐104474‐CD)orcontactyourreseller.
AdvancedFeaturesandBenefits
VirtualNICsupport ThecoreofSolarflaretechnology.ProtectedVNIC
interfacescanbeinstantiatedforeachrunningguest
operatingsystemorapplication,givingitadirect
pipelinetotheEthernetnetwork.Thisarchitecture
providesthemostefficientwaytomaximizenetwork
andCPUefficiency.TheSolarflareEthernetcontroller
supportsupto1024vNICinterfacesperport.
OnIBMSystempserversequippedwithSolarflare
adapters,eachadapterisassignedtoasingleLogical
Partition(LPAR)whereallVNICSareavailabletothe
LPAR.
PCIExpress ImplementsPCIExpress3.1.
HighPerformance Supportfor40GEthernetinterfacesandanew
internaldatapathmicroarchitecture.
HardwareSwitchFabric Fullhardwareswitchfabricinsiliconcapableof
steeringanyflowbasedonLayer2,Layer3or
applicationlevelprotocolsbetweenphysicaland
virtualinterfaces.Supportinganopensoftware
definednetworkcontrolplanewithfullPCI‐IOV
virtualizationaccelerationforhighperformanceguest
operatingsystemsandvirtualapplications.
Improvedflow
processing
Theadditionofdedicatedparsing,filtering,traffic
shapingandflowsteeringengineswhicharecapable
ofoperatingflexiblyandwithanoptimalcombination
ofafullhardwaredataplanewithsoftwarebased
controlplane.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 3
TXPIO TransmitProgrammedinput/outputisthedirect
transferofdatatotheadapterwithoutCPU
involvement.Asanalternativetotheusualbus
masterDMAmethod,TXPIOimproveslatencyandis
especiallyusefulforsmallerpackets.
MulticastReplication Receivedmulticastpacketsarereplicatedinhardware
anddeliveredtomultiplereceivequeues.
Sidebandmanagement NCSIRMIIinterfaceforbaseboardmanagement
integration.
SMBusinterfaceforlegacybaseboardmanagement
integration.
PCISingle‐Root‐IOV,SR‐
IOV,capable
16Physicalfunctionsandupto240Virtualfunctions
peradapter.
Flexibledeploymentof1024channelsbetween
VirtualandPhysicalFunctions.
SupportAlternateRoutingID(ARI).
SR‐IOVisnotsupportedforSolarflareadapterson
IBMSystempservers.
10GigabitEthernet Supportstheabilitytodesignacosteffective,high
performance10GigabitEthernetsolution.
ReceiveSideScaling
(RSS)
IPv4andIPv6RSSraisestheutilizationlevelsofmulti‐
coreserversdramaticallybydistributingI/Oload
acrossallCPUsandcores.
Statelessoffloads ThroughtheadditionofhardwarebasedTCP
segmentationandreassemblyoffloads,VLAN,VxLAN,
NVGREandGENEVEoffloads.
Jumboframesupport Supportforupto9216bytejumboframes.
MSI‐Xsupport 2048MSI‐Xinterruptsupportenableshigherlevelsof
performance.
CanalsoworkwithMSIorlegacylinebased
interrupts.
Ultralowlatency Cutthrougharchitecture.<7µsendtoendlatency
withstandardkerneldrivers,<3µswithOnload
drivers.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 4
1.2ProductSpecifications
SolarflareXtremeScale™NetworkAdapters
SolarflareXtremeScale™SFN8722Dual‐Port10GbESFP+PCIe3.1OCP
ServerAdapter
Remoteboot SupportforPXEboot2.1andUEFIBootprovides
flexibilityinclusterdesignanddisklessservers(see
SolarflareBootManageronpage374).
NetworkbootisnotsupportedforSolarflareadapters
onIBMSystempservers.
MACaddressfiltering Enablesthehardwaretosteerpacketsbasedonthe
MACaddresstoaVNIC.
Hardwaretimestamps TheSolarflareFlareon™SFN7000andXtremeScale™
SFN8000seriesadapterscansupporthardware
timestampingforallpackets,sentandreceived‐
includingPTP.
Theadaptersincorporateahighlyaccuratestratum3
compliantoscillatorwithdriftof0.37PPMperday(c.
32ms/day).
TheSFN6322Fadaptercangeneratehardware
timestampsofPTPpackets.
Partnumbers SFN8722
Controllersilicon SFC9240
Power 10.5Wtypical
PCIExpress 8lanesGen3.1(8.0GT/s)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes
PTPandhardwaretimestamps Yes
1PPSNo
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 5
SolarflareXtremeScale™SFN8542Dual‐Port40GbEQSFP+PCIe3.1Server
I/OAdapter
SolarflareXtremeScale™SFN8522MDual‐Port10GbESFP+PCIe3.1Server
I/OAdapter
Partnumbers SFN8542orSFN8542‐Plus
Controllersilicon SFC9240
Power 12.5Wtypical
PCIExpress 16lanesGen3.1(8.0GT/s),x16edge
connector
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes(factoryenabledforthePlusversion)
PTPandhardwaretimestamps Yes(factoryenabledforthePlusversion)
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xQSFP+(40G/10G)
Partnumbers SFN8522M,SFN8522M‐Onload,or
SFN8522M‐Plus
Controllersilicon SFC9240
Power 10.5Wtypical
PCIExpress 8lanesGen3.1(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes(factoryenabledfortheOnloadandPlus
versions)
PTPandhardwaretimestamps Yes(factoryenabledforthePlusversion)
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 6
SolarflareXtremeScale™SFN8522Dual‐Port10GbESFP+PCIe3.1Server
I/OAdapter
SolarflareXtremeScale™SFN8042Dual‐Port40GbEQSFP+PCIe3.1Server
I/OAdapter
Partnumbers SFN8522,SFN8522‐Onload,orSFN8522‐Plus
Controllersilicon SFC9240
Power 10.5Wtypical
PCIExpress 8lanesGen3.1(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes(factoryenabledfortheOnloadandPlus
versions)
PTPandhardwaretimestamps Yes(factoryenabledforthePlusversion)
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)
Partnumbers SFN8042
Controllersilicon SFC9240
Power 12.5Wtypical
PCIExpress 8lanesGen3.1(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes
PTPandhardwaretimestamps Yes
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xQSFP+(40G/10G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 7
SolarflareFlareon™NetworkAdapters
SolarflareFlareon™UltraSFN7322FDual‐Port10GbEPCIe3.0ServerI/O
Adapter
SolarflareFlareon™UltraSFN7142QDual‐Port40GbEQSFP+PCIe3.0
ServerI/OAdapter
Partnumber SFN7322F
Controllersilicon SFC9120
Power 5.9Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes(factoryenabled)
PTPandhardwaretimestamps Yes(factoryenabled)
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)
Partnumber SFN7142Q
Controllersilicon SFC9140
Power 13Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes(factoryenabled)
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xQSFP+(40G/10G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 8
SolarflareFlareon™UltraSFN7124FQuad‐Port10GbESFP+PCIe3.0Server
I/OAdapter
SolarflareFlareon™UltraSFN7122FDual‐Port10GbEPCIe3.0ServerI/O
Adapter
Partnumber SFN7124F
Controllersilicon SFC9140
Power 13Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload Yes(factoryenabled)
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 4xSFP+(10G/1G)
Partnumber SFN7122F
Controllersilicon SFC9120
Power 5.9Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport 1Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts.
SupportsOpenOnload Yes(factoryenabled)
PTPandhardwaretimestamps AppFlex™licenserequired
1PPS Optionalbracketandcableassembly–not
factoryinstalled.
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 9
SolarflareFlareon™SFN7042QDual‐Port40GbEQSFP+PCIe3.0ServerI/O
Adapter
SolarflareFlareon™UltraSFN7024FQuad‐Port10GbESFP+PCIe3.0Server
I/OAdapter
Partnumber SFN7042Q
Controllersilicon SFC9140
Power 13Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload EnabledbyinstallingAppFlexlicense
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPSOptionalbracketandcableassembly–not
factoryinstalled
SR‐IOV Yes
Networkports 2xQSFP+(40G/10G)
Partnumber SFN7024F
Controllersilicon SFC9140
Power 13Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload EnabledbyinstallingAppFlexlicense
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPSNo
SR‐IOV Yes
Networkports 4xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 10
SolarflareFlareon™UltraSFN7022FDual‐Port10GbEPCIe3.0ServerI/O
Adapter
SolarflareFlareon™SFN7004FQuad‐Port10GbESFP+PCIe3.0ServerI/O
Adapter
Partnumber SFN7022F
Controllersilicon SFC9120
Power 5.9Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts.
SupportsOpenOnload EnabledbyinstallingAppFlexlicense
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPS Optionalbracketandcableassembly–not
factoryinstalled.
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)
Partnumber SFN7004F
Controllersilicon SFC9140
Power 13Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts
SupportsOpenOnload EnabledbyinstallingAppFlexlicense
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPSNo
SR‐IOV Yes
Networkports 4xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 11
SolarflareFlareon™SFN7002FDual‐Port10GbEPCIe3.0ServerI/OAdapter
SolarflareOnloadNetworkAdapters
SolarflareSFA6902FDual‐Port10GbESFP+ApplicationOnload™Engine
Partnumber SFN7002F
Controllersilicon SFC9120
Power 5.9Wtypical
PCIExpress 8lanesGen3(8.0GT/s),x8edgeconnector
(usableinx8andx16slots)
PCIefeaturessupport Peradapter:16PF,240VF,2048VI,2048
MSI‐XInterrupts.
SupportsOpenOnload EnabledbyinstallingAppFlexlicense
PTPandhardwaretimestamps EnabledbyinstallingAppFlexlicense
1PPS Optionalbracketandcableassembly–not
factoryinstalled.
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)
Partnumber SFA6902F
Controllersilicon SFC9020
Power 25Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 12
SolarflareSFN6322FDual‐Port10GbESFP+ServerAdapter
SolarflareSFN6122FDual‐Port10GbESFP+ServerAdapter
Partnumber SFN6122F
Controllersilicon SFC9020
Power 5.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)
Partnumber SFN6122F
Controllersilicon SFC9020
Power 5.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes1
1. SR‐IOVisnotsupportedforSolarflareadaptersonIBMSystempservers.
Networkports 2xSFP+(10G/1G)
RegulatoryProductCode S6102

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 13
SolarflareSFN5122FDual‐Port10GSFP+ServerAdapter
SolarflareSFN5121TDual‐Port10GBASE‐TServerAdapter
Partnumber SFN5122F
Controllersilicon SFC9020
Power 4.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Networkports 2xSFP+(10G/1G)
Partnumber SFN5121T
Controllersilicon SFL9021
Power 12.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Networkports 2x10GBASE‐T(10G/1G/100M)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 14
SolarflarePerformantNetworkAdapters
SolarflareSFN5162FDual‐Port10GSFP+ServerAdapter
SolarflareSFN5161TDual‐Port10GBASE‐TServerAdapter
Partnumber SFN5162F
Controllersilicon SFC9020
Power 4.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots)
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload No
SR‐IOV Yes1
1. SR‐IOVisnotsupportedforSolarflareadaptersonIBMSystempservers.
Networkports 2xSFP+(10G/1G)
Partnumber SFN5161T
Controllersilicon SFL9021
Power 12.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots)
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload No
SR‐IOV Yes
Networkports 2x10GBASE‐T(10G/1G/100M)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 15
SolarflareMezzanineAdapters
SolarflareSFN6832FDual‐Port10GbESFP+MezzanineAdapter
SolarflareSFN6822FDual‐Port10GbESFP+FlexibleLOMOnloadServer
Adapter
Partnumber SFN6832F‐C61forDELLPowerEdgeC6100
series
SFN6832F‐C62forDELLPowerEdgeC6200
series
Controllersilicon SFC9020
Power 5.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Ports 2xSFP+(10G/1G)
RegulatoryProductCode S6930
Partnumber SFN6822F
Controllersilicon SFC9020
Power 5.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Ports 2xSFP+(10G/1G)

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 16
SolarflareSFN5814HQuad‐Port10GEthernetMezzanineAdapter
SolarflareSFN5812HDual‐Port10GEthernetMezzanineAdapter
Partnumber SFN5814H
Controllersilicon 2xSFC9020
Power 7.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Ports 4x10GBASE‐KX4backplanetransmission
Partnumber SFN5812H
Controllersilicon SFC9020
Power 3.9Wtypical
PCIExpress 8lanesGen2(5.0GT/s),x8edgeconnector
(usableinx8andx16slots),127SR‐IOV
virtualfunctionsperport
VirtualNICsupport 1024vNICinterfacesperport
SupportsOpenOnload Yes
SR‐IOV Yes
Ports 2x10GBASE‐KX4backplanetransmission

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 17
1.3SoftwareDriverSupport
Thesoftwaredriveriscurrentlysupportedonthefollowingdistributions:
• Windows®Server2008,R2only.
• Windows®Server2012,includingR2.
•RedHatEnterpriseLinux6(6.5orlater)
•RedHatMessagingRealtimeandGrid2update5
•RedHatEnterpriseLinux7.x
•RedHatEnterpriseLinuxforRealtime7.x
•SUSELinuxEnterpriseServer11(SP3orlater),and12(baserelease).
•SUSELinuxEnterpriseRealTime11(SP3orlater).
•Ubuntu14.04LTS,14.10,15.04,15.10and16.04LTS.
• Debian7.xand8.x.
•FreeBSD10.x.
•VMware®ESX™5.0,ESXi™5.1,5.5and6.0.
• Linux®KVM.
Supportincludesallminorupdates/releases/servicepacksoftheabovemajor
releases,forwhichthedistributorhasnotyetdeclaredendoflife/support.
Solarflarearenotawareofanyissuespreventingbuildingandinstallingthedriver
onotherLinuxvariantsthatusekernelversions2.6.18‐4.11inclusive.
SolarflareSFN6122FandSFN5162FadaptersaresupportedontheIBMPOWER
architecture(PPC64)runningRHEL6.4onIBMSystempservers.
TheSolarflareacceleratednetworkmiddleware,OpenOnloadand
EnterpriseOnload,issupportedonallLinux,Ubuntu,andDebianvariantslisted
above,andisavailableforallSolarflareOnloadnetworkadapters.Solarflarearenot
awareofanyissuespreventingOpenOnloadinstallationonotherLinuxvariantssuch
asCentosandFedora.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 18
1.4SolarflareAppFlex™TechnologyLicensing.
SolarflareAppFlextechnologyallowsSolarflareserveradapterstobeselectively
configuredtoenableon‐boardapplications.AppFlexlicensesarerequiredtoenable
selectedfunctionalityontheSolarflareXtremeScale™andFlareon™adaptersand
ontheAOEApplicationOnload™Engine.
CustomerscanobtainaccesstoAppFlexapplicationsviatheirSolarflaresales
channelbyobtainingthecorrespondingAppFlexauthorizationcode.The
authorizationcodeallowsthecustomertogeneratelicensesattheMyAppFlexpage
athttps://support.solarflare.com/myappflex.
Thesfkeyutilityapplicationisusedtoinstallthegeneratedlicensekeyfileon
selectedadapters.Fordetailedinstructionsforsfkeyandlicenseinstallationreferto
LicenseInstallwithsfkeyonpage100.
1.5OpenSourceLicenses
SolarflareBootManager
TheSolarflareBootManagerisinstalledintheadapter'sflashmemory.This
programisfreesoftware;youcanredistributeitand/ormodifyitundertheterms
oftheGNUGeneralPublicLicenseaspublishedbytheFreeSoftwareFoundation;
eitherversion2oftheLicense,or(atyouroption)anylaterversion.
Thisprogramisdistributedinthehopethatitwillbeuseful,butWITHOUTANY
WARRANTY;withouteventheimpliedwarrantyofMERCHANTABILITYorFITNESS
FORAPARTICULARPURPOSE.SeetheGNUGeneralPublicLicenseformoredetails.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 19
ControllerFirmware
ThefirmwarerunningontheSFC9xxxcontrollerincludesamodifiedversionof
libcoroutine.ThissoftwareisfreesoftwarepublishedunderaBSDlicense
reproducedbelow:
Copyright(c)2002,2003SteveDekorte
Allrightsreserved.
Redistributionanduseinsourceandbinaryforms,withorwithoutmodification,are
permittedprovidedthatthefollowingconditionsaremet:
Redistributionsofsourcecodemustretaintheabovecopyrightnotice,thislistof
conditionsandthefollowingdisclaimer.
Redistributionsinbinaryformmustreproducetheabovecopyrightnotice,thislist
ofconditionsandthefollowingdisclaimerinthedocumentationand/orother
materialsprovidedwiththedistribution.
Neitherthenameoftheauthornorthenamesofothercontributorsmaybeused
toendorseorpromoteproductsderivedfromthissoftwarewithoutspecificprior
writtenpermission.
THISSOFTWAREISPROVIDEDBYTHECOPYRIGHTHOLDERSANDCONTRIBUTORS
"ASIS"ANDANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITED
TO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORA
PARTICULARPURPOSEAREDISCLAIMED.INNOEVENTSHALLTHEREGENTSOR
CONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,
EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,
PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,OR
PROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORY
OFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,ORTORT(INCLUDING
NEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHIS
SOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.
1.6SupportandDownload
Solarflarenetworkdrivers,RPMpackagesanddocumentationareavailablefor
downloadfromhttps://support.solarflare.com/.
SoftwareanddocumentationforOpenOnloadisavailablefrom
www.openonload.org.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 20
1.7RegulatoryInformation
Warnings
DonotinstalltheSolarflarenetworkadapterinhazardousareaswherehighly
combustibleorexplosiveproductsarestoredorusedwithouttakingadditional
safetyprecautions.DonotexposetheSolarflarenetworkadaptertorainor
moisture.
TheSolarflarenetworkadapterisaClassIIISELVproductintendedonlytobe
poweredbyacertifiedlimitedpowersource.
TheequipmenthasbeentestedandfoundtocomplywiththelimitsforaClassB
digitaldevice,pursuanttoPart15oftheFCCRules.Theselimitsaredesignedto
providereasonableprotectionagainstharmfulinterferenceinaresidential
installation.Theequipmentgenerates,usesandcanradiateradiofrequencyenergy
and,ifnotinstalledandusedinaccordancewiththeinstructions,maycause
harmfulinterferencetoradiocommunications.However,thereisnoguaranteethat
interferencewillnotoccurinaparticularinstallation.
Iftheequipmentdoescauseharmfulinterferencetoradioortelevisionreception,
whichcanbedeterminedbyturningtheequipmentoffandon,theuseris
encouragedtotrytocorrecttheinterferencebyoneormoreofthefollowing
measures:
• Reorientorrelocatethereceivingantenna.
•Increasetheseparationbetweentheequipmentandreceiver.
• Connecttheequipmentintoanoutletonacircuitdifferentfromthattowhich
thereceiverisconnected.
•Consultthedealeroranexperiencedradio/TVtechnicianforhelp.
ChangesormodificationsnotexpresslyapprovedbySolarflareCommunications,
thepartyresponsibleforFCCcompliance,couldvoidtheuser'sauthoritytooperate
theequipment.
ThisClassBdigitalapparatuscomplieswithCanadianICES‐003.
CetappareilnumériquedelaclasseBestconformeàlanormeNMB‐003duCanada.
UnderwritersLaboratoryInc('UL')hasnottestedtheperformanceorreliabilityof
thesecurityorsignalingaspectsofthisproduct.ULhasonlytestedforfire,shockor
casualtyhazardsasoutlinedintheUL'sStandardforSafetyUL60950‐1.UL
Certificationdoesnotcovertheperformanceorreliabilityofthesecurityor
signalingaspectsofthisproduct.ULmakesnorepresentations,warrantiesor
certificationswhatsoeverregardingtheperformanceorreliabilityofanysecurity
orsignalingrelatedfunctionsofthisproduct.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 21
LaserDevices
Thelasersafetyoftheequipmenthasbeenverifiedusingthefollowingcertified
laserdevicemodule(LDM):
Wheninstalledina10GbEthernetnetworkinterfacecardfromtheSolarflare
SFN5000,SFN6000,SFN7000orSFN8000series,thelaseremissionlevelsremain
underClassIlimitsasspecifiedintheFDAregulationsforlasers,21CFRPart1040.
ThedecisiononwhatLDMstouseismadebytheinstaller.Forexample,equipment
mayuseoneofamultipleofdifferentLDMsdependingonpathlengthofthelaser
communicationsignal.ThisequipmentisnotbasicconsumerITE.
Theequipmentisinstalledandmaintainedbyqualifiedstafffromtheenduser
communicationscompanyorsubcontractoroftheenduserorganization.Theend
productuserand/orinstalleraresolelyresponsibleforensuringthatthecorrect
devicesareutilizedintheequipmentandtheequipmentwithLDMsinstalled
complieswithapplicablelasersafetyrequirements.
Manufacturer Model CDRH
AccessionNo
Markof
conformity
FileNo
Avago
Technologies
AFBR‐703SDZ 9720151‐072 TUV R72071411
Finisar
Corporation
FTLX8571D3BCL 9210176‐094 TUV R72080250

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 22
1.8RegulatoryApproval
AdditionalRegulatoryInformationforSFN8722,SFN8542,SFN8522M
andSFN8042adapters
この装置は、クラスA情報技術装置です。この装置を家庭環境で使用する
と電波妨害を引き起こすことがあります。この場合には使用者が適切な対
策を講ずるよう要求されることがあります。 VCCI-A
警告使用者:
這是甲類的資訊產品,在居住的環境中使用時,可能會造成射頻干擾,在這
種情況下,使用者會被要求採取某些適當的對策。
A 급 기기 ( 업무용 방송통신기기 ): 이 기기는 업무용 (A 급 ) 으로
전자파적합등록을 한 기기이오니 판매자 또는 사용자는 이 점을 주의하시기
바라며 , 가정외의 지역에서 사용하는 것을 목적으로 합니다 .
产品中有害物质的名称及含量
部件名称 有害物质
铅
(Pb)
汞
(Hg)
镉
(Cd)
六价铬
(Cr (VI))
多溴联苯
(PB#B)
多溴二苯醚
(PBDE)
RC0402FR series resistor x o o o o o
ERJ-2GE series resistor x o o o o o
CRCW0402 series resistor x o o o o o
NC7NZ34K8X x o o o o o
本表格依据 SJ/T 11364 的规定编制。
o:表示该有害物质在该部件所有均质材料中的含量均在 GB/T 26572 规定的限量要求以下。
x:表示该有害物质至少在该部件的某一均质材料中的含量超出 GB/T 26572 规定的限量要求。

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 23
Category Specification Details
EMC Europe BSEN55022:2010,55032:2012
BSEN55024:2010
US FCCCFR47Part15ClassA
Canada ICES003/NMB‐003ClassA
Taiwan CNS13438:2006ClassA
Japan VCCIRegulationsV‐3:2014.04ClassA
SouthKorea KCCKN‐32,KN‐35
Australia AS/NZSCISPR22:2009+A1:2010
Safety1Europe BSEN60950‐1:2006+A11:2009+A1:2010
+A12:2011+A2:2013
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.+AMI:2009
+AM2:2013
RoHS Europe ComplieswithEUdirective2011/65/EU
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 24
AdditionalRegulatoryInformationforSFN8522adapter.
この装置は、クラス B 情報技術装置です。 この装置は、家庭環境で使用
することを目的としていますが、この装置がラジオやテレビジョン受信機
に近接して使用されると、受信障害を引き起こすことがあります。取扱説
明書に従って正しい取り扱いをして下さい。
VCCI-B
警告用戶:
這是一個 B 類 產品,在居住環境中使用時可能會導致無線電干擾,在這種情
況下,用戶可能需要採取適當的措施
B 급 기기 ( 가정용 방송통신기기 ): 이 기기는 가정용 (B 급 ) 으로
전자파적합등록을 한 기기로서 주로 가정에서 사용하는 것을 목적으로 하며 ,
모든 지역에서 사용할 수 있습니다 .
产品中有害物质的名称及含量
部件名称 有害物质
铅
(Pb)
汞
(Hg)
镉
(Cd)
六价铬
(Cr (VI))
多溴联苯
(PB#B)
多溴二苯醚
(PBDE)
RC0402FR series resistor x o o o o o
ERJ-2GE series resistor x o o o o o
CRCW0402 series resistor x o o o o o
NC7NZ34K8X x o o o o o
本表格依据 SJ/T 11364 的规定编制。
o:表示该有害物质在该部件所有均质材料中的含量均在 GB/T 26572 规定的限量要求以下。
x:表示该有害物质至少在该部件的某一均质材料中的含量超出 GB/T 26572 规定的限量要求。

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 25
Category Specification Details
EMC Europe BSEN55022:2010,55032:2012
BSEN55024:2010
US FCCCFR47Part15ClassB
Canada ICES003/NMB‐003ClassB
Taiwan CNS13438:2006ClassB
Japan VCCIRegulationsV‐3:2014.04ClassB
SouthKorea KCCKN‐32,KN‐35
Australia AS/NZSCISPR22:2009+A1:2010
Safety1Europe BSEN60950‐1:2006+A11:2009+A1:2010
+A12:2011+A2:2013
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.+AMI:2009
+AM2:2013
RoHS Europe ComplieswithEUdirective2011/65/EU
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 26
AdditionalRegulatoryInformationforSFN7322F,SFN7142Q,SFN7122F,
SFN7042Q,SFN7022F,SFN7002F,SFN6322F,SFN6122FandSFN5122F
adapters
これは情報処理装置等電波障害自主規制協議会 (VCCI)の標準に基づく
クラス A 情報技術装置です。この装置を家庭環境で使用すると電波妨害を
引き起こすことがあります。そのような障害が発生した際、使用者は適切
な対応が必要となる場合があります
警告使用者:
這是甲類的資訊產品,在居住的環境中使用時,可能會造成射頻 干擾,在這
種情況下,使用者會被要求採取某些適當的對策
A 급 기기 ( 업무용 방송통신기기 ): 이 기기는 업무용 (A 급 ) 으로
전자파적합등록을 한 기기이오니 판매자 또는 사용자는 이 점을 주의하시기
바라며 , 가정외의 지역에서 사용하는 것을 목적으로 합니다
Category Specification Details
EMC Europe BSEN55022:2010+A1:2007
BSEN55024:1998+A1:2001+A2:2003
US FCCPart15ClassB
Canada ICES003/NMB‐003ClassB
Taiwan CNS13438:2006ClassB
Japan VCCIRegulationsV‐3:2010ClassB
SouthKorea KCCKN‐22,KN‐24
Australia AS/NZSCISPR22:2009
Safety1
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.
Europe BSEN60950‐1:2006+A11:2009+A1:2010
+A12:2011+A2:2013
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.+AMI:2009
+AM2:2013
RoHS Europe ComplieswithEUdirective2011/65/EU

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 27
AdditionalRegulatoryInformationforSFN7124F,SFN7024Fand
SFN7004Fadapters
この装置は、クラス B 情報技術装置です。 この装置は、家庭環境で使用
することを目的としていますが、この装置がラジオやテレビジョン受信機
に近接して使用されると、受信障害を引き起こすことがあります。取扱説
明書に従って正しい取り扱いをして下さい。
VCCI-B
警告用戶:
這是一個 B 類 產品,在居住環境中使用時可能會導致無線電干擾,在這種情
況下,用戶可能需要採取適當的措施
B 급 기기 ( 가정용 방송통신기기 ): 이 기기는 가정용 (B 급 ) 으로
전자파적합등록을 한 기기로서 주로 가정에서 사용하는 것을 목적으로 하며 ,
모든 지역에서 사용할 수 있습니다 .
Category Specification Details
EMC Europe BSEN55022:2010,55032:2012
BSEN55024:2010
US FCCCFR47Part15ClassB
Canada ICES003/NMB‐003ClassB
Taiwan CNS13438:2006ClassB
Japan VCCIRegulationsV‐3:2014.04ClassB
SouthKorea KCCKN‐32,KN‐24
Australia AS/NZSCISPR22:2009+A1:2010
Safety1
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.
Europe BSEN60950‐1:2006+A12:2011+A1:2010
+A12:2011+A2:2013
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.+AMI:2009
+AMI:2009+AM2:2013
RoHS Europe ComplieswithEUdirective2011/65/EU

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 28
AdditionalRegulatoryInformationforSFA6902Fadapter
これは情報処理装置等電波障害自主規制協議会 (VCCI)の標準に基づく
クラス A 情報技術装置です。この装置を家庭環境で使用すると電波妨害を
引き起こすことがあります。そのような障害が発生した際、使用者は適切
な対応が必要となる場合があります
警告使用者:
這是甲類的資訊產品,在居住的環境中使用時,可能會造成射頻 干擾,在這
種情況下,使用者會被要求採取某些適當的對策
A 급 기기 ( 업무용 방송통신기기 ): 이 기기는 업무용 (A 급 ) 으로
전자파적합등록을 한 기기이오니 판매자 또는 사용자는 이 점을 주의하시기
바라며 , 가정외의 지역에서 사용하는 것을 목적으로 합니다
Category Specification Details
EMC Europe BSEN55022:2010+A1:2007
BSEN55024:1998+A1:2001+A2:2003
US FCCPart15ClassB
Canada ICES003/NMB‐003ClassB
Taiwan CNS13438:2006ClassB
Japan VCCIRegulationsV‐3:2010ClassB
SouthKorea KCCKN‐22,KN‐24
Australia AS/NZSCISPR22:2009
Safety1
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.
Europe BSEN60950‐1:2006+A11:2009+A1:2010
+A12:2011+A2:2013
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.+AMI:2009
+AM2:2013
RoHS Europe ComplieswithEUdirective2011/65/EU

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 29
AdditionalRegulatoryInformationforSFN6832F,SFN6822F,SFN5814H
andSFN5812Hadapters
これは情報処理装置等電波障害自主規制協議会 (VCCI)の標準に基づく
クラス A 情報技術装置です。この装置を家庭環境で使用すると電波妨害を
引き起こすことがあります。そのような障害が発生した際、使用者は適切
な対応が必要となる場合があります
警告使用者:
這是甲類的資訊產品,在居住的環境中使用時,可能會造成射頻 干擾,在這
種情況下,使用者會被要求採取某些適當的對策
Category Specification Details
EMC Europe BSEN55022:2006
BSEN55024:1998+A1:2001+A2:2003
US FCCPart15ClassB
Canada ICES003/NMB‐003ClassB
Taiwan CNS13438:2006ClassA
Japan VCCIRegulationsV‐3:2010ClassA
Australia AS/NZSCISPR22:2009
Safety1
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.
Europe BSEN60950‐1:2006+A11:2009
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.
RoHS Europe ComplieswithEUdirective2002/95/EC

SolarflareServerAdapterUserGuide
Introduction
Issue20 ©SolarflareCommunications2017 30
AdditionalRegulatoryInformationforSFN5162F,SFN5161Tand
SFN5121Tadapters
Category Specification Details
EMC Europe BSEN55022:2006
BSEN55024:1998+A1:2001+A2:2003
US FCCPart15ClassB
Canada ICES003/NMB‐003ClassB
Safety1
1. Thesafetyassessmenthasbeenconcludedonthisproductasa
component/sub‐assemblyonly.
Europe BSEN60950‐1:2006+A11:2009
US UL60950‐12ndEd.
Canada CSAC22.260950‐1‐072ndEd.
CB IEC60950‐1:20052ndEd.
RoHS Europe ComplieswithEUdirective2002/95/EC

SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 31
2Installation
Thischaptercoversthefollowingtopics:
•SolarflareNetworkAdapterProductsonpage32
•FittingaFullHeightBracket(optional)onpage34
•InsertingtheAdapterinaPCIExpress(PCIe)Slotonpage34
•AttachingaCable(RJ‐45)onpage35
•AttachingaCable(SFP+)onpage36
•SupportedSFP+Cablesonpage38
•SupportedSFP+10GSROpticalTransceiversonpage40
•SupportedSFP+10GLROpticalTransceiversonpage41
•SupportedSFP1000BASE‐TTransceiversonpage45
•Supported1GOpticalTransceiversonpage46
•SupportedSpeedandModeonpage46
•LEDStatesonpage48
•ConfigureQSFP+Adapteronpage49
•SingleOpticalFiber‐RXConfigurationonpage51
•InstallingtheOCPMezzanineAdapterSolarflareMezzanineAdapters:
SFN5814HandSFN5812Honpage51
•SolarflareMezzanineAdapterSFN6832F‐C61onpage54
•SolarflareMezzanineAdapterSFN6832F‐C62onpage56
•SolarflarePrecisionTimeSynchronizationAdaptersonpage57
•SolarflareApplicationOnload™Engineonpage57
CAUTION:Serverscontainhighvoltageelectricalcomponents.Beforeremovingthe
servercover,disconnectthemainspowersupplytoavoidtheriskofelectrocution.
CAUTION:Staticelectricitycandamagecomputercomponents.Beforehandling
computercomponents,dischargestaticelectricityfromyourselfbytouchinga
metalsurface,orwearacorrectlyfittedanti‐staticwristband.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 32
2.1SolarflareNetworkAdapterProducts
SolarflareXtremeScale™adapters
• SolarflareXtremeScaleSFN8722Dual‐Port10GbESFP+PCIe3.1OCPServer
Adapter
• SolarflareXtremeScaleSFN8542Dual‐Port40GbEPCIe3.1QSFP+Server
Adapter
• SolarflareXtremeScaleSFN8522MDual‐Port10GbEPCIe3.1SFP+Server
Adapter
• SolarflareXtremeScaleSFN8522Dual‐Port10GbEPCIe3.1SFP+ServerAdapter
• SolarflareXtremeScaleSFN8042Dual‐Port40GbEPCIe3.1QSFP+Server
Adapter.
SolarflareFlareon™adapters
• SolarflareFlareonUltraSFN7322FDual‐Port10GbEPCIe3.0ServerI/OAdapter
• SolarflareFlareonUltraSFN7142QDual‐Port40GbEPCIe3.0QSFP+Server
Adapter
• SolarflareFlareonUltraSFN7124FQuad‐Port10GbEPCIe3.0SFP+Server
Adapter
• SolarflareFlareonUltraSFN7122FDual‐Port10GbEPCIe3.0ServerI/OAdapter
• SolarflareFlareonSFN7042QDual‐Port40GbEPCIe3.0QSFP+ServerAdapter
• SolarflareFlareonUltraSFN7024FQuad‐Port10GbEPCIe3.0SFP+Server
Adapter
• SolarflareFlareonUltraSFN7022FDual‐Port10GbEPCIe3.0ServerI/OAdapter
• SolarflareFlareonSFN7004FQuad‐Port10GbEPCIe3.0SFP+ServerAdapter
• SolarflareFlareonSFN7002FDual‐Port10GbEPCIe3.0ServerI/OAdapter.
SolarflareOnloadadapters
• SolarflareSFA6902FDual‐Port10GbEApplicationOnload™Engine
• SolarflareSFN6322FDual‐Port10GbEPrecisionTimeStampingServerAdapter
• SolarflareSFN6122FDual‐Port10GbESFP+ServerAdapter
• SolarflareSFN5122FDual‐Port10GSFP+ServerAdapter
• SolarflareSFN5121TDual‐Port10GBASE‐TServerAdapter.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 33
SolarflarePerformantnetworkadapters
• SolarflareSFN5162FDual‐Port10GSFP+ServerAdapter
• SolarflareSFN5161TDual‐Port10GBASE‐TServerAdapter.
SolarflareMezzanineadapters
• SolarflareSFN6832F‐C61Dual‐Port10GbESFP+MezzanineAdapterforDELL
PowerEdgeC6100seriesservers
• SolarflareSFN6832F‐C62Dual‐Port10GbESFP+MezzanineAdapterforDELL
PowerEdgeC6200seriesservers
• SolarflareSFN6822FDual‐Port10GbESFP+FlexibleLOMOnloadServerAdapter
• SolarflareSFN5814HQuad‐Port10GEthernetMezzanineAdapterforIBM
BladeCenter
• SolarflareSFN5812HDual‐Port10GEthernetMezzanineAdapterforIBM
BladeCenter.
SolarflarenetworkadapterscanbeinstalledonIntel/AMDx86based32bitor64bit
servers.ThenetworkadaptermustbeinsertedintoaPCIex8ORPCIex16slotfor
maximumperformance.RefertoPCIExpressLaneConfigurationsonpage236for
details.
SolarflareSFN6122FandSFN5162FadaptersaresupportedontheIBMPOWER
architecture(PPC64)runningRHEL6.4onIBMSystempservers.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 34
2.2FittingaFullHeightBracket(optional)
Solarflareadaptersaresuppliedwithalow‐profilebracketfittedtotheadapter.A
fullheightbrackethasalsobeensuppliedforPCIeslotsthatrequirethistypeof
bracket.
TofitafullheightbrackettotheSolarflareadapter:
1Fromthebackoftheadapter,removethescrewssecuringthebracket.
2Slidethebracketawayfromtheadapter.
3Takingcarenottheovertightenthescrews,attachthefullheightbrackettothe
adapter.
2.3InsertingtheAdapterinaPCIExpress(PCIe)Slot
ToinserttheadapterinaPCIExpress(PCIe)slot:
1Shutdowntheserverandunplugitfromthemains.Removetheservercover
toaccessthePCIeslotsintheserver.
2Locatean8‐laneor16‐lanePCIeslot(refertotheservermanualifnecessary)
andinserttheSolarflarecard.
3Securetheadapterbracketintheslot.
4Replacethecoverandrestarttheserver.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 35
5Afterrestartingtheserver,thehostoperatingsystemmaypromptyoutoinstall
driversforthenewhardware.ClickCanceloraborttheinstallationandreferto
therelevantchapterinthismanualforhowtoinstalltheSolarflareadapter
driversforyouroperatingsystem.
2.4AttachingaCable(RJ‐45)
Solarflare10GBASE‐TServerAdaptersconnecttotheEthernetnetworkusinga
coppercablefittedwithanRJ‐45connector(shownbelow).

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 36
RJ‐45CableSpecifications
Table1belowliststherecommendedcablespecificationsforvariousEthernetport
types.Dependingontheintendeduse,attachasuitablecable.Forexample,to
achieve10Gb/sperformance,useaCategory6cable.Toachievethedesired
performance,theadaptermustbeconnectedtoacompliantlinkpartner,suchasan
IEEE802.3an‐compliantgigabitswitch.
2.5AttachingaCable(SFP+)
SolarflareSFP+ServerAdapterscanbeconnectedtothenetworkusingeitheran
SFP+DirectAttachcableorafiberopticcable.
AttachinganSFP+DirectAttachCable
ToattachanSFP+DirectAttachcable:
1Turnthecablesothattheconnectorretentiontabandgoldfingersareonthe
samesideasthenetworkadapterretentionclip.
2Pushthecableconnectorstraightintotheadaptersocketuntilitclicksinto
place.
Table1:RJ‐45CableSpecification
Porttype Connector MediaType Maximum
Distance
10GBASE‐TRJ‐45 Category6A 100m(328ft.)
Category6unshieldedtwisted
pairs(UTP)
55m(180ft.)
Category5E 55m(180ft.)
1000BASE‐TRJ‐45 Category5E,6,6AUTP 100m(328ft.)
100BASE‐TX RJ‐45 Category5E,6,6AUTP 100m(328ft.)

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 37
RemovinganSFP+DirectAttachCable
ToremoveanSFP+DirectAttachcable:
1Pullstraightbackonthereleaseringtoreleasethecableretentiontab.
Alternatively,youcanlifttheretentionclipontheadaptertofreethecableif
necessary.
2Slidethecablefreefromtheadaptersocket.
Attachingafiberopticcable
WARNING:Donotlookdirectlyintothefibertransceiverorcablesasthelaser
beamscandamageyoureyesight.
Toattachafiberopticcable:
1Removeandsavethefiberopticconnectorcover.
2Insertafiberopticcableintotheportsonthenetworkadapterbracketas
shown.Mostconnectorsandportsarekeyedforproperorientation.Ifthe
cableyouareusingisnotkeyed,checktobesuretheconnectorisoriented
properly(transmitportconnectedtoreceiveportonthelinkpartner,andvice
versa).

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 38
Removingafiberopticcable
WARNING:Donotlookdirectlyintothefibertransceiverorcablesasthelaser
beamscandamageyoureyesight.
Toremoveafiberopticcable:
1Removethecablefromtheadapterbracketandreplacethefiberoptic
connectorcover.
2Pulltheplasticorwiretabtoreleasetheadapterbracket.
3Holdthemainbodyoftheadapterbracketandremoveitfromtheadapter.
2.6SupportedSFP+Cables
Table2isalistofsupportedSFP+cablesthathavebeentestedbySolarflare.
SolarflareisnotawareofanyissuespreventingtheuseofotherbrandsofSFP+
cables(ofupto5minlength)withSolarflarenetworkadapters.However,only
cablesinthetablebelowhavebeenfullyverifiedandarethereforesupported.
Table2:SupportedSFP+DirectAttachCables
Manufacturer ProductCode Cable Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8xxx
Arista CAB‐SFP‐SFP‐1M 1m ✔ ✔ ✔ ✔
Arista CAB‐SFP‐SFP‐3M 3m ✔ ✔ ✔ ✔
Arista CBL‐00006‐02 5m ✔
Cisco SFP‐H10GB‐CU1M 1m ✔ ✔ ✔ ✔
Cisco SFP‐H10GB‐CU3M 3m ✔ ✔ ✔ ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 39
TheSolarflareSFA6902Fadapterhasbeentestedandcertifiedwithdirectattach
cablesupto3minlength.
Cisco SFP‐H10GB‐CU5M 5m ✔ ✔ ✔ ✔
HP J9283A/BProcurve 3m ✔ ✔ ✔ ✔
Juniper EX‐SFP‐10GE‐DAC‐
1m
1m ✔ ✔ ✔ ✔
Juniper EX‐SFP‐10GE‐DAC‐
3m
3m ✔ ✔ ✔ ✔
Molex 74752‐1101 1m ✔ ✔ ✔ ✔
Molex 74752‐2301 3m ✔ ✔ ✔ ✔
Molex 74752‐3501 5m ✔ ✔ ✔ ✔
Molex 74752‐9093 1m 37‐0960‐01
/0K585N
✔ ✔ ✔
Molex 74752‐9094 3m 37‐0961‐01
/0J564N
✔ ✔ ✔
Molex 74752‐9096 5m 37‐0962‐01
/0H603N
✔ ✔ ✔
Panduit PSF1PXA1M 1m ✔ ✔ ✔ ✔
Panduit PSF1PXA3M 3m ✔ ✔ ✔ ✔
Panduit PSF1PXD5MBU 5m ✔ ✔ ✔ ✔
Siemon SFPP30‐01 1m ✔ ✔ ✔ ✔
Siemon SFPP30‐02 2m ✔ ✔ ✔ ✔
Siemon SFPP30‐03 3m ✔ ✔ ✔ ✔
Siemon SFPP24‐05 5m ✔ ✔ ✔ ✔
Tyco 2032237‐2D1m ✔ ✔ ✔ ✔
Tyco 2032237‐43m ✔ ✔ ✔ ✔
Table2:SupportedSFP+DirectAttachCables
Manufacturer ProductCode Cable Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8xxx

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 40
2.7SupportedSFP+10GSROpticalTransceivers
Table3isalistofsupportedSFP+10GSRopticaltransceiversthathavebeentested
bySolarflare.Solarflareisnotawareofanyissuespreventingtheuseofother
brandsof10GSRtransceiverswithSolarflarenetworkadapters.However,only
transceiversinthetablebelowhavebeenfullyverifiedandarethereforesupported.
Table3:SupportedSFP+10GOpticalSRTransceivers
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8xxx
Arista SFP‐10G‐SR 10G ✔ ✔ ✔
Arista XVR‐00002‐02 10G ✔
Avago AFBR‐703SDZ 10G ✔ ✔ ✔ ✔
Avago AFBR‐703SDDZ Dualspeed1G/10G
optic.
✔ ✔ ✔
Avago AFBR‐703SMZ 10G ✔ ✔ ✔
Avago AFBR‐709SMZ‐SF1 10G ✔
Finisar FTLX8571D3BCL 10G ✔ ✔ ✔ ✔
Finisar FTLX8571D3BCL‐SL 10G ✔
Finisar FTLX8571D3BCV Dualspeed1G/10G
optic.
✔ ✔ ✔ ✔
Finisar FTLX8574D3BCL 10G ✔ ✔ ✔ ✔
HP 456096‐001 Alsolabeledas
455883‐B21and
455885‐001
✔ ✔ ✔ ✔
Intel AFBR‐703SDZ 10G ✔ ✔ ✔ ✔
JDSU PLRXPL‐SC‐S43‐22‐N10G ✔ ✔ ✔
JDSU PLRXPL‐SC‐S43‐SF 10G ✔
Juniper AFBR‐700SDZ‐JU1 10G ✔ ✔ ✔
MergeOptics TRX10GVP2010 10G ✔ ✔ ✔ ✔
Solarflare SFM‐10G‐SR 10G ✔ ✔ ✔ ✔
Vorboss VBO‐PXG‐SR‐300 10G ✔ ✔ ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 41
2.8SupportedSFP+10GLROpticalTransceivers
Table4isalistofsupportedSFP+10GLRopticaltransceiversthathavebeentested
bySolarflare.Solarflareisnotawareofanyissuespreventingtheuseofother
brandsof10GLRtransceiverswithSolarflarenetworkadapters.However,only
transceiversinthetablebelowhavebeenfullyverifiedandarethereforesupported.
Table4:SupportedSFP+10GLROpticalTransceivers
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8xxx
Avago AFCT‐701SDZ 10Gsinglemode
fiber
✔ ✔ ✔
Finisar FTLX1471D3BCL 10Gsinglemode
fiber
✔ ✔ ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 42
2.9QSFP+TransceiversandCables
ThefollowingtablesidentifyQSFP+transceivermodulesandcablestestedby
SolarflarewiththeSFN7000andSFN8000seriesQSP+adapters.Solarflarearenot
awareofanyissuespreventingtheuseofotherbrandsofQSFP+40Gtransceivers
andcableswithSolarflareSFN7000andSFN8000seriesQSFP+adapters.However,
onlyproductslistedinthetablesbelowhavebeenfullyverifiedandaretherefore
supported
SupportedQSFP+40GBASE‐SR4Transceivers
SolarflareFlareonUltraSFN7000seriesandXtremeScaleSFN8x42QSFP+adapters
havebeentestedwiththefollowingQSFP+40GBASE‐SR4opticaltransceiver
modules.
Table5:SupportedQSFP+SR4Transceivers
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8x42
Arista AFBR‐79E4Z Standard100m
(OM3
Multimode
fiber)range.
✔ ✔
Avago AFBR‐79EADZ ✔
Avago AFBR‐79EIDZ ✔ ✔
Avago AFBR‐79EQDZ ✔ ✔
Avago AFBR‐79EQPZ ✔
Finisar FTL410QE2C ✔
JDSU JQP‐04SWAA1 ✔
JDSU JDSU‐04SRAB1 ✔
Solarflare SFM‐40G‐SR4 ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 43
SupportedQSFP+40GActiveOpticalCables(AOC)
SolarflareFlareonUltraSFN7000seriesandXtremeScaleSFN8x42QSFP+adapters
havebeentestedwiththefollowingQSFP+ActiveOpticalCables(AOC).
SupportedQSFP+40GDirectAttachCables
SolarflareFlareonUltraSFN7000seriesandXtremeScaleSFN8x42QSFP+adapters
havebeentestedwiththefollowingQSFP+DirectAttachCables(DAC).QSFPcables
maynotworkwithallswitches.
Table6:SupportedQSFP+ActiveOpticalCables
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8x42
Avago AFBR‐7QER05Z 3m ✔
Finisar FCBG410QB1C03 3m ✔ ✔
Finisar FCBN410QB1C05 5m ✔
Table7:SupportedQSFP+DirectAttachCables
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8x42
Arista CAB‐Q‐Q‐3M 3m ✔ ✔
Arista CAB‐Q‐Q‐5M 5m ✔
Cisco QSFP‐H40G‐CU3M 3m ✔ ✔
FCI 10093084‐2010LF 1m ✔ ✔
FCI 10093084‐3030LF 3m ✔ ✔
Molex 74757‐1101 1m✔
Molex 74757‐2101 1m✔
Molex 74757‐2301 3m✔ ✔
Panduit 40GBASE‐CR4‐
PQSFPXA3MBU
3m ✔
Siemon QSFP30‐01 1m ✔
Siemon QSFP30‐03 3m ✔ ✔
Siemon QSFP26‐05 5m ✔ ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 44
SupportedQSFP+toSFP+BreakoutCables
SolarflareQSFP+toSFP+breakoutcablesenableuserstoconnectSolarflaredual‐
portQSFP+serverI/Oadapterstoworkasaquad‐portSFP+serverI/Oadapters.The
breakoutcablesofferacost‐effectiveoptiontosupportconnectivityflexibilityin
high‐speeddatacenterapplications.
Thesehighperformancedirect‐attachassembliessupport2lanesof10Gb/sper
QSFP+portandareavailableinlengthsof1metersand3meters.The
SOLR‐QSFP2SFP‐1M,‐3McopperDACcablesarefullytestedandcompatiblewith
theSolarflareSFN7142QandSFN7042QserverI/Oadapters.Thesecablesare
compliantwiththeSFF‐8431,SFF‐8432,SFF‐8436,SFF‐8472andIBTAVolume2
Revision1.3specifications.
Table8:SupportedQSFP+toSFP+BreakoutCables
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8x42
Solarflare SOLR‐QSFP2SFP‐1M 1m ✔
Solarflare SOLR‐QSFP2SFP‐3M 3m ✔
Arista QSFP‐4SFP
CAB‐Q‐S‐3M
3m ✔
Arista QSFP‐4SFP
CAB‐Q‐S‐5M
5m ✔
Mellanox MC2609130‐003 3m ✔
Panduit PHQ4SFPXA1MBL 1m ✔
Prolabs CU1.0M‐QSFP‐2SFP‐
NS‐13‐C
1m ✔
Prolabs CU1.5M‐QSFP‐2SFP‐
NS‐13‐C
1.5m ✔
Siemon SFPPQSFP30‐01 1m ✔
Siemon SFPPQSFP28‐03 3m ✔
Siemon SFPPQSFP28‐05 5m ✔
10GTek CAB‐QSFP.4SFP‐P1M 1m ✔
10GTek CAB‐QSFP.4SFP‐P3M 3m ✔
10GTek CAB‐QSFP.4SFP‐P5M 5m ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 45
BreakoutcableshavebeentestedwiththeSFN8x42familyofadapters.Testingisnot
completeonother8000seriesadapters
2.10SupportedSFP1000BASE‐TTransceivers
Table9isalistofsupportedSFP1000BASE‐Ttransceiversthathavebeentestedby
Solarflare.Solarflareisnotawareofanyissuespreventingtheuseofotherbrands
of1000BASE‐TtransceiverswiththeSolarflarenetworkadapters.However,only
transceiversinthetablebelowhavebeenfullyverifiedandarethereforesupported.
Table9:SupportedSFP1000BASE‐TTransceivers
Manufacturer ProductCode Notes
SFN5xxx
SFN6xxx
SFN7xxx
SFN8xxx
Arista SFP‐1G‐BT ✔ ✔ ✔
Avago ABCU‐5710RZ ✔ ✔ ✔ ✔
Cisco 30‐1410‐03 ✔ ✔ ✔
Dell FCMJ‐8521‐3‐(DL) ✔ ✔ ✔ ✔
Finisar FCLF‐8521‐3✔ ✔ ✔ ✔
Finisar FCMJ‐8521‐3✔ ✔ ✔
Finisar FCLF8522P2BTL ✔
HP 453156‐001
453154‐B21
✔ ✔ ✔ ✔
3COM 3CSFP93 ✔ ✔ ✔ ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 46
2.11Supported1GOpticalTransceivers
Table10isalistofsupported1GtransceiversthathavebeentestedbySolarflare.
Solarflareisnotawareofanyissuespreventingtheuseofotherbrandsof1G
transceiverswithSolarflarenetworkadapters.However,onlytransceiversinthe
tablebelowhavebeenfullyverifiedandarethereforesupported.
2.12SupportedSpeedandMode
SolarflarenetworkadapterssupporteitherQSFP+,SFP,SFP+orBase‐Tstandards.
OnBase‐Tadaptersthreespeedsaresupported100Mbps,1Gbpsand10Gbps.The
adaptersuseautonegotiationtoautomaticallyselectthehighestspeedsupported
incommonwiththelinkpartner.
OnSFP+adapterstheSFPmodule(transceiver)determinesthesupportedspeeds,
typicallySFPmodulesonlysupportasinglespeed.SomeSolarflareSFP+adapters
supportdualspeedopticalmodulesthatcanoperateateither1Gbpsor10Gbps.
However,thesemodulesdonotauto‐negotiatelinkspeedandoperateatthe
maximum(10G)linkspeedunlessexplicitlyconfiguredtooperateatalowerspeed
(1G).
Table10:Supported1GTransceivers
Manufacturer ProductCode Type
SFN5xxx
SFN6xxx
SFN7xxx
SFN8xxx
Avago AFBR‐5710PZ 1000Base‐SX ✔ ✔ ✔
Cisco GLC‐LH‐SM 1000Base‐LX/LH ✔ ✔ ✔
Cisco 30‐1299‐01 1000Base‐LX ✔
Finisar FTLF8519P2BCL 1000Base‐SX ✔ ✔ ✔ ✔
Finisar FTLF8519P3BNL 1000Base‐SX ✔ ✔ ✔
Finisar FTLF1318P2BCL 1000Base‐LX ✔ ✔ ✔
Finisar FTLF1318P3BTL 1000Base‐LX ✔ ✔ ✔ ✔
HP 453153‐001
453151‐B21
1000Base‐SX ✔ ✔ ✔

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 47
ThetablesbelowsummarizesthespeedssupportedbySolarflarenetworkadapters.
100Base‐TinaSolarflareadapterback‐to‐back(nointerveningswitch)configuration
willnotworkandisnotsupported.
Table11:SFN5000,SFN6000,SFN7000andSFN8000seriesSFP+/QSFP+Adapters
SupportedModes Autoneg
speed
Speed Comment
QSFP+direct
attachcables
No 10Gor40G SFN8542,SFN8042,SFN7142Q,
SFN7042Q
QSFP+optical
cables
No 10Gor40G SFN8542,SFN8042,SFN7142Q,
SFN7042Q
SFP+directattach
cable
No 10G
SFP+optical
module(10G)
No 10G
SFPopticalmodule
(1G)
No 1G
SFP+optical
module(10G/1G)
No 10Gor1G Dualspeedmodulesrunatthe
maximumspeed(10G)unless
explicitlyconfiguredtothe
lowerspeed(1G)
SFP1000BASE‐T
module
No 1G Thesemodulessupportonly1G
andwillnotlinkupat100Mbps
Table12:SFN5161TandSFN5121T10GBASE‐TAdapters
SupportedModes Autoneg
speed
Speed Comment
100Base‐TYes 100Mbps Typicallytheinterfaceissetto
autonegotiationspeedand
automaticallyselectsthe
highestspeedsupportedin
commonwithitslinkpartner.If
thelinkpartnerissetto
100Mbps,withnoautoneg,the
adapterwilluse“parallel
detection”todetectandselect
100Mbpsspeed.Ifneededany
ofthethreespeedscanbe
explicitlyconfigured
1000Base‐TX Yes 1Gbps
10GBase‐TYes 10Gbps

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 48
2.13LEDStates
TherearetwoLEDsontheSolarflarenetworkadaptertransceivermodule.LED
statesareasfollows
Table13:LEDStates
AdapterType LEDDescription State
QSFP+,SFP/SFP+ Speed Green(solid)atallspeeds
Activity Flashinggreenwhennetworktrafficis
present
LEDsareOFFwhenthereisnolinkpresent
BASE‐TSpeed Green(solid)10Gbps
Yellow(solid)100/1000Mbps
Activity Flashinggreenwhennetworktrafficis
present
LEDsareOFFwhenthereisnolinkpresent

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 49
2.14ConfigureQSFP+Adapter
SFN7x42Qadapterscanoperateas2x10GbpsperQSFP+port,oras1x40Gbpsper
QSFP+port.Aconfigurationof1x40Gand2x10Gportsisnotsupported.
Figure1:QSFP+PortConfigurationforSFN7x42Q
TheSolarflare40Gbreakoutcableshaveonly2physicalcables(seeSupported
QSFP+toSFP+BreakoutCablesonpage44).Breakoutcablesfromothersuppliers
mayhave4physicalcables.Whenconnectingathirdpartybreakoutcableintoan
SFN7x42Q40GQSFP+cage(in10Gmode),onlycables1and3willbeactive.
SFN7x42Q
PORT 0
PORT 1
1 x 40g
1 x 40g
SFN7x42Q
PORT 0
PORT 1
sfboot options
port-mode=2x40G
pf-count=1
1 x 10g
g
1 x 10g
1 x 10g
1 x 10g
sfboot options
port-mode=4x10G
pf-count=1
SFN7x42Q Switch
PORT 0 PORT 0
1
3
2
4
PORT 1 PORT 1
1
3
2
4

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 50
SFN8x42adapterscanoperateas4x10GbpsonQSFP+port0,oras1x40Gbpsper
QSFP+port.Aconfigurationof1x40Gand2x10Gportsisnotsupported.
Figure2:QSFP+PortConfigurationforSFN8x42
ThesfbootutilityfromtheSolarflareLinuxUtilitiespackage(SF‐107601‐LS)isused
toconfigureaSolarflareQSFP+adapterfor10Gor40Goperation.Forexample:
#sfbootport‐mode=2x40Gpf‐count=1
SFN8x42
PORT 0
PORT 1
1 x 40g
1 x 40g
SFN8x42
PORT 0
PORT 1
sfboot options
port-mode=2x40G
pf-count=1
1 x 10g
1
1
x
10
10
g
1 x 10g
1 x 10g
1 x 10g
1
1
x
10
10
g
1 x 10g
sfboot options
port-mode=4x10G
pf-count=1
SFN8x42 Switch
PORT 0 PORT 0
1
3
2
4
PORT 1 PORT 1

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 51
2.15SingleOpticalFiber‐RXConfiguration
TheSolarflareadapterwillsupportareceive(RX)onlyfibercableconfiguration
whentheadapterisrequiredonlytoreceivetraffic,buthavenotransmitlink.This
canbeused,forexample,whentheadapteristoreceivetrafficfromafibertap
device.
Solarflarehavesuccessfullytestedthisconfigurationona10GlinkonSFN5000,
SFN6000,SFN7000andSFN8000seriesadapterswhenthelinkpartnerisconfigured
tobeTXonly(thiswillalwaysbethecasewithafibertap).Someexperimentation
mightberequiredwhensplittingthelightsignaltoachievearatiothatwilldeliver
sufficientsignalstrengthtoallendpoints.
Solarflareadaptersdonotsupportareceiveonlyconfigurationon1Glinks.
2.16SolarflareMezzanineAdapter:SFN8722OCP
TheSolarflareXtremeScaleSFN8722Dual‐Port10GbESFP+PCIe3.1OCPServer
AdapterisanOpenComputeProjectmezzanineadapterforEthernetconnectivity.
TheadaptermeetsthedesignrequirementsoftheOCPMezzanineCard2.0Design
Specification.
1Shutdowntheserverandunplugfromthepowersourcebeforeremovingthe
servercover.
2LocatethemezzanineslotandtheSFP+portslots‐refertotheservermanual
ifnecessary.
3AligntheSFP+cageswiththeportslotsandseattheadapterinthemezzanine
slot.Securetheadaptertothestandoffs.
Figure3:InstallingtheOCPMezzanineAdapterSolarflareMezzanine
Adapters:SFN5814HandSFN5812H

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 52
2.17SolarflareMezzanineAdapter:SFN581xH
TheSolarflareSFN5814HQuad‐PortandSFN5812HDual‐Portare10GEthernet
MezzanineAdaptersfortheIBMBladeCenter.
SolarflaremezzanineadaptersaresupportedontheIBMBladeCenterE,HandS
chassis,HS22,HS22VandHX5servers.TheIBMBladeCenterbladesupportsasingle
Solarflaremezzanineadapter.
1ThebladeshouldbeextractedfromtheBladeCenterinordertoinstallthe
mezzanineadapter.
2Removethebladetopcoverandlocatethetworetainingpoststowardsthe
rearoftheblade‐(Figure4).RefertotheBladeCentermanualifnecessary
Figure4:InstallingtheMezzanineAdapter
3Hingetheadapterundertheretainingposts,asillustrated,andalignthe
mezzanineportconnectorwiththebackplaneconnectorblock.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 53
4Lowertheadapter,takingcaretoalignthesidepositioning/retainingpostswith
therecessesintheadapter.SeeFigure5.
Figure5:Inpositionmezzanineadapter
5Presstheportconnectorgentlyintotheconnectorblockensuringthatthe
adapterisfirmlyandcorrectlyseatedintheconnectorblock.
6Replacethebladetopcover.
7Whenremovingtheadapterraisethereleasehandle(shownon<Blue
Text>Figure<BlueText>5 )toeasetheadapterupwardsuntilitcanbefreed
fromtheconnectorblock.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 54
2.18SolarflareMezzanineAdapterSFN6832F‐C61
TheSolarflareSFN6832F‐C61isaDual‐PortSFP+are10GbEMezzanineAdaptersfor
theDELLPowerEdgeC6100seriesrackserver.EachDELLPowerEdgenodesupports
asingleSolarflaremezzanineadapter.
1Thenodeshouldbeextractedfromtherackserverinordertoinstallthe
mezzanineadapter.RefertothePowerEdgerackservermanualifnecessary.
Figure6:SFN6832F‐C61‐Installingintotherackservernode

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 55
2SecurethesideretainingbracketasshowninFigure5(topdiagram)
3FitriserPCBcardintotheslotasshowninFigure5(topdiagram).Notethatthe
risercardonlyfitsoneway.
4Offertheadaptertothenodeandensureitliesunderneaththechassiscover.
5Lowertheadapterintopositionmakingsuretoconnecttheadapterslotwith
thetoofthePCBrisercard.
6Securetheadapterusingthesuppliedscrewsatthepositionsshowninthe
diagram.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 56
2.19SolarflareMezzanineAdapterSFN6832F‐C62
TheSolarflareSFN6832F‐C61isaDual‐PortSFP+are10GbEMezzanineAdaptersfor
theDELLPowerEdgeC6200seriesrackserver.EachDELLPowerEdgenodesupports
asingleSolarflaremezzanineadapter.
1Thenodeshouldbeextractedfromtherackserverinordertoinstallthe
mezzanineadapter.RefertothePowerEdgerackservermanualifnecessary.
Figure7:SFN6832F‐C62‐Installingintotherackservernode
2FitthePCBrisercardtotheundersideconnectorontheadapter.
3Offertheadaptertotherackservernodeensuringitliesunderneaththe
chassiscover.

SolarflareServerAdapterUserGuide
Installation
Issue20 ©SolarflareCommunications2017 57
4LowertoadaptertoconnecttheriserPCBcardintotheslotinthenode.
5Securetheadapterwiththesuppliedscrewsatthepointsshowninthe
diagram.
2.20SolarflarePrecisionTimeSynchronizationAdapters
TheSolarflareSFN8542‐Plus,SFN8522‐Plus,SFN80421,SFN7322F,SFN7142Q1,
SFN7124F1,SFN7122F1,SFN7042Q1,SFN7024F1,SFN7022F1andSFN6322F
adapterscangeneratehardwaretimestampsforPTPpacketsinsupportofa
networkprecisiontimeprotocoldeploymentcompliantwiththeIEEE1588‐2008
specification.
CustomersrequiringconfigurationinstructionsfortheseadaptersandSolarflare
PTPinaPTPdeploymentshouldrefertotheSolarflareEnhancedPTPUserGuide
(SF‐109110‐CD).
2.21SolarflareApplicationOnload™Engine
TheApplicationOnload™Engine(AOE)SFA7942Qisahalf‐length,full‐heightPCIe
formfactoradaptercombiningtheultra‐lowlatencydual‐port40GbEadapterwith
anAlteraStratixVFPGA.FordetailsoftheSFA7942QadapterrefertotheSolarflare
ApplicationOnloadUsersGuide(SF‐115020‐CD).
TheApplicationOnload™Engine(AOE)SFA6902Fisafull‐lengthPCIeformfactor
adapterthatcombinesanultra‐lowlatencyadapterwithatightlycoupled‘bump‐in‐
the‐wire’FPGA.Fordetailsofinstallationandconfiguringapplicationsthatrunon
theSFA6902FAOErefertotheSolarflareAOEUser’sGuide(SF‐108389‐CD).For
detailsondevelopingcustomapplicationstorunontheFPGArefertotheAOE
FirmwareDevelopmentKitUserGuide(SF‐108390‐CD).
1. RequiresanAppFlex™license‐refertoSolarflareAppFlex™TechnologyLicensing.on
page18.

SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 58
3SolarflareAdaptersonLinux
ThischaptercoversthefollowingtopicsontheLinux®platform:
•SystemRequirementsonpage59
•LinuxPlatformFeatureSetonpage59
•SolarflareRPMsonpage61
•InstallingSolarflareDriversandUtilitiesonLinuxonpage63
•RedHatEnterpriseLinuxDistributionsonpage63
•SUSELinuxEnterpriseServerDistributionsonpage64
•InstallingDKMSDriverandUtilitiesonUbuntu/DebianServersonpage65
•UnattendedInstallationsonpage66
•UnattendedInstallation‐RedHatEnterpriseLinuxonpage68
•UnattendedInstallation‐SUSELinuxEnterpriseServeronpage69
•ConfiguringtheSolarflareAdapteronpage70
•SettingUpVLANsonpage73
•SettingUpTeamsonpage73
•NICPartitioningonpage74
•NICPartitioningwithSR‐IOVonpage78
•ReceiveSideScaling(RSS)onpage81
•ReceiveFlowSteering(RFS)onpage83
•SolarflareAcceleratedRFS(SARFS)onpage84
•TransmitPacketSteering(XPS)onpage85
•LinuxUtilitiesRPMonpage87
•ConfiguringtheBootManagerwithsfbootonpage88
•UpgradingAdapterFirmwarewithsfupdateonpage96
•LicenseInstallwithsfkeyonpage100
•PerformanceTuningonLinuxonpage103
•InterruptAffinityonpage113
•ModuleParametersonpage123
•LinuxethtoolStatisticsonpage125

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 59
3.1SystemRequirements
RefertoSoftwareDriverSupportonpage17forsupportedLinuxDistributions.
NOTE:ManyLinuxdistributionsincludeaversionoftheSolarflarenetworkadapter
driverthatistakenfromtheupstreamkernel.Thisdrivermightbeoutofdate,and
mightnotsupportthelatestSolarflareadaptersandfeatures.
Toupdatethesupplieddriver,seeInstallingSolarflareDriversandUtilitiesonLinux
onpage63.SeealsotheOS‐specificsectionsthatfollow,suchasRedHatEnterprise
LinuxDistributionsonpage63,andSUSELinuxEnterpriseServerDistributionson
page64.
3.2LinuxPlatformFeatureSet
Table14liststhefeaturessupportedbySolarflareadaptersonRedHatandSUSE
Linuxdistributions.
Table14:LinuxFeatureSet
Fault
diagnostics
Supportforcomprehensiveadapterandcablefault
diagnosticsandsystemreports.
•SeeLinuxUtilitiesRPMonpage87
Firmware
updates
SupportforBootROM,Phytransceiverandadapterfirmware
upgrades.
•SeeUpgradingAdapterFirmwarewithsfupdateon
page96
Hardware
Timestamps
SolarflareXtremeScaleSFN8542‐Plus,SFN8522‐Plusand
SFN80421adapters,andSolarflareFlareonSFN7322F,
SFN7142Q1,SFN7124F1,SFN7122F1,SFN7042Q1,SFN7024F1,
SFN7022F1andSFN6322Fadapterssupportthehardware
timestampingofallreceivedpackets‐includingPTPpackets.
TheLinuxkernelmustsupporttheSO_TIMESTAMPINGsocket
option(2.6.30+)toallowthedrivertosupporthardware
packettimestamping.Thereforehardwarepacket
timestampingisnotavailableinRHEL5.
Jumboframes SupportforMTUs(MaximumTransmissionUnits)from
1500bytesto9216bytes.
•SeeConfiguringJumboFramesonpage72

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 60
PXEandUEFI
booting
Supportfordisklessbootingtoatargetoperatingsystemvia
PXEorUEFIboot.
•SeeConfiguringtheBootManagerwithsfbooton
page88
•SeeSolarflareBootManageronpage374
PXEorUEFIbootarenotsupportedforSolarflareadapterson
IBMSystempservers.
ReceiveSide
Scaling(RSS)
SupportforRSSmulti‐coreloaddistributiontechnology.
•SeeReceiveSideScaling(RSS)onpage81.
ARFS LinuxAcceleratedReceiveFlowSteering.
Improvelatencyandreducejitterbysteeringpacketstothe
corewhereareceivingapplicationisrunning.
SeeReceiveFlowSteering(RFS)onpage83.
SARFS SolarflareAcceleratedRFS.
SeeSolarflareAcceleratedRFS(SARFS)onpage84.
TransmitPacket
Steering(XPS)
SupportedonLinux2.6.38andlaterkernels.Selectsthe
transmitqueuewhentransmittingonmulti‐queuedevices.
SeeTransmitPacketSteering(XPS)onpage85.
NICPartitioning EachphysicalportonanSFN7000orSFN8000seriesadapter
canbeexposedasupto8PCIePhysicalFunctions(PF).
SeeNICPartitioningonpage74.
SR‐IOV SupportforLinuxKVMSR‐IOV.
•SeeSR‐IOVVirtualizationUsingKVMonpage326
SR‐IOVisnotsupportedforSolarflareadaptersonIBM
Systempservers.
Taskoffloads SupportforTCPSegmentationOffload(TSO),LargeReceive
Offload(LRO),andTCP/UDP/IPchecksumoffloadfor
improvedadapterperformanceandreducedCPUprocessing
requirements.
•SeeConfiguringTaskOffloadingonpage72
TXPIO UseofprogrammedIObuffersinordertoreducelatencyfor
smallpackettransmission.
•SeeTXPIOonpage110.
Table14:LinuxFeatureSet

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 61
3.3SolarflareRPMs
SolarflaresupplyRPMpackagesinthefollowingformats:
•DKMS
•SourceRPM
DKMSRPM
DynamicKernelModuleSupport(DKMS)isaframeworkwheredevicedriversource
canresideoutsidethekernelsourcetree.Itsupportsaneasymethodtorebuild
moduleswhenkernelsareupgraded.
Executethecommanddkms‐‐versiontodeterminewhetherDKMSisinstalled.
ToinstalltheSolarflaredriverDKMSpackageexecutethefollowingcommand:
rpm‐isfc‐dkms‐<version>.noarch.rpm
Loadthedriver:
modprobesfc
Teaming Improveserverreliabilityandbandwidthbycombining
physicalports,fromoneormoreSolarflareadapters,intoa
team,havingasingleMACaddressandwhichfunctionasa
singleportprovidingredundancyagainstasinglepointof
failure.
•SeeSettingUpTeamsonpage73
VirtualLANs
(VLANs)
SupportformultipleVLANsperadapter.
•SeeSettingUpVLANsonpage73
1. RequiresanAppFlexlicense‐fordetailsrefertoSolarflareAppFlex™Technology
Licensing.onpage18.
Table14:LinuxFeatureSet

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 62
BuildingtheSourceRPM
TheseinstructionsmaybeusedtobuildasourceRPMpackageforusewithLinux
distributionsorkernelversionswhereDKMSpackagesarenotsuitable.
NOTE:RPMscanbeinstalledformultiplekernelversions.
1Kernelheadersfortherunningkernelmustbeinstalledat/lib/modules/
<kernel‐version>/build.OnRedHatsystems,installtheappropriate
kernel‐smp‐develorkernel‐develpackage.OnSUSEsystemsinstallthe
kernel‐sourcepackage.
2TobuildasourceRPMfortherunningkernelversionfromthesourceRPM,
enterthefollowingatthecommand‐line:
rpmbuild‐‐rebuild<package_name>
wherepackage_nameisthefullpathtothesourceRPM.
3Tobuildforadifferentkerneltotherunningsystem,enterthefollowing
command:
rpmbuild‐‐define'kernel<kernelversion>'‐‐rebuild<package_name>
4InstalltheresultingRPMbinarypackage,asdescribedinInstallingSolarflare
DriversandUtilitiesonLinux
5Loadthedriver:
modprobesfc
NOTE:ThelocationofthegeneratedRPMisdependentonthedistributionand
oftentheversionofthedistributionandtheRPMbuildtools.
TheRPMbuildprocessshouldprintoutthelocationoftheRPMtowardstheendof
thebuildprocess,butitcanbehardtofindamongsttheotheroutput.
TypicallytheRPMwillbeplacedin/usr/src/<dir>/RPMS/<arch>/,where<dir>
isdistributionspecific.PossiblefoldersincludeRedHat,packagesorextra.The
RPMfilewillbenamedusingthesameconventionastheSolarflareprovidedpre‐
builtbinaryRPMs.
Thecommand:find/usr/src‐name"*sfc*.rpm”willlistthelocationsofall
SolarflareRPMs.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 63
3.4InstallingSolarflareDriversandUtilitiesonLinux
•RedHatEnterpriseLinuxDistributionsonpage63
•SUSELinuxEnterpriseServerDistributionsonpage64
LinuxdriversforSolarflareareavailableinDKMSandsourceRPMpackages.The
sourceRPMcanbeusedtobuildbinaryRPMsforawideselectionofdistributions
andkernelvariants.ThissectiondetailshowtoinstalltheresultantbinaryRPM.
SolarflarerecommendusingDKMSRPMsiftheDKMSframeworkisavailable.See
DKMSRPMonpage61formoredetails.
NOTE:TheSolarflareadaptershouldbephysicallyinstalledinthehostcomputer
beforeinstallingthedriver.Theusermusthaverootpermissionstoinstallthe
adapterdrivers.
3.5RedHatEnterpriseLinuxDistributions
TheseinstructionscoverinstallationandconfigurationoftheSolarflarenetwork
adapterdriversonRedHatEnterpriseLinuxServer.RefertoSoftwareDriverSupport
onpage17fordetailsofsupportedLinuxdistributions.
RefertoBuildingtheSourceRPMonpage62fordirectionsoncreatingthebinary
RPM.
1InstalltheRPMs:
#
rpm‐ivhkernel‐module‐sfc‐RHEL6‐2.6.32‐279.el6.x86_64‐3.3.0.6262‐1.x86_64.rpm
2Makethenewnetworksettings.
SolarflarerecommendusingtheNetworkManagerserviceandassociatedGUI
tools.Formoreinformationaboutthisrefertohttps://wiki.gnome.org/
NetworkManager.
3Applythenewnetworksettings.
IfyouareusingtheNetworkManagerserviceandassociatedGUItools,youwill
needtoreboot.Alternativelyyoucanrestartthenetworkingservice,bytyping
thefollowingbeforethenewSolarflareinterfacecanbeused:
#servicenetworkrestart
Variousothertoolsthatcanbeusedforconfiguringnetworkadapters.Seethe
documentationsuppliedwiththetool.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 64
3.6SUSELinuxEnterpriseServerDistributions
TheseinstructionscoverinstallationandconfigurationoftheSolarflareNetwork
AdapterdriversonSUSELinuxEnterpriseServer.RefertoSoftwareDriverSupport
onpage17fordetailsofsupporteddistributions.
RefertoBuildingtheSourceRPMonpage62fordirectionsoncreatingthebinary
RPM.
1TheSolarflaredriversarecurrentlyclassifiedas'unsupported'bySUSE
EnterpriseLinux10and11.ToallowunsupporteddriverstoloadinSLES10,edit
thefollowingfile:
/etc/sysconfig/hardware/config
Findtheline:
LOAD_UNSUPPORTED_MODULES_AUTOMATICALLY=no
andchangenotoyes.
ForSLES11,editthelastlinein/etc/modprobe.d/unsupported‐modulesto:
allow_unsupported_modules1
2InstalltheRPMs:
#
rpm‐ivhkernel‐module‐sfc‐2.6.5‐7.244‐smp‐2.1.0111‐0.sf.1.SLES9.i586.rpm
3RunYaSTtoconfiguretheSolarflareNetworkAdapter.Whenyouselectthe
EthernetController,theConfigurationNamewilltakeoneofthefollowing
forms:
‐ eth‐bus‐pci‐dddd:dd:dd.NwhereNiseither0or1.
‐ eth‐id‐00:0F:53:XX:XX:XX
Onceconfigured,theConfigurationNameforthecorrectEthernetController
willchangetothesecondform,andanethXinterfacewillappearonthehost.
IftheincorrectEthernetControllerischosenandconfigured,thenthe
ConfigurationNamewillremainaseth‐bus‐pci‐dddd:dd:dd.1after
configurationbyYaST,andanethXinterfacewillnotappearonthesystem.In
thiscase,youshouldremovetheconfigurationforthisEthernetController,and
configuretheotherEthernetControllerofthepair.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 65
3.7InstallingDKMSDriverandUtilitiesonUbuntu/Debian
Servers
SolarflarerecommendthattheDKMSdriverpackageisinstalledontheUbuntu
serverandNOTthesourceRPMpackage.Onloadusersonlyneedtoinstallthe
Onloaddistributionwhichincludestheadapterdriver.
Remove‘in‐tree’Driver
The‘in‐tree’driveristheSolarflaredriverincludedintheOSdistribution.
IftheOS‘in‐tree’driverisinstalledonthesystem.Thiscanberemovedbefore
installinganewerDKMSdriver.
1Toidentifyifthe‘in‐tree’driverisbeingused:
#ethtool‐i<solarflareinterface>
driver:sfc
version:4.0(thismightalsobethe4.1driver)
2Toremovethe‘in‐tree’driverandrebuildtheinitramfs‐sothatthe‘in‐tree’
driverdoesnotautomaticallyreloadfollowingreboot:
#find/lib/modules/$(uname‐r)‐name'sfc*.ko'|xargsrm–rf
#rmmodsfc
#update‐initramfs‐u‐k$(uname‐r)
NetDriverDKMS
NOTE:dkmsmustbeinstalledontheserver.Tocheck,runthefollowingcommand:
#dkms‐version
TheSolarflarenetdriverDKMSpackage(SF‐104979‐LS)isavailablefrom:
https://support.solarflare.com/
1DownloadtheDKMSsourcepackageSF‐104979‐LSandunziponthetarget
server.
2Createthe.debfile:
sudoalien‐csfc‐dkms‐<version>.sf.1.noarch.rpm
Thiscommandgeneratesthesfc‐dkms_<version>_all.debfile.
The‐coptionisrequiredtoconvertsourcescriptsandbuildthedriver.
3Installthedebfile:
sudodpkg–i‐dkms_<version>_all.deb
4Reloadthesfcdriver:
modprobe–rsfc
modprobesfc

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 66
Utilities
TheSolarflareLinuxUtilitiespackage(SF‐107601‐LS)isavailablefrom:
https://support.solarflare.com/
1Downloadandunzipthepackageonthetargetserver.
2Createthe.debfile:
sudoaliensfutils‐<version>.x86_64.rpm
Thiscommandgeneratesthesfutils_<version>_amd64.debfile.
3Installthedebfile:
sudodpkg‐isfutils_<version>_amd64.deb
4Utilitiessfupdate,sfkey,sfctoolandsfbootareavailableontheserver.
3.8UnattendedInstallations
BuildingDriversandRPMsforUnattendedInstallation
Linuxunattendedinstallationrequiresbuildingtwodrivers:
•AminimalinstallationSolarflaredriverthatonlyprovidesnetworkingsupport.
Thisdriverisusedfornetworkaccessduringtheinstallationprocess.
•AnRPMthatincludesfulldriversupport.ThisRPMisusedtoinstalldriversin
theresultantLinuxinstallation.
Figure8:UnattendedInstallationRPM
Figure8showshowtheunattendedinstallationprocessworks.
1BuildaminimalSolarflaredriverneededforuseintheinstallationkernel
(KernelAinthediagramabove).Thisisachievedbydefining“sfc_minimal”to
rpmbuild.Thismacrodisableshardwaremonitoring,MTDsupport(usedfor
accesstotheadaptersflash),I2Canddebugfs.Thisresultsinadriverwithno
dependenciesonothermodulesandallowsnetworkingsupportfromthe
driverduringinstallation.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 67
#asnormaluser
$mkdir‐p/tmp/rpm/BUILD
$rpm‐isfc‐<ver>‐1.src.rpm
$rpmbuild‐bc‐D'sfc_minimal=1'‐D'kernel=<installerkernel>'\
/tmp/rpm/SPECS/sfc.spec
2TheSolarflareminimaldriversfc.kocanbefoundin/tmp/rpm/BUILD/sfc‐
<ver>/linux_net/sfc.ko.Integratethisminimaldriverintoyourinstaller
kernel,eitherbycreatingadriverdiskincorporatingthisminimaldriverorby
integratingthisminimaldriverintoinitrd.
3BuildafullbinaryRPMforyourTargetkernelandintegratethisRPMintoyour
Target(KernelB).
DriverDisksforUnattendedInstallations
Table15belowidentifiesthevariousstagesofanunattendedinstallationprocess:
Table15:InstallationStages
InControl StagesofBoot Setupneeded
BIOS PXEcodeonthe
adapterruns.
AdaptermustbeinPXEboot
mode.SeeSolarflareBoot
Manageronpage374.
SFBootROM(PXE) DHCPrequestfromPXE
(SFBootROM).
DHCPserverfilenameand
next‐serveroptions.
SFBootROM(PXE) TFTPrequestfor
filenametonext‐server,
e.g.pxelinux.0
TFTPserver.
pxelinux TFTPretrievalof
pxelinuxconfiguration.
pxelinuxconfigurationon
TFTPserver.
pxelinux TFTPmenuretrievalof
Linuxkernelimage
initrd.
pxelinuxconfiguration
Kernel,kernelcommand,
initrd
Linuxkernel/installer Installerretrieves
kickstartconfiguration,
e.g.viaHTTP.
Kickstart/AutoYaST
configuration.
TargetLinuxkernel kernelreconfigures
networkadapters.
DHCPserver.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 68
3.9UnattendedInstallation‐RedHatEnterpriseLinux
DocumentationforpreparingforaRedHatEnterpriseLinuxnetworkinstallationcan
befoundat:
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/6/
html/Installation_Guide/
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/7/
html/Installation_Guide/
TheprerequisitesforaNetworkKickstartinstallationare:
•RedHatEnterpriseLinuxinstallationmedia.
•AWebserverand/orFTPServerfordeliveryoftheRPMsthataretobe
installed.
•ADHCPserverforIPaddressassignmentsandtolaunchPXEBoot.
•ATFTPserverfordownloadofPXEBootcomponentstothemachinesbeing
kickstarted.
•TheBIOSonthecomputerstobeKickstartedmustbeconfiguredtoallowa
networkboot.
•ABootCD‐ROMorflashmemorythatcontainsthekickstartfileoranetwork
locationwherethekickstartfilecanbeaccessed.
•ASolarflaredriverdisk.
UnattendedRedHatEnterpriseLinuxinstallationsareconfiguredwithKickstart.The
documentationforKickstartcanbefoundat:
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/6/
html/Installation_Guide/ch‐kickstart2.html
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/7/
html/Installation_Guide/chap‐kickstart‐installations.html
ToinstallRedHatEnterpriseyouneedthefollowing:
1Amodifiedinitrd.imgfilewithamendedmodules.aliasandmodules.dep
whichincorporatestheSolarflareminimaldriverfortheinstallationkernel.
Findcurrentaliaseswiththemodinfocommand:
modinfosfc|grepalias
Thenaddthealiasesfoundtothemodules.aliasfile:
pci:v00001924d00001A03sv*sd*bc*sc*i*
pci:v00001924d00000A03sv*sd*bc*sc*i*
pci:v00001924d00001923sv*sd*bc*sc*i*
pci:v00001924d00000923sv*sd*bc*sc*i*
pci:v00001924d00001903sv*sd*bc*sc*i*
pci:v00001924d00000903sv*sd*bc*sc*i*
pci:v00001924d00000813sv*sd*bc*sc*i*
pci:v00001924d00000803sv*sd*bc*sc*i*

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 69
2Identifythedriverdependenciesusingthemodinfocommand:
modinfo./sfc.ko|grepdepends
depends:i2c‐core,mii,hwmon,hwmon‐vid,i2c‐algo‐bitmtdcoremtdpart
Allmoduleslistedasdependsmustbepresentintheinitrdfileimage.In
additiontheusershouldbeawareoffurtherdependencieswhichcanbe
resolvedbyaddingthefollowinglinestothemodules.depfile:
sfc:i2c‐coremiihwmonhwmon‐vidi2c‐algo‐bitmtdcoremtdpart1
i2c‐algo‐bit:i2c‐core
mtdpart:mtdcore
3AconfiguredkickstartfilewiththeSolarflareDriverRPMmanuallyaddedtothe
%Postsection.Forexample:
%post
/bin/mount‐oro<IPAddressofInstallationserver>:/<pathto
locationdirectorycontainingSolarflareRPM>/mnt
/bin/rpm‐Uvh/mnt/<filenameofSolarflareRPM>
/bin/umount/mnt
3.10UnattendedInstallation‐SUSELinuxEnterpriseServer
UnattendedSUSELinuxEnterpriseServerinstallationsareconfiguredwith
AutoYaST.ThedocumentationforAutoYaSTcanbefoundat:
https://www.suse.com/documentation/sles11/book_autoyast/data/
book_autoyast.html
https://www.suse.com/documentation/sles‐12/book_autoyast/data/
book_autoyast.html
TheprerequisitesforaNetworkAutoYaSTinstallationare:
•SUSELinuxEnterpriseinstallationmedia.
•ADHCPserverforIPaddressassignmentsandtolaunchPXEBoot.
•ANFSorFTPservertoprovidetheinstallationsource.
•ATFTPserverforthedownloadofthekernelbootimagesneededtoPXEBoot.
•AbootserveronthesameEthernetsegment.
•AninstallserverwiththeSUSELinuxEnterpriseServerOS.
•AnAutoYaSTconfigurationserverthatdefinesrulesandprofiles.
•AconfiguredAutoYaSTProfile(controlfile).
1. ForRedHatEnterpriseLinuxfromversion5.5addmdiotothisline.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 70
FurtherReading
•SUSELinuxEnterpriseServerremoteinstallation:
https://www.suse.com/documentation/sles11/book_sle_deployment/data/
cha_deployment_remoteinst.html
https://www.suse.com/documentation/sles‐12/book_sle_deployment/data/
cha_deployment_remoteinst.html
•SUSEinstallwithPXEBoot:
https://www.suse.com/documentation/sles11/book_sle_deployment/data/
sec_deployment_remoteinst_boot.html#sec_deployment_remoteinst_boot_
pxe
https://www.suse.com/documentation/sles‐12/book_sle_deployment/data/
sec_deployment_remoteinst_boot.html#sec_deployment_remoteinst_boot_
pxe
3.11ConfiguringtheSolarflareAdapter
EthtoolisastandardLinuxtoolthatyoucanusetoqueryandchangeEthernet
adaptersettings.Ethtoolcanbedownloadedfromhttp://sourceforge.net/projects/
gkernel/files/ethtool/.
Thegeneralcommandforethtoolisasfollows:
ethtool<‐option><ethX>
whereXistheidentifieroftheinterface.Rootaccessisrequiredtoconfigure
adaptersettings.
HardwareTimestamps
TheSolarflareFlareonSFN7000andXtremeScaleSFN8000seriesadapterscan
supporthardwaretimestampingforallreceivednetworkpackets.
TheLinuxkernelmustsupporttheSO_TIMESTAMPINGsocketoption(2.6.30+)
thereforehardwarepackettimestampingisnotsupportedonRHEL5.
FormoreinformationaboutusingthekerneltimestampingAPI,usersshouldrefer
totheLinuxdocumentation:http://lxr.linux.no/linux/Documentation/networking/
timestamping.txt

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 71
ConfiguringSpeedandModes
Solarflareadaptersbydefaultautomaticallynegotiatetheconnectionspeedtothe
maximumsupportedbythelinkpartner.
•Onthe10GBASE‐Tadapters“auto”instructstheadaptertonegotiatethe
highestspeedsupportedincommonwithitslinkpartner.
•OnSFP+adapters,“auto”instructstheadaptertousethehighestlinkspeed
supportedbytheinsertedSFP+module.
On10GBASE‐TandSFP+adapters,anyothervaluespecifiedwillfixthelinkatthat
speed,regardlessofthecapabilitiesofthelinkpartner,whichmayresultinan
inabilitytoestablishthelink.DualspeedSFP+modulesoperateattheirmaximum
(10G)linkspeedunlessexplicitlyconfiguredtooperateatalowerspeed(1G).
Thefollowingcommandsdemonstrateethtooltoconfigurethenetworkadapter
Ethernetsettings.
• Identifyinterfaceconfigurationsettings:
ethtoolethX
•Setlinkspeed:
ethtool‐sethXspeed1000|100
•Toreturntheconnectionspeedtothedefaultauto‐negotiate,enter:
ethtool‐s<ethX>autonegon
• Configureautonegotiation:
ethtool‐sethXautoneg[on|off]
•Setautonegotiationadvertisedspeed1G:
ethtool‐sethXadvertise0x20
•Setautonegotiationadvertisedspeed10G:
ethtool‐sethXadvertise0x1000
•Setautonegotiationadvertisedspeeds1Gand10G:
ethtool‐sethXadvertise0x1020
• Identifyinterfaceautonegotiationpauseframesetting:
ethtool‐aethX
• Configureautonegotiationofpauseframes:
ethtool‐AethXautonegon[rxon|off][txon|off]
NOTE:Duetoalimitationinethtool,whenauto‐negotiationisenabled,theuser
mustspecifybothspeedandduplexmodeorspeedandsetanadvertisemask
otherwisespeedconfigurationwillnotfunction.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 72
ConfiguringTaskOffloading
Solarflareadapterssupporttransmit(Tx)andreceive(Rx)checksumoffload,aswell
asTCPsegmentationoffload.Toensuremaximumperformancefromtheadapter,
alltaskoffloadsshouldbeenabled,whichisthedefaultsettingontheadapter.For
moreinformation,seePerformanceTuningonLinuxonpage103.
TochangeoffloadsettingsforTxandRx,usetheethtoolcommand:
ethtool‐‐offload<ethX>[rxon|off][txon|off]
ConfiguringReceive/TransmitRingBufferSize
BydefaultreceiveandtransmitringbuffersontheSolarflareadaptersupport1024
descriptors.Theusercanidentifyandreconfigureringbuffersizesusingtheethtool
command.
Toidentifythecurrentringsize:
ethtool‐gethX
TosetthenewtransmitorreceiveringsizetovalueN
ethtool‐GethX[rxN|txN]
Theringbuffersizemustbeavaluebetween128and4096.OntheSFN7000and
SFN8000seriesadaptersthemaximumTXbuffersizeisrestrictedto2048.Buffer
sizecanalsobesetdirectlyinthemodprobe.conffileoraddtheoptionslinetoa
fileunderthe/etc/modprobe.ddirectorye.g.
optionssfcrx_ring=4096
UsingthemodprobemethodsetsthevalueforallSolarflareinterfaces.Thenreload
thedriverfortheoptiontobecomeeffective:
modprobe‐rsfc
modprobesfc
ConfiguringJumboFrames
Solarflareadapterssupportframesizesfrom1500bytesto9216bytes.Forexample,
tosetanewframesize(MTU)of9000bytes,enterthefollowingcommand:
ifconfig<ethX>mtu9000
Tomakethechangespermanent,editthenetworkconfigurationfilefor<ethX>;for
example,/etc/sysconfig/network‐scripts/ifcfg‐eth1andappendthe
followingconfigurationdirective,whichspecifiesthesizeoftheframeinbytes:
MTU=9000

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 73
3.12SettingUpVLANs
VLANsofferamethodofdividingonephysicalnetworkintomultiplebroadcast
domains.Inenterprisenetworks,thesebroadcastdomainsusuallymatchwithIP
subnetboundaries,sothateachsubnethasitsownVLAN.TheadvantagesofVLANs
include:
•Performance
•Easeofmanagement
•Security
•Trunks
•Youdon'thavetoconfigureanyhardwaredevice,whenphysicallymovingyour
servertoanotherlocation.
TosetupVLANs,consultthefollowingdocumentation:
•ToconfigureVLANsonSUSELinuxEnterpriseServer,see:
http://www.novell.com/support/viewContent.do?externalId=3864609
•ToconfiguretaggedVLANtrafficonlyonRedHatEnterpriseLinux,see:
http://kbase.redhat.com/faq/docs/DOC‐8062
•ToconfiguremixedVLANtaggedanduntaggedtrafficonRedHatEnterprise
Linux,see:
http://kbase.redhat.com/faq/docs/DOC‐8064
3.13SettingUpTeams
Teamingnetworkadapters(networkbonding)allowsanumberofphysicaladapters
toactasone,virtualadapter.Teamingnetworkinterfaces,fromthesameadapter
orfrommultipleadapters,createsasinglevirtualinterfacewithasingleMAC
address.
Thevirtualadapterorvirtualinterfacecanassistinloadbalancingandproviding
failoverintheeventofphysicaladapterorportfailure.
TeamingconfigurationsupportprovidedbytheLinuxbondingdriverincludes:
•802.3adDynamiclinkaggregation
•Staticlinkaggregation
•FaultTolerant
Tosetupanadapterteam,consultthefollowingdocumentation:
• General:
http://www.kernel.org/doc/Documentation/networking/bonding.txt
•RHEL5:

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 74
http://www.redhat.com/docs/en‐US/Red_Hat_Enterprise_Linux/5.4/html/
Deployment_Guide/s2‐modules‐bonding.html
•RHEL6:
http://docs.redhat.com/docs/en‐US/Red_Hat_Enterprise_Linux/6/html/
Deployment_Guide/s2‐networkscripts‐interfaces‐chan.html
•SLES:
http://www.novell.com/documentation/sles11/book_sle_admin/data/
sec_basicnet_yast.html#sec_basicnet_yast_netcard_man
3.14NICPartitioning
NICPartitioningisafeaturesupportedonSolarflareadaptersstartingwiththe
SFN7000series.BypartitioningtheNIC,eachphysicalnetworkportcanbeexposed
tothehostasmultiplePCIePhysicalFunctions(PF)witheachhavingaunique
interfacenameanduniqueMACaddress.
WhentheSolarflareNETdriver(sfc.ko)isloadedinthehost,eachPFisbackedbya
virtualadapterconnectedtoavirtualport.Aswitchingfunctionsupportsthe
transportofnetworktrafficbetweenvirtualports(vport)andthephysicalport.
Partitioningisparticularlyusefulwhen,forexample,splittingasingle40GbE
interfaceintomultiplePFs.
•Upto16PFsand16MACaddressesaresupportPERADAPTER.
•Ona10GbEdual‐portadaptereachphysicalportcanbeexposedasamaximum
8PFs.
•Ona40GbEdual‐portadapter(in2*40Gmode)eachphysicalportcanbe
exposedasamaximum8PFs.
•Ona40GbEdual‐portadapter(in4*10Gmode)eachphysicalportcanbe
exposedasamaximum4PFs.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 75
NICPartitioningWithoutVLANs
Figure9:NICPartitioning‐withoutVLANs
• ConfiguredwithoutVLANs,allPFsareinthesameEthernetlayer2broadcast
domaini.e.apacketbroadcastfromanyonePFwouldbereceivedbyallother
PFs.
•Transmittedpacketsgodirectlytothewire.PacketssentbetweenPFsare
routedthroughthelocalTCP/IPstackloopbackinterfacewithouttouchingthe
sfcdriver.
• ReceivedbroadcastpacketsarereplicatedtoallPFs.
• Receivedmulticastpacketsaredeliveredtoeachsubscriber.
• ReceivedunicastpacketsaredeliveredtothePFwithamatchingMACaddress.
BecausetheTCP/IPstackhasmultiplenetworkinterfacesonthesame
broadcastdomain,thereisalwaysthepossibilitythatanyinterfacecould
respondtoanARPrequest.Toavoidthistheusershouldusearp_ignore=2to
avoidARPcachepollutionensuringthatARPresponsesareonlysentfroman
interfaceifthetargetIPaddressintheARPrequestmatchestheinterface
addresswithbothsender/receiverIPaddressesinthesamesubnet.
•Tosetarp_ignoreforthecurrentsession:
echo2>/proc/sys/net/ipv4/conf/all/arp_ignore
•Tosetarp_ignorepermanently(doesnotaffectthecurrentsession),addthe
followinglinetothe/etc/sysctl.conffile:
net.ipv4.conf.all.arp_ignore=2

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 76
•TheMUXERfunctionisalayer2switchingfunctionforreceivedtrafficenabled
inadapterfirmware.WhentheOSdeliverstraffictolocalinterfacesviathe
loopbackinterface,theMUXERactsasalayer2switchforbothtransmitand
receive.
VLANSupport
WhenPFsareconfiguredwithVLANtagseachPFmustbeinadifferentVLAN.The
MUXERfunctionactsasaVLANaggregatorsuchthattransmittedpacketsaresent
tothewireandreceivedpacketsaredemultiplexedbasedontheVLANtags.VLAN
tagsareadded/strippedbytheadapterfirmwaretransparenttotheOSanddriver.
VLANtagscanbeassignedwhenPFsareenabledusingthesfbootcommand.A
singlePFcanbeassignedVLANtag0allowingittoreceiveuntaggedtraffic.
#sfbootswitch‐mode=partitioningpf‐count=3pf‐vlan=0,200,300
ThefirstVLANIDinthepf‐vlancommaseparatedlistisassignedtothefirstPFofthe
physicalportandthereaftertagsareassignedtoPFsinlowestMACaddressorder.
Figure10:NICPartitioning‐VLANSupport
NICPartitioningConfiguration
Upto16PFsand16MACaddressesaresupportedperadapter.ThePFcountvalue
appliestoallphysicalports.Portscannotbeconfiguredindividually.
1EnsuretheSolarflareadapterdriver(sfc.ko)isinstalledonthehost.
2Thesfbootutility(pf‐count)fromtheSolarflareLinuxUtilitiespackage
(SF‐107601‐LS)isusedtopartitionphysicalinterfacestotherequirednumber
ofPFs.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 77
3Topartitionallports(exampleconfigures4PFsperport):
#sfbootswitch‐mode=partitioningpf‐count=4
Solarflarebootconfigurationutility[v4.5.0]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
eth2:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport4
MSI‐Xinterruptlimit32
NumberofVirtualFunctions0
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtagsNone
SwitchmodePartitioning
Acoldrebootoftheserverisrequiredforsfbootchangestobeeffective.
4FollowingrebooteachPFwillbevisibleusingthelspcicommand:
#lspci‐d1924:
07:00.0Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.1Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.2Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.3Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.4Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.5Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.6Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
07:00.7Ethernetcontroller:SolarflareCommunicationsDevice0903(rev01)
‐ Ifmorethan8functionsarerequiredtheservermustsupportARI‐see
AlternativeRouting‐IDInterpretation(ARI)onpage328.
‐ Solarflarealsorecommendsettingpci=reallocinthekernel
configurationgrubfile‐refertoKernelConfigurationonpage328for
details.
5Toidentifywhichphysicalportagivennetworkinterfaceisusing:
#cat/sys/class/net/eth<N>/device/physical_port
6IftheSolarflaredriverisloaded,PFswillalsobevisibleusingtheifconfig
commandwhereeachPFislistedwithauniqueMACaddress.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 78
SoftwareRequirements
Theservermusthavethefollowing(minimum)netdriverandfirmwareversionsto
enableNICPartitioning:
#ethtool‐ieth<N>
driver:sfc
version:4.4.1.1017
firmware‐version:4.4.2.1011rx0tx0
Theadaptermustbeusingthefull‐featurefirmwarevariantwhichcanbeselected
usingthesfbootutilityandconfirmedwithrx0tx0appearingaftertheversion
numberintheoutputfromethtoolasshownabove.
Thefirmwareupdateutility(sfupdate)andbootROMconfigurationtool(sfboot)
areavailableintheSolarflareLinuxUtilitiespackage(SF‐107601‐LSissue28or
later).
3.15NICPartitioningwithSR‐IOV
WhencombiningNICpartitioningwithSR‐IOV,everypartition(PF)mustbeina
separateVLAN.TheuserisabletocreateanumberofPFsperphysicalportand
associateanumberofVFswitheachPF.Withinthislayer2broadcastdomainthere
isswitchingbetweenaPFanditsassociatedVFs.
Figure11:NICPartitioningwithSR‐IOV

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 79
Configuration
1Usethesfbootutilitytosetthefirmwareswitch‐mode,createPFs,assign
uniqueVLANIDtoeachPFandassignanumberofVFsforeachPF.
Inthefollowingexample4PFsareconfiguredperphysicalportand2VFsper
PF:
#sfbootswitch‐mode=partitioning‐with‐sriovpf‐count=4/
pf‐vlans=0,100,110,120vf‐count=2
eth10:
Interface‐specificbootoptionsarenotavailable.Adapter‐wide
optionsareavailableviaeth4(00‐0F‐53‐21‐00‐60).
eth11:
Interface‐specificbootoptionsarenotavailable.Adapter‐wide
optionsareavailableviaeth4(00‐0F‐53‐21‐00‐60).
eth12:
Interface‐specificbootoptionsarenotavailable.Adapter‐wide
optionsareavailableviaeth4(00‐0F‐53‐21‐00‐60).
eth13:
Interface‐specificbootoptionsarenotavailable.Adapter‐wide
optionsareavailableviaeth4(00‐0F‐53‐21‐00‐60).
eth14:
Interface‐specificbootoptionsarenotavailable.Adapter‐wide
optionsareavailableviaeth4(00‐0F‐53‐21‐00‐60).
eth15:
Interface‐specificbootoptionsarenotavailable.Adapter‐wide
optionsareavailableviaeth4(00‐0F‐53‐21‐00‐60).
eth4:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport4
MSI‐Xinterruptlimit32
NumberofVirtualFunctions2
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtags0,100,110,120
SwitchmodePartitioningwithSRIOV
eth5:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 80
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport4
MSI‐Xinterruptlimit32
NumberofVirtualFunctions2
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtags0,100,110,120
SwitchmodePartitioningwithSRIOV
2PFinterfacesarevisibleinthehostusingtheifconfigcommand:
eth4Linkencap:EthernetHWaddr00:0F:53:21:00:60
eth5Linkencap:EthernetHWaddr00:0F:53:21:00:61
eth10Linkencap:EthernetHWaddr00:0F:53:21:00:64
eth11Linkencap:EthernetHWaddr00:0F:53:21:00:65
eth12Linkencap:EthernetHWaddr00:0F:53:21:00:66
eth13Linkencap:EthernetHWaddr00:0F:53:21:00:63
eth14Linkencap:EthernetHWaddr00:0F:53:21:00:62
eth15Linkencap:EthernetHWaddr00:0F:53:21:00:67
3Theoutputfromsteps1and2aboveidentifiesaserverwith2physical
interfaces(eth4/eth5),4PFsperphysicalportandidentifiesthefollowingPF‐
VLANconfiguration:
4RefertoSR‐IOVConfigurationonpage332forprocedurestocreateVMsand
VFs.
VLANConfiguration
WhenusingpartitioningwithSR‐IOV,allPFsmusthaveauniqueVLANtag.Asingle
PFfromeachphysicalportcanusetag0(zero)toreceiveuntaggedtraffic.VLANtags
aretransparentlyinserted/strippedbytheadapterfirmware.
Table16:PF‐VLANConfiguration
Interface MACAddress PF VLANID
eth4 00:0F:53:21:00:60 PF0 0
eth10 00:0F:53:21:00:64 PF4 110
eth12 00:0F:53:21:00:66 PF6 120
eth14 00:0F:53:21:00:62 PF2 100
eth5 00:0F:53:21:00:61 PF1 0
eth11 00:0F:53:21:00:65 PF5 110
eth13 00:0F:53:21:00:63 PF3 100
eth15 00:0F:53:21:00:67 PF7 120

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 81
LACPBonding
LACPBondingisnotcurrentlysupportedusingtheNICPartitioningconfiguration
modeastheLACPpartneri.e.theswitchwillbeunawareoftheconfigured
partitions.
Usersareadvisedtorefertothesfcdriverreleasenotesforcurrentlimitationswhen
usingtheNICpartitioningfeatures.
3.16ReceiveSideScaling(RSS)
SolarflareadapterssupportReceiveSideScaling(RSS).RSSenablespacketreceive‐
processingtoscalewiththenumberofavailableCPUcores.RSSrequiresaplatform
thatsupportsMSI‐Xinterrupts.RSSisenabledbydefault.
WhenRSSisenabledthecontrollerusesmultiplereceivequeuestodeliverincoming
packets.Thereceivequeueselectedforanincomingpacketischosentoensurethat
packetswithinaTCPstreamareallsenttothesamereceivequeue–thisensures
thatpacket‐orderingwithineachstreamismaintained.Eachreceivequeuehasits
owndedicatedMSI‐XinterruptwhichideallyshouldbetiedtoadedicatedCPUcore.
ThisallowsthereceivesideTCPprocessingtobedistributedamongsttheavailable
CPUcores,providingaconsiderableperformanceadvantageoveraconventional
adapterarchitectureinwhichallreceivedpacketsforagiveninterfaceareprocessed
byjustoneCPUcore.RSScanberestrictedtoonlyprocessreceivequeuesonthe
NUMAnodelocaltotheSolarflareadapter.Toconfigurethisthedrivermodule
optionrss_numa_localshouldbesetto1.
BydefaultthedriverenablesRSSandconfiguresoneRSSReceivequeueperCPU
core.ThenumberofRSSReceivequeuescanbecontrolledviathedrivermodule
parameterrss_cpus.Thefollowingtableidentifiesrss_cpusoptions.
Table17:rss_cpusOptions
Option Description InterruptAffinity(MSI‐X)
<num_cpus> IndicatesthenumberofRSS
queuestocreate.
AseparateMSI‐Xinterruptfor
areceivequeueisaffinitizedto
eachCPU.
packages AnRSSqueuewillbecreated
foreachmulti‐coreCPU
package.ThefirstCPUinthe
packagewillbechosen.
AseparateMSI‐Xinterruptfor
areceivequeue,isaffinitized
toeachofthedesignated
packageCPUs.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 82
Addthefollowinglineto/etc/modprobe.conffileoraddtheoptionslinetoa
usercreatedfileunderthe/etc/modprobe.ddirectory.Thefileshouldhavea
.confextension:
optionssfcrss_cpus=<option>
Tosetrss_cpusequaltothenumberofCPUcores:
optionssfcrss_cpus=cores
Sometimes,itcanbedesirabletodisableRSSwhenrunningsinglestream
applications,sinceallinterfaceprocessingmaybenefitfromtakingplaceonasingle
CPU:
optionssfcrss_cpus=1
Thedrivermustbereloadedtoenableoptionchanges:
NOTE:TheassociationofRSSreceivequeuestoaCPUisgovernedbythereceive
queue'sMSI‐Xinterruptaffinity.SeeInterruptAffinityonpage113formoredetails.
rmmodsfc
modprobesfc
NOTE:RSSalsoworksforUDPpackets.ForUDPtraffictheSolarflareadapterwill
selecttheReceiveCPUbasedonIPsourceanddestinationaddresses.Solarflare
adapterssupportIPv4andIPv6RSS.
cores AnRSSqueuewillbecreated
foreachCPU.Thefirst
hyperthreadinstance(IfCPU
hashyperthreading)willbe
chosen.
Thedefaultoption.
AseparateMSI‐Xinterruptfor
areceivequeue,isaffinitized
toeachoftheCPUs.
hyperthreads AnRSSqueuewillbecreated
foreachCPUhyperthread
(hyperthreadingmustbe
enabled).
AseparateMSI‐Xinterruptfor
areceivequeue,isaffinitized
toeachofthehyperthreads.
Table17:rss_cpusOptions
Option Description InterruptAffinity(MSI‐X)

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 83
3.17ReceiveFlowSteering(RFS)
RFSwillattempttosteerpacketstothecorewhereareceivingapplicationis
running.Thisreducestheneedtomovedatabetweenprocessorcachesandcan
significantlyreducelatencyandjitter.ModernNUMAsystems,inparticular,can
benefitsubstantiallyfromRFSwherepacketsaredeliveredintomemorylocaltothe
receivingthread.
UnlikeRSSwhichselectsaCPUfromaCPUaffinitymasksetbyanadministratoror
user,RFSwillstoretheapplication'sCPUcoreidentifierwhentheapplication
processcallsrecvmsg()orsendmsg().
•Ahashiscalculatedfromapacket’saddressesorports(2‐tupleor4‐tuple)and
servesastheconsistenthashfortheflowassociatedwiththepacket.
•EachreceivequeuehasanassociatedlistofCPUstowhichRFSmayenqueue
thereceivedpacketsforprocessing.
•Foreachreceivedpacket,anindexintotheCPUlistiscomputedfromtheflow
hashmodulothesizeoftheCPUlist.
TherearetwotypesofRFSimplementation;SoftRFSandHardware(orAccelerated)
RFS.
SoftRFSisasoftwarefeaturesupportedsinceLinux2.6.35thatattemptsto
scheduleprotocolprocessingofincomingpacketsonthesameprocessorastheuser
threadthatwillconsumethepackets.
AcceleratedRFSrequiresLinuxkernelversion2.6.39orlater,withtheLinuxsfc
driverorSolarflarev3.2networkadapterdriver.
RFScandynamicallychangetheallowedCPUsthatcanbeassignedtoapacketor
packetstreamandthisintroducesthepossibilityofoutoforderpackets.Toprevent
outoforderdata,twotablesarecreatedthatholdstateinformationusedintheCPU
selection.
•Global_flow_table:Identifiesthenumberofsimultaneousflowsthatare
managedbyRFS.
•Per_queue_table:Identifiesthenumberofflowsthatcanbesteeredtoa
queue.Thisholdsstateastowhenapacketwaslastreceived.
Thetablessupportthesteeringofincomingpacketsfromthenetworkadaptertoa
receivequeueaffinitizedtoaCPUwheretheapplicationiswaitingtoreceivethem.
TheSolarflareacceleratedRFSimplementationrequiresconfigurationthroughthe
twotablesandtheethtool‐Kcommand.
Thefollowingsub‐sectionsidentifytheRFSconfigurationprocedures:
KernelConfiguration
BeforeusingRFSthekernelmustbecompiledwiththekconfigsymbolCONFIG_RPS
enabled.AcceleratedRFSisonlyavailableifthekerneliscompliedwiththekconfig
symbolCONFIG_RFS_ACCELenabled.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 84
GlobalFlowCount
ConfigurethenumberofsimultaneousflowsthatwillbemanagedbyRFS.The
suggestedflowcountwilldependontheexpectednumberofactiveconnectionsat
anygiventimeandmaybelessthanthenumberofopenconnections.Thevalueis
roundeduptothenearestpoweroftwo.
#echo32768>/proc/sys/net/core/rps_sock_flow_entries
PerQueueFlowCount
Foreachadapterinterfacetherewillexista‘queue’directorycontainingone‘rx’or
‘tx’subdirectoryforeachqueueassociatedwiththeinterface.ForRFSonlythe
receivequeuesarerelevant.
#cd/sys/class/net/eth3/queue
Withineach‘rx’subdirectory,therps_flow_cntfileholdsthenumberofentriesin
theper‐queueflowtable.Ifonlyasinglequeueisusedthenrps_flow_cntwillbe
thesameasrps_sock_flow_entries.Whenmultiplequeuesareconfiguredthe
countwillbeequaltorps_sock_flow_entries/NwhereNisthenumberof
queues,forexample:
rps_sock_flow_entries=32768andthereare16queuesthenrps_flow_cntfor
eachqueuewillbeconfiguredas2048.
#echo2048>/sys/class/net/eth3/queues/rx‐0/rps_flow_cnt
#echo2048>/sys/class/net/eth3/queues/rx‐1/rps_flow_cnt
DisableRFS
ToturnoffRFSusingthefollowingcommand:
#ethtool‐K<devname>ntupleoff
3.18SolarflareAcceleratedRFS(SARFS)
TheSolarflareAcceleratedRFSfeaturedirectsTCPflowstoqueuesprocessedonthe
sameCPUcoreastheuserprocesswhichisconsumingtheflow.Byqueryingthe
CPUwhenaTCPpacketissent,thetransmitqueuecanbeselectedfromthe
interruptassociatedwiththecorrectCPUcore.Ahardwarefilterdirectsthereceive
flowtothesamequeue.
SARFSisprovidedforserversthatdonotsupportstandardLinuxARFS.Fordetailsof
LinuxARFS,refertotheprevioussection.Additionalinformationcanbefoundatthe
followinglink:
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/6/
html/Performance_Tuning_Guide/network‐acc‐rfs.html
OverallSARFScanimprovebandwidth,especiallyforsmallerpacketsandbecause
coreassignmentisnotsubjecttothesemi‐randomselectionoftransmitandreceive
queues,bothbandwidthandlatencybecomemoreconsistent.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 85
TheSARFSfeatureisdisabledbydefaultandcanbeenabledusingnetdrivermodule
parameters.Drivermoduleparameterscanbespecifiedinausercreatedfile(e.g.
sfc.conf)inthe/etc/modprobe.ddirectory:
sxps_enabled
sarfs_table_size
sarfs_global_holdoff_ms
sarfs_sample_rate
IfthekernelsupportsXPS,thisshouldbeenabledwhenusingtheSARFSfeature.
WhenthekerneldoesnotsupportsXPS,thesxps_enabledparametershouldbe
enabledwhenusingSARFS.
NOTE:sxps_enabledisknowntoworkonRHELversionuptoandincluding
RHEL6.5,butdoesnotfunctiononRHEL7duetochangesintheinterrupthint
policy.
RefertoModuleParametersonpage123foradescriptionoftheSARFSdriver
moduleparameters.
3.19TransmitPacketSteering(XPS)
TransmitPacketSteering(XPS)issupportedinLinux2.6.38andlater.XPSisa
mechanismforselectingwhichtransmitqueuetousewhentransmittingapacket
onamulti‐queuedevice.
XPSisconfiguredonapertransmitqueuebasiswhereabitmapofCPUsidentifies
theCPUsthatmayusethequeuetotransmit.
KernelConfiguration
BeforeusingXPSthekernelmustbecompiledwiththekconfigsymbolCONFIG_XPS
enabled.
ConfigureCPU/Hyperthreads
Withinineach/sys/class/net/<interface>/queues/tx‐Ndirectorythere
existsanxps_cpusfilewhichcontainsabitmapofCPUsthatcanusethequeueto
transmit.Inthefollowingexampletransmitqueue0canbeusedbythefirsttwo
CPUsandtransmitqueue1canbeusedbythefollowingtwoCPUs:
#echo3>/sys/class/net/eth3/queues/tx‐0/xps_cpus
#echoc>/sys/class/net/eth3/queues/tx‐0/xps_cpus
Ifhyperthreadingisenabled,eachhyperthreadisidentifiedasaseparateCPU,for
exampleifthesystemhas16coresbut32hyperthreadsthenthetransmitqueues
shouldbepairedwiththehyperthreadedcores:
#echo30003>/sys/class/net/eth3/queues/tx‐0/xps_cpus
#echoc000c>/sys/class/net/eth3/queues/tx‐0/xps_cpus

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 86
XPS‐ExampleConfiguration
SystemConfiguration:
• SingleSolarflareadapter
•2x8coreprocessorswithhyperthreadingenabledtogiveatotalof32cores
• rss_cpus=8
•Only1interfaceontheadapterisconfigured
•TheIRQBalanceserviceisdisabled
Identifyinterruptsfortheconfiguredinterface:
#cat/proc/interrupts|grep’eth3\|CPU’
>cat/proc/irq/132/smp_affinity
00000000,00000000,00000000,00000001
>cat/proc/irq/133/smp_affinity
00000000,00000000,00000000,00000100
>cat/proc/irq/134/smp_affinity
00000000,00000000,00000000,00000002
[...snip...]
>cat/proc/irq/139/smp_affinity
00000000,00000000,00000000,00000800
TheoutputidentifiesthatIRQ‐132isthefirstqueueandisroutedtoCPU0.IRQ‐133
isthesecondqueueroutedtoCPU8,IRQ‐134toCPU2andsoon.
MapTXqueuetoCPU
Hyperthreadedcoresareincludedwiththeassociatedphysicalcore:
>echo110011>/sys/class/net/eth3/queues/tx‐0/xps_cpus
>echo11001100>/sys/class/net/eth3/queues/tx‐1/xps_cpus
>echo220022>/sys/class/net/eth3/queues/tx‐2/xps_cpus
>echo22002200>/sys/class/net/eth3/queues/tx‐3/xps_cpus
>echo440044>/sys/class/net/eth3/queues/tx‐4/xps_cpus
>echo44004400>/sys/class/net/eth3/queues/tx‐5/xps_cpus
>echo880088>/sys/class/net/eth3/queues/tx‐6/xps_cpus
>echo88008800>/sys/class/net/eth3/queues/tx‐7/xps_cpus
ConfigureGlobalandPerQueueTables
•Theflowcount(numberofactiveconnectionsatanyonetime)=32768
•Numberofqueues=8(rss_cpus)
•Sotheflowcountforeachqueuewillbe32768/8
>echo32768>/proc/sys/net/core/rps_sock_flow_entries
>echo4096>/sys/class/net/eth3/queues/rx‐0/rps_flow_cnt
>echo4096>/sys/class/net/eth3/queues/rx‐1/rps_flow_cnt
>echo4096>/sys/class/net/eth3/queues/rx‐2/rps_flow_cnt
>echo4096>/sys/class/net/eth3/queues/rx‐3/rps_flow_cnt
>echo4096>/sys/class/net/eth3/queues/rx‐4/rps_flow_cnt

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 87
>echo4096>/sys/class/net/eth3/queues/rx‐5/rps_flow_cnt
>echo4096>/sys/class/net/eth3/queues/rx‐6/rps_flow_cnt
>echo4096>/sys/class/net/eth3/queues/rx‐7/rps_flow_cnt
3.20LinuxUtilitiesRPM
TheSolarflareLinuxUtilitiesRPMcontains:
•AbootROMutility.
SeeConfiguringtheBootManagerwithsfbootonpage88.
•Aflashfirmwareupdateutility.
SeeUpgradingAdapterFirmwarewithsfupdateonpage96.
•Alicensekeyinstallutility.
SeeLicenseInstallwithsfkeyonpage100.
TheRPMpackage,issuppliedas64bitand32bitbinariescompiledtobecompatible
withGLIBCversionsforallsupporteddistributions.TheSolarflareutilitiesRPMfile
canbedownloadedfromthefollowinglocation:
https://support.solarflare.com/
•SF‐104451‐LSisa32bitbinaryRPMpackage.
•SF‐107601‐LSisa64bitbinaryRPMpackage.
Forexample,toinstallthe64bitpackage:
1DownloadandcopythezippedbinaryRPMpackagetotherequireddirectory.
2Unzipthepackage:
#unzipSF‐107601‐LS‐<version>_Solarflare_Linux_Utilities_RPM_64bit.zip
3InstallthebinaryRPM:
#rpm‐Uvhsfutils‐<version>.x86_64.rpm
Preparing...###########################################[100%]
1:sfutils###########################################[100%]
4CheckthattheRPMinstalledcorrectly:
#rpm‐qsfutils
sfutils‐<version>.x86_64
Directionsfortheuseoftheutilityprogramsareexplainedinthefollowingsections.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 88
3.21ConfiguringtheBootManagerwithsfboot
•Sfboot:CommandUsageonpage88.
•Sfboot:CommandLineOptionsonpage89.
•Sfboot:Examplesonpage94.
SfbootisacommandlineutilityforconfiguringSolarflareadapterBootManager
options,includingPXEandUEFIbooting.UsingsfbootisanalternativetousingCtrl
+BtoaccesstheBootROMagentduringserverstartup.
SeeSolarflareBootManageronpage374formoreinformationontheBootRom
agent.
PXEandUEFInetworkbootisnotsupportedforSolarflareadaptersonIBMSystemp
servers.
Sfboot:SLES11Limitation
DuetolimitationsinSLES11usingkernelversionspriorto2.6.27.54itisnecessary
toreboottheserverafterrunningthesfbootutility.
Sfboot:CommandUsage
Thegeneralusageforsfbootisasfollows(asroot):
sfboot[‐‐adapter=eth<N>][options][parameters]
Whenthe‐‐adapteroptionisnotspecified,thesfbootcommandappliestoall
adapterspresentinthetargethost.
Theformatfortheparametersare:
<parameter>=<value>

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 89
Sfboot:CommandLineOptions
Table18liststheoptionsforsfboot,Table19liststheavailableglobalparameters,
andTable20liststheavailableper‐adapterparameters.Notethatcommandline
optionsarecaseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderabbreviatedscriptsinvalid.
Table18:SfbootOptions
Option Description
‐h,‐‐help Displayscommandlinesyntaxandprovidesadescriptionof
eachsfbootoption.
‐V,‐‐version Showsdetailedversioninformationandexits.
‐v,‐‐verbose Showsextendedoutputinformationforthecommand
entered.
‐y,‐‐yes Updatewithoutprompting.
‐s,‐‐quiet
Aliases:‐‐silent
Suppressesalloutput,excepterrors;nouserinteraction.The
usershouldquerythecompletioncodetodeterminethe
outcomeofcommandswhenoperatingsilently.
‐l,‐‐list ListsallavailableSolarflareadapters.Thisoptionshowsthe
ifnameandMACaddress.
Note:thisoptionmaynotbeusedinconjunctionwithany
otheroption.Ifthisoptionisusedwithconfiguration
parameters,thoseparameterswillbesilentlyignored.
‐i,‐‐adapter=<ethX> PerformstheactionontheidentifiedSolarflarenetwork
adapter.TheadapteridentifierethXcanbetheifnameor
MACaddress,asoutputbythe‐‐listoption.If‐‐adapteris
notincluded,theactionwillapplytoallinstalledSolarflare
adapters.
‐c,‐‐clear Resetsalladapterconfigurationoptionstotheirdefault
values.Ifanadapterisspecified,optionsforthegivenadapter
arereset,butglobaloptions(showninTable19)arenotreset.
Notethat‐‐clearcanalsobeusedwithparameters,
allowingyoutoresettodefaultvalues,andthenapplythe
parametersspecified.
‐r,‐‐repair Restorefirmwareconfigurationsettingstodefaultvalues.The
sfbootoptionshouldonlybeusedifafirmwareupgrade/
downgradeusingsfboothasfailed.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 90
ThefollowingglobalparametersinTable19areusedtocontroltheconfigurable
parametersfortheBootROMdriverwhenrunningpriortotheoperatingsystem
booting.
Table19:SfbootGlobalParameters
Parameter Description
boot‐image=
all|optionrom|uefi|disabled
Specifieswhichbootfirmwareimagesareserved‐uptothe
BIOSduringstart‐up.Thisparametercannotbeusedifthe
‐‐adapteroptionhasbeenspecified.Thisisaglobal
optionandappliestoallportsontheNIC.
port‐mode=
default|1x10G|2x10G|4x10G|
2x40G
Configuretheportmodetouse.ThisisforSFN7000and
SFN8000seriesadaptersonly.Thevaluesspecifythe
connectorsavailableafterusinganysplittercables.The
usablevaluesareadapter‐dependent:
• SFN8722:2x10G
• SFN8x42:4x10G,2x40G(default)
• SFN8522[M]:2x10G(default)
• SFN7xx4F:2x10G,4x10G(default)
•SFN7xx2Q:2x10G,4x10G,2x40G(default)
• SFN7xx2F:1x10G,2x10G(default)
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.MACaddressassignmentsmaychange
afteralteringthissetting.
firmware‐variant=
full‐feature|ultra‐low‐latency|
capture‐packed‐stream|auto
Configurethefirmwarevarianttouse.ThisisforSFN7000
andSFN8000seriesadaptersonly:
•theSFN7002Fadapterisfactorysettofull‐feature
•allotheradaptersarefactorysettoauto.
Defaultvalue=auto‐meansthedriverwillselectavariant
thatmeetsitsneeds:
•theVMwaredriveralwaysusesfull‐feature
•otherwise,ultra‐low‐latencyisused.
Theultra‐low‐latencyvariantproducesbestlatencywithout
supportforTXVLANinsertionorRXVLANstripping(not
currentlyusedfeatures).ItisrecommendedthatOnload
customersusetheultra‐low‐latencyvariant.Thisisaglobal
optionandappliestoallportsontheNIC.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 91
insecure‐filters=
enabled|disabled
Ifenabledbypassfiltersecurityonnon‐privileged
functions.ThisisforSFN7000andSFN8000seriesadapters
only.Thisreducessecurityinvirtualizedenvironments.The
defaultisdisabled.Whenenabledafunction(PForVF)can
insertfiltersnotqualifiedbytheirownpermanentMAC
address.Thisisarequirementandshouldbeenabledwhen
usingOnloadorwhenusingbondedinterfaces.Thisisa
globaloptionandappliestoallportsontheNIC.
mac‐
spoofing=default|enabled|disabled
Ifenabled,non‐privilegedfunctionscancreateunicast
filtersforMACaddressesthatarenotassociatedwiththem.
ThisisforSFN7000andSFN8000seriesadaptersonly.
Thedefaultisdisabled.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.Thisisaglobaloptionandappliestoall
portsontheNIC.
rx‐dc‐size=8|16|32|64 Specifiesthesizeofthedescriptorcacheforeachreceive
queue.ThisisforSFN7000andSFN8000seriesadapters
only.Thedefaultis:
•16iftheport‐modesupportsthemaximumnumberof
connectorsfortheadapter
•32iftheport‐modesupportsareducednumberof
connectors.
change‐mac=
default|enabled|disabled
ThisisforSFN7000andSFN8000seriesadaptersonly.
ChangetheunicastMACaddressforanon‐privileged
functiononthisport.Thisisaglobaloptionandappliesto
allphysicalportsontheNIC.
tx‐dc‐size=8|16|32|64 Specifiesthesizeofthedescriptorcacheforeachtransmit
queue.ThisisforSFN7000andSFN8000seriesadapters
only.Thedefaultis:
•32iftheport‐modesupportsthemaximumnumberof
connectorsfortheadapter
•64iftheport‐modesupportsareducednumberof
connectors.
vi‐count=<vicount> Setsthetotalnumberofvirtualinterfacesthatwillbe
availableontheNIC.
event‐merge‐timeout=
<timeoutinnanoseconds>
SpecifiesthetimeoutinnanosecondsforRXeventmerging.
Atimeoutof0meansthateventmergingisdisabled.
Table19:SfbootGlobalParameters
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 92
Thefollowingper‐adapterparametersinTable20areusedtocontrolthe
configurableparametersfortheBootROMdriverwhenrunningpriortothe
operatingsystembooting.
Table20:SfbootPer‐adapterParameters
Parameter Description
link‐speed=auto|10g|1g|100m Specifiesthenetworklinkspeedoftheadapterusedbythe
BootROM.Thedefaultisauto.Onthe10GBASE‐Tadapters,
autoinstructstheadaptertonegotiatethehighestspeed
supportedincommonwithitslinkpartner.OnSFP+
adapters,autoinstructstheadaptertousethehighestlink
speedsupportedbytheinsertedSFP+module.On
10GBASE‐TandSFP+adapters,anyothervaluespecified
willfixthelinkatthatspeed,regardlessofthecapabilities
ofthelinkpartner,whichmayresultinaninabilityto
establishthelink.
autoAuto‐negotiatelinkspeed(default)
10G10Gbit/sec
1G1Gbit/sec
100M100Mbit/sec
linkup‐delay=
<delaytimeinseconds>
Specifiesthedelay(inseconds)theadapterdefersitsfirst
connectionattemptafterbooting,allowingtimeforthe
networktocomeupfollowingapowerfailureorother
restart.Thiscanbeusedtowaitforspanningtreeprotocol
onaconnectedswitchtounblocktheswitchportafterthe
physicalnetworklinkisestablished.Thedefaultis5
seconds.
banner‐delay=
<delaytimeinseconds>
SpecifiesthewaitperiodforCtrl‐Btobepressedtoenter
adapterconfigurationtool.
<delaytimeinseconds>=0‐256
bootskip‐delay=
<delaytimeinseconds>
SpecifiesthetimeallowedforEsctobepressedtoskip
adapterbooting.
<delaytimeinseconds>=0‐256
boot‐type=pxe|disabled Setstheadapterboottype–effectiveonnextboot.
pxe–PXE(PrebooteXecutionEnvironment)booting
disabled–Disableadapterbooting

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 93
pf‐count=<pfcount> ThisisthenumberofavailablePCIePFsperphysical
networkport.Thissettingisappliedtoallportsonthe
adapter.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.MACaddressassignmentsmaychange
afteralteringthissetting.
msix‐limit=
8|16|32|64|128|256|512|1024
SpecifiesthemaximumnumberofMSI‐Xinterruptsthat
eachPFwilluse.Thedefaultis32.
Note:Usingtheincorrectsettingcanimpactthe
performanceoftheadapter.ContactSolarflaretechnical
supportbeforechangingthissetting.
sriov=enabled|disabled EnableSR‐IOVsupportforoperatingsystemsthatsupport
this.NotrequiredonSFN7000orSFN8000seriesadapters.
vf‐count=<vfcount> Thenumberofvirtualfunctions(VF)advertisedtothe
operatingsystemforeachPhysicalFunctiononthisphysical
networkport.
SFN5000/6000seriesadapterssupport1024interrupts
SFN7000/8000seriesadapterssupport2048interrupts
Solarflareadapterssupportatotallimitof127virtual
functionsperport.
Dependingonthevaluesofmsix‐limitandvf‐msix‐limit,
someofthesevirtualfunctionsmaynotbeconfigured.
Enablingall127VFsperportwithmorethanoneMSI‐X
interruptperVFmaynotbesupportedbythehostBIOS‐in
whichcaseyoumayget127VFsononeportandnoneon
others.ContactyourBIOSvendororreducetheVFcount.
Thesriovparameterisimpliedifvf‐countisgreaterthan
zero.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.
vf‐msix‐limit=
1|2|4|8|16|32|64|128|256
Themaximumnumberofinterruptsavirtualfunctionmay
use.
Table20:SfbootPer‐adapterParameters
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 94
Sfboot:Examples
•Showthecurrentbootconfigurationforalladapters:
sfboot
#./sfboot
Solarflarebootconfigurationutility[v4.3.1]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
eth4:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport1
MSI‐Xinterruptlimit32
NumberofVirtualFunctions0
VFMSI‐Xinterruptlimit8
pf‐vlans=<tag>[,<tag>[,...]]|none CommaseparatedlistofVLANtagsforeachPFintherange
0‐4094‐seesfboot‐‐helpfordetails.
Settingpf‐vlans=nonewillclearallVLANtagsontheport.
pf‐vlansshouldbeincludedafterthepf‐countoptiononthe
sfbootcommandline.
IfthenumberofPFsischangedthentheVLANtagswillbe
cleared.
switch‐mode=
default|sriov|partitioning|
partitioning‐with‐sriov|pfiov
Specifiesthemodeofoperationthattheportwillbeused
in:
default‐singlePFcreated,zeroVFscreated.
sriov‐SR‐IOVenabled,singlePFcreated,VFsconfigured
withvf‐count.
partitioning‐PFsconfiguredwithpf‐count,VFs
configuredwithvf‐count.SeeNICPartitioningonpage74
fordetails.
partitioning‐with‐sriov‐SR‐IOVenabled,PFs
configuredwithpf‐count,VFsconfiguredwithvf‐count.
SeeNICPartitioningonpage74fordetails.
pfiov‐PFIOVenabled,PFsconfiguredwithpf‐count,VFs
notsupported.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.
Table20:SfbootPer‐adapterParameters
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 95
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
VLANtagsNone
SwitchmodeDefault
• ListallSolarflareadaptersinstalledonthelocalhost:
sfboot‐‐list
./sfboot‐l
Solarflarebootconfigurationutility[v4.3.1]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
Adapterlist:
eth4
eth5
• EnableSR‐IOV(SFN5000andSFN6000seriesadaptersonly)
sfbootsriov=enabledvf‐count=16vf‐msix‐limit=1
‐ SFN7000andSFN8000series‐FirmwareVariant
sfbootfirmware‐variant=full‐feature
Solarflarebootconfigurationutility[v4.3.1]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
eth4:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime7seconds
Bannerdelaytime3seconds
Bootskipdelaytime6seconds
BoottypePXE
MSI‐Xinterruptlimit32
NumberofVirtualFunctions0
VFMSI‐Xinterruptlimit1
Firmwarevariantfullfeature/virtualization
‐ SFN7000andSFN8000series‐SR‐IOVenabledandusingVirtualFunctions
sfbootswitch‐mode=sriovvf‐count=4
Solarflarebootconfigurationutility[v4.3.1]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
eth4:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport1
MSI‐Xinterruptlimit32
NumberofVirtualFunctions4
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
VLANtagsNone
SwitchmodeSRIOV

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 96
3.22UpgradingAdapterFirmwarewithsfupdate
•Sfupdate:CommandUsageonpage96.
•Sfupdate:CommandLineOptionsonpage98.
•Sfupdate:Examplesonpage99.
SfupdateisacommandlineutilitytomanageandupgradetheSolarflareadapter
BootROM,Phyandadapterfirmware.Embeddedwithinthesfupdateexecutable
arefirmwareimagesfortheSolarflareadapter‐theexactupdatesavailablevia
sfupdatedependonthespecificadaptertype.
SeeSolarflareBootManageronpage374formoreinformationontheBootRom
agent.
CAUTION:AllApplicationsacceleratedwithOpenOnloadshouldbeterminated
beforeupdatingthefirmwarewithsfupdate.
CAUTION:SolarflarePTP(sfptpd)shouldbeterminatedbeforeupdatingfirmware.
Sfupdate:CommandUsage
Thegeneralusageforsfupdateisasfollows(asroot):
sfupdate[‐‐adapter=eth<N>][options]
where:
•ethNistheinterfacename(ifname)oftheSolarflareadaptertobeupgraded.
•optionisoneofthecommandoptionslistedinTable21.
Theformatfortheoptionsare:
<option>=<parameter>
Runningthecommandsfupdatewithnoadditionalparameterswillshowthe
currentfirmwareversionforallSolarflareadaptersandidentifieswhetherthe
firmwareversionwithinsfupdateismoreuptodate.Toupdatethefirmwareforall
Solarflareadaptersrunthecommandsfupdate‐‐write
Solarflarerecommendthefollowingprocedure:
1Runsfupdatetocheckthatthefirmwareonalladaptersisuptodate.
2Runsfupdate‐‐writetoupdatethefirmwareonalladapters.
Sfupdate:LinuxMTDLimitations
Thedriversupplied“inbox”withinRedHatandNovelldistributionshasalimitation
onthenumberofadaptersthatsfupdatecansupport.Thislimitationisremoved
fromRHEL6.5onwards.TheSolarflaresupplieddriverisnolongersubjecttothis
limitationonanydistro/kernel.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 97
Linuxkernelversionspriorto2.6.20supportupto16MTD(flash)devices.Solarflare
adaptersareequippedwith6flashpartitions.Ifmorethantwoadaptersare
deployedwithinasystemanumberofflashpartitionswillbeinaccessibleduring
upgrade.
Thelimitwasraisedto32inLinuxkernelversion2.6.20andremovedaltogetherin
2.6.35.
Ifissuesareencounteredduringsfupdate,theusershouldconsideroneofthe
followingoptionswhenupgradingfirmwareonsystemsequippedwithmorethan
twoSolarflareadapters:
• Upgradetwoadaptersatatimewiththeotheradaptersremoved.
• Upgradethekernel.
• Rebuildthekernel,raisingthevalueofMAX_MTD_DEVICESininclude/linux/
mtd/mtd.h.
•DownloadanSfutilsbootableimagefrom:
https://support.solarflare.com/index.php?id=1960&option=com_cognidox
OvercomeLinuxMTDLimitations
Analternativemethodisavailabletoupgradethefirmwarewithoutremovingthe
adapters.
1Unbindallinterfacesfromthedrivers:
#forbdfin$(lspci‐D‐d1924:|awk'{print$1}');do\
echo‐n${bdf}\>/sys/bus/pci/devices/${bdf}/driver/unbind;done
2Identifythebus/device/functionforallSolarflareinterfaces.
Usingifconfig‐awillnotdiscoveranySolarflareinterfaces.Uselspci:
#lspci‐D‐d1924:
Outputsimilartothefollowingwillbeproduced(5NICsinstalledinthis
example):
#lspci‐D‐d1924:
0000:02:00.0Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:02:00.1Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:03:00.0Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:03:00.1Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:04:00.0Ethernetcontroller:SolarflareCommunicationsSFL9021[Solarstorm]
0000:04:00.1Ethernetcontroller:SolarflareCommunicationsSFL9021[Solarstorm]
0000:83:00.0Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:83:00.1Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:84:00.0Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
0000:84:00.1Ethernetcontroller:SolarflareCommunicationsSFC9020[Solarstorm]
3ThereareenoughresourcestoupgradetwoNICsatatime,sore‐bind
interfacesingroupsoffour(2x2NICs):
#echo‐n"0000:02:00.0">/sys/bus/pci/drivers/sfc/bind
#echo‐n"0000:02:00.1">/sys/bus/pci/drivers/sfc/bind
#echo‐n"0000:03:00.0">/sys/bus/pci/drivers/sfc/bind
#echo‐n"0000:03:00.1">/sys/bus/pci/drivers/sfc/bind

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 98
4RunsfupdatetoupdatetheseNICs(commandoptionsmayvary):
#sfupdate‐‐write‐‐yes‐‐force
5Runthecommandtounbindtheinterfacesagain.Therewillbefailures
reportedbecausesomeoftheinterfacesarenotbound:
#forbdfin$(lspci‐D‐d1924:|awk'{print$1}');do\
echo‐n${bdf}\>/sys/bus/pci/devices/${bdf}/driver/unbind;done
6Repeattheprocessfortheotherinterfaces(0000:04:00.x;0000:83:00.xand
0000:84:00.x)doingsoinpairsuntilalltheNICshavebeenupgraded.
7Rebindallinterfaces,doingsoen‐massandignoringerrorsfromthosealready
bound:
#forbdfin$(lspci‐D‐d1924:|awk'{print$1}');do\
echo‐n${bdf}\>/sys/bus/pci/drivers/sfc/bind;done
Alternativelyreloadthesfcdriver:
#onload_toolreload
or:
#modprobe‐rsfc
#modprobesfc
8Runifconfig‐aagaintofindthatalltheinterfacesarereportedandallhave
beenfirmwareupgradedwithouthavingtophysicallytouchtheserveror
changethekernel.
Sfupdate:SLES11Limitation
DuetolimitationsinSLES11usingkernelversionspriorto2.6.27.54itisnecessary
toreboottheserverafterrunningthesfupdateutilitytoupgradeserverfirmware.
Sfupdate:CommandLineOptions
Table21liststheoptionsforsfupdate.
Table21:SfupdateOptions
Option Description
‐h,‐‐help Showshelpfortheavailableoptionsandcommandline
syntax.
‐i,‐‐adapter=ethX Specifiesthetargetadapterwhenmorethanone
adapterisinstalledinthelocalhost.
ethX=AdapterifnameorMACaddress(asobtained
with‐‐list).
‐‐list ShowstheadapterID,adapternameandMACaddress
ofeachadapterinstalledinthelocalhost.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 99
Sfupdate:Examples
•Displayfirmwareversionsforalladapters:
sfupdate
Solarstormfirmwareupdateutility[v4.3.1]
CopyrightSolarflareCommunications2006‐2013,Level5Networks2002‐2005
eth4‐MAC:00‐0F‐53‐21‐00‐61
Controllertype:SolarflareSFC9100‐family
Controllerversoin:unknown
‐‐write Re‐writesthefirmwarefromtheimagesembeddedin
thesfupdatetool.Tore‐writeusinganexternalimage,
specify‐‐image=<filename>inthecommand.
‐‐writefailsiftheembeddedimageisthesameora
previousversion.Toforceawriteinthiscase,specify‐
‐forceinthecommand.
‐‐force Forcetheupdateofallfirmware,eveniftheinstalled
firmwareversionisthesameas,ormorerecentthen,
thefirmwareembeddedinsfupdate.
‐‐backup Backupexistingfirmwareimagebeforeupdating.This
optionmaybeusedwith‐‐writeand‐‐force.
‐‐image=(filename) Updatethefirmwareusingthebinaryimagefromthe
givenfileratherthanfromthoseembeddedinthe
utility.
‐‐ipxe‐image=
(filename)
InstallaniPXEimagefromthegivenfile,replacingthe
SolarflarebootROMimage.sfupdatewillnot
automaticallyreplacetheiPXEimageinsubsequent
flashupdatesunlessthe‐‐restore‐bootromoptionis
used.
‐‐restore‐bootrom ReplaceaniPXEimageinflashwiththestandard
SolarflareBootManagerPXEimageincludedin
sfupdate.
‐y,‐‐yes Updatewithoutprompting.Thisoptioncanbeused
withthe‐‐writeand‐‐forceoptions.
‐v,‐‐verbose Verbosemode.
‐s,‐‐silent Suppressoutputwhiletheutilityisrunning;useful
whentheutilityisusedinascript.
‐V,‐‐version Displayversioninformationandexit.
Table21:SfupdateOptions
Option Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 100
BootROMversion:unknown
ThisutilitycontainsmorerecentBootROMfirmware[v4.2.1.1000]
‐run"sfupdate‐‐write"toperformanupdate
Thisutilitycontainsmorerecentcontrollerfirmware[v4.2.1.1010]
‐run"sfupdate‐‐write"toperformanupdate
eth5‐MAC:00‐0F‐53‐21‐00‐60
Controllertype:SolarflareSFC9100‐family
Controllerversion:unknown
BootROMversion:unknown
ThisutilitycontainsmorerecentBootROMfirmware[v4.2.1.1000]
‐run"sfupdate‐‐write"toperformanupdate
Thisutilitycontainsmorerecentcontrollerfirmware[v4.2.1.1010]
‐run"sfupdate‐‐write"toperformanupdate
3.23LicenseInstallwithsfkey
ThesfkeyutilityisdistributedwiththeLinuxUtilitiesRPMpackage.Thisutilityis
usedtoinstallSolarflareAppFlex™licensesandenableselectedon‐boardservices
forSolarflareadapters.Formoreinformationaboutlicenserequirementssee
SolarflareAppFlex™TechnologyLicensing.onpage18.
sfkey:CommandUsage
#sfkey[‐‐adapter=eth<N>][options]
Iftheadapteroptionisnotspecified,operationswillbeappliedtoallinstalled
adapters.
•Toviewallsfkeyoptions:
#sfkey‐‐help
•Tolist(bylicensingID)alladaptersthatsupportlicensing:
#sfkey‐‐inventory‐‐all
eth2:714100101282140148200014
•Todisplayanadapter’slicensingIDandinstalledlicensekeys:
#sfkey‐‐adapter=eth2‐‐report
eth2:714100101282140148200014(Flareon)
ProductnameSolarflareSFN7141QQSFP+FlareonUltraServerAdapter
InstalledkeysOnload
•Toinstallalicense:
Copythelicensekeydatatoa.txtfileonthetargetserver.Allkeyscanbeinthe
samekeyfileandthefileappliedonmultipleservers.Thefollowingexample
usesalicensekeyfilecalledkey.txtcreatedonthelocalserver.
#sfkey‐‐adapter=eth2‐‐installkeys.txt

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 101
Readingkeys...
Writingallkeystoeth2...
eth2:714100101282140148200014(Flareon)
ProductnameSolarflareSFN7141QQSFP+FlareonUltraServerAdapter
InstalledkeysOnload,SolarCapturePro,CaptureSolarSystem
LicenseInventory
Usethecombined‐‐inventoryand‐‐keysoptionstoidentifythelicenses
installedonanadapter.
#sfkey‐‐adapter=eth2‐‐inventory‐‐keys
eth2:714100101282140148200014(Flareon),$ONL,!PTP,!SCL,SCP,CSS,!SSFE,!PM,!NAC
Licenseinformationisdisplayedin[Prefix][AppID][Suffix]format.
Prefix: <none> Licensed
$Factory‐fitted
!Notpresent
AppID: An ApplicationIDnumber
<name> Applicationacronym
Suffix: <none> Licensed
+Sitelicensed
~Evaluationlicense
*Inactivelicense
@Inactivesitelicense
‐Nostateavailable

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 102
sfkeyOptions
Table22describesallsfkeyoptions.
Table22:sfkeyoptions
Option Description
‐‐backup Outputareportoftheinstalledkeysinalladapters.
Thereportcanbesavedtofileandlaterusedwiththe
‐‐installoption.
‐‐install<filename> Installlicensekeysfromthegivenfileandreportthe
result.Toreadfromstdinuse“‐”inplaceoffilename.
Keysareinstalledtoanadapter,soifanadapter’s
portsareeth4andeth5,bothportswillbeaffected
bythekeysinstalled.
sfcdriverreloadisrequiredaftersfkeyinstallscertain
typesoflicense(e.g.aPTPlicense).
Toreloadthesfcdriver:
#modprobe‐rsfc;modprodesfc
orwhenOnloadisinstalled:
#onload_toolreload
‐‐inventory Listtheadaptersthatsupportlicensing.Bydefault
thiswilllistadaptersthatsupportlicenses.Tolistall
adaptersusethe‐‐alloption.Tolistkeysusethe‐
‐keysoption.
‐‐keys Includekeysin‐‐inventoryoutput‐seeLicense
Inventoryabove.
‐‐noevaluationupdate Donotupdateanyevaluationkeys.
‐a,‐‐all Applysfkeyoperationtoalladaptersthatsupport
licensing.
‐c,‐‐clear Deleteallexistinglicensekeysfromanadapter‐
exceptfactoryinstalledkeys.
‐h,‐‐help Displayallsfkeyoptions.
‐i,‐‐adapter identifyspecificadaptertoapplysfkeyoperationto.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 103
3.24PerformanceTuningonLinux
•Introductiononpage103
•Tuningsettingsonpage104
•OtherConsiderationsonpage115
Introduction
TheSolarflarefamilyofnetworkadaptersaredesignedforhigh‐performance
networkapplications.Theadapterdriverispre‐configuredwithdefault
performancesettingsthathavebeendesignedtogivegoodperformanceacrossa
broadclassofapplications.Occasionally,applicationperformancecanbeimproved
bytuningthesesettingstobestsuittheapplication.
Therearethreemetricsthatshouldbeconsideredwhentuninganadapter:
• Throughput
•Latency
•CPUutilization
Differentapplicationsmaybemoreorlessaffectedbyimprovementsinthesethree
metrics.Forexample,transactional(request‐response)networkapplicationscanbe
verysensitivetolatencywhereasbulkdatatransferapplicationsarelikelytobe
moredependentonthroughput.
Thepurposeofthissectionistohighlightadapterdriversettingsthataffectthe
performancemetricsdescribed.ThissectioncoversthetuningofallSolarflare
adapters.
‐r,‐‐report Displayanadapterserialnumberandcurrentlicense
status(seeexampleabove).
Usewith‐‐allorwith‐‐adapter.
Ifaninstalledoractivekeyisreportedas‘An’(where
nisanumber),itindicatesalicenseunknowntothis
versionofsfkey‐useanupdatedsfkeyversion.
‐s,‐‐silent Silentmode,outputerrorsonly.
‐v,‐‐verbose Verbosemode.
‐V,‐‐version Displaysfkeyversionandexit.
‐x,‐‐xml ReportformatedasXML.
Table22:sfkeyoptions
Option Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 104
Latencywillbeaffectedbythetypeofphysicalmediumused:10GBase‐T,twinaxial
(direct‐attach),fiberorKX4.Thisisbecausethephysicalmediainterfacechip(PHY)
usedontheadaptercanintroduceadditionallatency.Likewise,latencycanalsobe
affectedbythetypeofSFP/SFP+/QSFPmodulefitted.
Inaddition,youmayneedtoconsiderotherissuesinfluencingperformance,suchas
applicationsettings,servermotherboardchipset,CPUspeed,cachesize,RAMsize,
additionalsoftwareinstalledonthesystem,suchasafirewall,andthespecification
andconfigurationoftheLAN.Considerationofsuchissuesisnotwithinthescopeof
thisguide.
Tuningsettings
Portmode
TheselectedportmodeforSFN7000andSFN8000seriesadaptersshould
correspondtothespeedandnumberofconnectorsinuse,afterusinganysplitter
cables.Ifarestrictedsetofconnectorsisconfigured,thedrivercanthentransfer
resourcesfromtheunusedconnectorstothoseconfigured,potentiallyimproving
performance.
AdapterMTU(MaximumTransmissionUnit)
ThedefaultMTUof1500bytesensuresthattheadapteriscompatiblewithlegacy
10/100MbpsEthernetendpoints.HoweverifalargerMTUisused,adapter
throughputandCPUutilizationcanbeimproved.CPUutilizationisimproved,
becauseittakesfewerpacketstosendandreceivethesameamountofdata.
SolarflareadapterssupportanMTUofupto9216bytes(thisdoesnotincludethe
Ethernetpreambleorframe‐CRC).
SincetheMTUshouldideallybematchedacrossallendpointsinthesameLAN
(VLAN),andsincetheLANswitchinfrastructuremustbeabletoforwardsuch
packets,thedecisiontodeployalargerthandefaultMTUrequirescareful
consideration.ItisrecommendedthatexperimentationwithMTUbedoneina
controlledtestenvironment.
TheMTUischangeddynamicallyusingifconfig,whereethXistheinterfacename
and<size>istheMTUsizeinbytes:
#/sbin/ifconfig<ethX>mtu<size>
VerificationoftheMTUsettingmaybeperformedbyrunningifconfigwithno
optionsandcheckingtheMTUvalueassociatedwiththeinterface.Thechangein
MTUsizecanbemadetopersistacrossrebootsbyeditingthefile/etc/
sysconfig/network‐scripts/ifcfg‐ethXandaddingMTU=<mtu>onanewline.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 105
InterruptModeration(InterruptCoalescing)
Interruptmoderationreducesthenumberofinterruptsgeneratedbytheadapterby
coalescingmultiplereceivedpacketeventsand/ortransmitcompletionevents
togetherintoasingleinterrupt.
Theinterruptmoderationintervalsetstheminimumtime(inmicroseconds)
betweentwoconsecutiveinterrupts.Coalescingoccursonlyduringthisinterval:
•Whenthedrivergeneratesaninterrupt,itstartstimingthemoderation
interval.
•Anyeventsthatoccurbeforethemoderationintervalexpiresarecoalesced
togetherintoasingleinterrupt,thatisraisedonlywhentheintervalexpires.
Anewmoderationintervalthenstarts,duringwhichnointerruptisraised.
•Aneventthatoccursafterthemoderationintervalhasexpiredgetsitsown
dedicatedinterrupt,thatisraisedimmediately.
Anewmoderationintervalthenstarts,duringwhichnointerruptisraised.
Solarflareadapters,bydefault,useanadaptivealgorithmwheretheinterrupt
moderationdelayisautomaticallyadjustedbetweenzero(nointerruptmoderation)
and60microseconds.Theadaptivealgorithmdetectslatencysensitivetraffic
patternsandadjuststheinterruptmoderationintervalaccordingly.
Interruptmoderationsettingsarecriticalfortuningadapterlatency:
• Disablingtheadaptivealgorithmwill:
‐ reducejitter
‐ allowsettingthemoderationintervalasrequiredtosuitconditions.
• Increasingtheinterruptmoderationintervalwill:
‐ generatelessinterrupts
‐ reduceCPUutilization(becausetherearelessinterruptstoprocess)
‐ increaselatency
‐ improvepeakthroughput.
• Decreasingtheinterruptmoderationintervalwill:
‐ generatemoreinterrupts
‐ increaseCPUutilization(becausetherearemoreinterruptstoprocess)
‐ decreaselatency
‐ reducepeakthroughput.
• Turningoffinterruptmoderationwill:
‐ generatethemostinterrupts
‐ givethehighestCPUutilization
‐ givethelowestlatency
‐ givethebiggestreductioninpeakthroughput.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 106
Formanytransactionrequest‐responsetypenetworkapplications,thebenefitof
reducedlatencytooverallapplicationperformancecanbeconsiderable.Such
benefitstypicallyoutweighthecostofincreasedCPUutilization.Itisrecommended
that:
• Interruptmoderationisdisabledforapplicationsthatrequirebestlatencyand
jitterperformance,suchasmarketdatahandling.
• Interruptmoderationisenabledforhighthroughputsingle(orfew)connection
TCPstreamingapplications,suchasiSCSI.
Interruptmoderationcanbechangedusingethtool,whereethXistheinterface
name.Beforeadjustingtheinterruptmoderationinterval,itisrecommendedto
disableadaptivemoderation:
ethtool‐C<ethX>adaptive‐rxoff
TosettheRXinterruptmoderationintervalinmicroseconds(μs):
ethtool–C<ethX>rx‐usecs<interval>
Toturnoffinterruptmoderation,setanintervalofzero(0):
ethtool–C<ethX>rx‐usecs0
Theaboveexamplealsosetsthetransmitinterruptmoderationinterval,unlessthe
drivermoduleparameterseparate_tx_channelsisenabled.(NormallypacketRX
andTXcompletionswillshareinterrupts,soRXandTXinterruptmoderation
intervalsmustbeequal,andtheadapterdriverautomaticallyadjuststx‐usecsto
matchrx‐usecs.)RefertoTable27onpage123.
TosettheTXinterruptmoderationinterval,ifseparate_tx_channelsisenabled:
ethtool–C<ethX>tx‐usecs<interval>
Interruptmoderationsettingscanbecheckedusingethtool–c.
NOTE:TheperformancebenefitsofTCPLargeReceiveOffloadarelimitedif
interruptmoderationisdisabled.SeeTCPLargeReceiveOffload(LRO)onpage107.
TCP/IPChecksumOffload
ChecksumoffloadmovescalculationandverificationofIPHeader,TCPandUDP
packetchecksumstotheadapter.Thedriverhasallchecksumoffloadfeatures
enabledbydefault.Therefore,thereisnoopportunitytoimproveperformance
fromthedefault.
Checksumoffloadiscontrolledusingethtool:
• ReceiveChecksum:
#/sbin/ethtool–K<ethX>rx<on|off>
•TransmitChecksum:
#/sbin/ethtool–K<ethX>tx<on|off>
Verificationofthechecksumsettingsmaybeperformedbyrunningethtoolwiththe
–koption.
NOTE:Solarflarerecommendyoudonotdisablechecksumoffload.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 107
TCPSegmentationOffload(TSO)
TCPSegmentationOffload(TSO)offloadsthesplittingofoutgoingTCPdatainto
packetstotheadapter.TSObenefitsapplicationsusingTCP.Applicationsusing
protocolsotherthanTCPwillnotbeaffectedbyTSO.
EnablingTSOwillreduceCPUutilizationonthetransmitsideofaTCPconnection
andimprovepeakthroughput,iftheCPUisfullyutilized.SinceTSOhasnoeffecton
latency,itcanbeenabledatalltimes.ThedriverhasTSOenabledbydefault.
Therefore,thereisnoopportunitytoimproveperformancefromthedefault.
TSOiscontrolledusingethtool:
#/sbin/ethtool–K<ethX>tso<on|off>
VerificationoftheTSOsettingsmaybeperformedbyrunningethtoolwiththe–k
option.
TCPandIPchecksumoffloadsmustbeenabledforTSOtowork.
NOTE:Solarflarerecommendthatyoudonotdisablethissetting.
TCPLargeReceiveOffload(LRO)
TCPLargeReceiveOffload(LRO)isafeaturewherebytheadaptercoalescesmultiple
packetsreceivedonaTCPconnectionintoasinglelargerpacketbeforepassingthis
ontothenetworkstackforreceiveprocessing.ThisreducesCPUutilizationand
improvespeakthroughputwhentheCPUisfullyutilized.TheeffectivenessofLRO
isboundedbytheinterruptmoderationdelay,andislimitedifinterruptmoderation
isdisabled(seeInterruptModeration(InterruptCoalescing)onpage105).Enabling
LROdoesnotitselfnegativelyimpactlatency.
NOTE:TheSolarflarenetworkadapterdriverenablesLRObydefault.Byitsdesign,
LROisofgreaterbenefitwhenworkingwithsmallerpackets.ForSolarflareadapter,
LROwillbecomedisablediftheMTUissetlargerthan3979.WhentheMTUisset
largerthan3978,LROcannotbeenabledandwillbereportedas‘fixeddisabled’by
ethtool.
NOTE:LROshouldNOTbeenabledwhenusingthehosttoforwardpacketsfrom
oneinterfacetoanother.Forexample,ifthehostisperformingIProuting.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 108
NOTE:IthasbeenobservedthatasRHEL6bootsthelibvirtddaemonchangesthe
defaultforwardingsettingsuchthatLROisdisabledonallnetworkinterfaces.This
behaviorisundesirableasitwillpotentiallylowerbandwidthandincreaseCPU
utilization‐especiallyforhighbandwidthstreamingapplications.
TodetermineifLROisenabledonaninterface:
ethtool‐kethX
IfIPforwardingisnotrequiredontheserver,Solarflarerecommendseither:
–Disablingthelibvirtdservice(ifthisisnotbeingused),
–Or,asrootbeforeloadingtheSolarflaredriver:
sysctl‐wnet.ipv4.conf.default.forwarding=0
(Thiscommandcanbeloadedinto/etc/rc.local),
–Or,afterloadingtheSolarflaredriver,turnoffforwardingforonlythe
Solarflareinterfacesandre‐enableLRO:
sysctl‐wnet.ipv4.conf.ethX.forwarding=0
ethtool‐KethXlroon
(whereXistheidoftheSolarflareinterface).
Disablingthelibvirtdserviceisapermanentsolution,whereastheother
recommendationsaretemporaryandwillnotpersistoverreboot.
LROshouldnotbeenabledifIPforwardingisbeingusedonthesameinterfaceas
thiscouldresultinincorrectIPandTCPoperation.
LROcanbecontrolledusingthemoduleparameterlro.Addthefollowinglineto/
etc/modprobe.conforaddtheoptionslinetoafileunderthe/etc/modprobe.d
directorytodisableLRO:
optionssfclro=0
Thenreloadthedriversoitpicksupthisoption:
rmmodsfc
modprobesfc
Thecurrentvalueofthisparametercanbefoundbyrunning:
cat/sys/module/sfc/parameters/lro
LROcanalsobecontrolledonaper‐adapterbasisbywritingtothisfileinsysfs:
/sys/class/net/ethX/device/lro
•TodisableLRO:
echo0>/sys/class/net/ethX/device/lro
•ToenableLRO:
echo1>/sys/class/net/ethX/device/lro

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 109
•Toshowthecurrentvalueoftheper‐adapterLROstate:
cat/sys/class/net/ethX/device/lro
ModifyingthisfileinstantlyenablesordisablesLRO,norebootordriverreloadis
required.Thissettingtakesprecedenceoverthelromoduleparameter
CurrentLROsettingscanbeidentifiedwithLinuxethtoole.g.
ethtool‐kethX
TCPandIPchecksumoffloadsmustbeenabledforLROtowork.
TCPProtocolTuning
TCPPerformancecanalsobeimprovedbytuningkernelTCPsettings.Settings
includeadjustingsendandreceivebuffersizes,connectionbacklog,congestion
control,etc.
ForLinuxkernelversions,including2.6.16andlater,initialbufferingsettingsshould
providegoodperformance.Howeverforearlierkernelversions,andforcertain
applicationsevenonlaterkernels,tuningbuffersettingscansignificantlybenefit
throughput.Tochangebuffersettings,adjustthetcp_rmemandtcp_wmemusingthe
sysctlcommand:
• Receivebuffering:
sysctlnet.ipv4.tcp_rmem="<min><default><max>"
•Transmitbuffering:
sysctlnet.ipv4.tcp_wmem="<min><default><max>"
(tcp_rmemandtcp_wmemcanalsobeadjustedforIPV6andgloballywiththe
net.ipv6andnet.corevariableprefixesrespectively).
Typicallyitissufficienttotunejustthemaxbuffervalue.Itdefinesthelargestsize
thebuffercangrowto.Suggestedalternatevaluesaremax=500000(1/2Mbyte).
Factorssuchaslinklatency,packetlossandCPUcachesizeallinfluencetheaffectof
themaxbuffersizevalues.Theminimumanddefaultvaluescanbeleftattheir
defaultsminimum=4096anddefault=87380.
BufferAllocationMethod
TheSolarflaredriverhasasingleoptimizedbufferallocationstrategy.Thisreplaces
thetwodifferentmethodscontrolledwiththerx_alloc_methoddrivermodule
parameterwhichwereavailableusing3.3andpreviousdrivers.
Thenetdrivercontinuestoexposetherx_alloc_methodmoduleoption,butthe
valueisignoredanditonlyexiststonotbreakexistingcustomerconfigurations.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 110
TXPIO
PIO(programmedinput/output)describestheprocesswheredataisdirectly
transferredbytheCPUtoorfromanI/Odevice.Itisanalternativetechniquetothe
I/OdeviceusingbusmasterDMAtotransferdatawithoutCPUinvolvement.
SolarflareSFN7000andSFN8000seriesadapterssupportTXPIO,wherepacketson
thetransmitpathcanbe“pushed”totheadapterdirectlybytheCPU.Thisimproves
thelatencyoftransmittedpacketsbutcancauseaverysmallincreaseinCPU
utilization.TXPIOisthereforeespeciallyusefulforsmallerpackets.
TheTXPIOfeatureisenabledbydefaultforpacketsupto256bytes.Themaximum
packetsizethatcanusePIOcanbeconfiguredwiththedrivermoduleoption
piobuf_size.
3.25WebServer‐DriverOptimization
Introduction
TheSolarflarenetdriverfromversion4.4.1.1017onSolarflareSFN7000and
SFN8000seriesadaptersincludesoptimizationsaimedspecificallyatwebservice
providersandcloudbasedapplications.
TuningrecommendationsaredocumentedinTable23forusersconcernedwith
ContentDeliveryNetworks(CDN),HTTPwebhostingapplicationtechnologiessuch
asHAProxy,nginxandHTTPwebservers.
WhentestedontheSolarflareSFN7122andSFN7002adaptersusingthe
recommendeddriverandfirmwarewithminimaldriver/hardwaretunings,
performanceimprovementshavebeenobservedinthefollowingareas:
•increasedtherateatwhichserverscanprocessnewHTTPconnections
•increasedtherateatwhichserverscanprocessHTTPrequests
•increasedsustainedthroughputwhenprocessinglargefilesviaHTTP
•improvedkernelthroughputperformance
Customersrequiringfurtherdetailsortoaccesstestdatashouldsendanemailto
support@solarflare.com.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 111
DriverTuning
Whilstmostdriverenhancementsareinternalchanges,transparentandnon‐
configurablebytheuser,thefollowingdrivermoduleoptionscanbeusedtotune
thedriverforparticularuserapplications.
• rss_numa_local
Usingthe4.4.1.1017driverthisoptionisenabledbydefault.Thiswillrestrict
RSStouseCPUcoresonlyontheNUMAnodeclosesttotheadapter.Thisis
particularlyimportantforprocessorssupportingDDIO.
RSSchannelsnotonthelocalNUMAnodecanstillbeaccessedusingthe
ethtool‐Ucommandstoidentifyacore(action)onwhichtoprocessthe
specifiedethtoolntuplefiltertraffic.Forexampleifrss_cpus=cores,thenan
RSSreceivechannelandassociatedMSI‐Xinterruptiscreatedforeverycore.
• rx_recycle_ring_size
Thedefaultvalueforthemaximumnumberofreceivebufferstorecyclepages
forhasbeenchangedto512,andinnewerdriverswillbefurtherincreasedto
1024.
•rx_copybreak
Adefaultvalueof192byteshasbeenselectedasthemaximumsizeofpacket
(bytes)thatwillbecopieddirectlytothenetworkstack.
Drivermoduleoptionscanbeenabledinauser‐createdfile(e.gsfc.conf)inthe/
etc/modprobe.ddirectory,forexample:
optionssfcrss_numa_local=Y
optionssfcrx_recycle_ring_size=512
Forfurtherdescriptionsandtolistallsfcdrivermoduleoptions:
#modinfosfc
nginxTuning
Table23:nginxServerTuning
Tuning Notes
SO_REUSEPORT Solarflaretestinginvolvingnginxusedversionv1.7.9
withappliedpatchtosupportso_reuseport.Seethe
followinglinkfordetails:http://forum.nginx.org/
read.php?29,241283,241283.
rss_cpus=N CreateNreceivequeueswhereN=(numberoflogical
cores)/2.
SeeReceiveSideScaling(RSS)onpage81for
options.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 112
Adapters‐SoftwareSupport
Tobenefitfromrecentdriveroptimizations,thefollowing(minimum)netdriverand
firmwareversionsshouldbeused:
#ethtool‐ieth<N>
driver:sfc
version:4.4.1.1017
firmware‐version:4.4.2.1011rx1tx1
Forlatencysensitiveapplications,theadapterfirmwarevariantshouldbesetwith
thesfbootutilitytoultra‐low‐latency:
#sfboot‐‐adapter=eth<N>firmware‐variant=ultra‐low‐latency
Theultra‐low‐latencyfirmwarevariantisbeingusedwhentheoutputfromethtool
(above)showstherx1andtx1values.
Arebootoftheserverisrequiredafterchangesusingsfboot.
rss_numa_local=1 OnSMPsystemsitisrecommendedtohaveall
interruptsontheNUMAnodelocaltotheSolarflare
adapter:rss_numa‐local=1,andpinnginxthreadsto
thefreeCPUsevenwhentheseareonthenon‐local
node.
Whenthisisnotpossible,CPUcorescanbedivided
equallybetweeninterruptsandnginxthreads.
rss_numa_local=1isthedefaultsetting.
Pinningthreads Applicationthreadsandinterruptsshouldnotbe
pinnedtothesameCPUcores.
ethtool‐Cadaptive‐rxoff Disabletheirq‐balanceservicetopreventre‐
distributionofinterruptsbythekernel.Disable
adaptiveinterruptmoderationbeforesettingthe
interruptmoderationinterval.
ethtool‐Crx‐usecs60 Settheinterruptmoderationinterval.
Whenprocessingsmallerpacketsitisgenerally
bettertosetahigherintervali.e.60µsecsandfor
largerpacketsalowerintervalorevenzerotodisable
interruptmoderation.
SeeInterruptModeration(InterruptCoalescing)on
page105.
Table23:nginxServerTuning
Tuning Notes

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 113
3.26InterruptAffinity
InterruptaffinitydescribesthesetofhostCPUsthatmayserviceaparticular
interrupt.
ThisaffinitythereforedictatestheCPUcontextwherereceivedpacketswillbe
processedandwheretransmitpacketswillbefreedoncesent.Iftheapplicationcan
processthereceivedpacketsinthesameCPUcontextbybeingaffinitizedtothe
relevantCPU,thenlatencyandCPUutilizationcanbeimproved.Thisimprovement
isachievedbecausewelltunedaffinitiesreduceinter‐CPUcommunication.
TuninginterruptaffinityismostrelevantwhenMSI‐XinterruptsandRSSarebeing
used.Theirqbalanceservice,whichtypicallyrunsbydefaultinmostLinux
distributions,isaservicethatautomaticallychangesinterruptaffinitiesbasedon
CPUworkload.
Inmanycasestheirqbalanceservicehindersratherthanenhancesnetwork
performance.Itisthereforenecessarytodisableitandthensetinterruptaffinities.
•Todisableirqbalancepermanently,run:
/sbin/chkconfig‐level12345irqbalanceoff
•Toseewhetherirqbalanceiscurrentlyrunning,run:
/sbin/serviceirqbalancestatus
•Todisableirqbalancetemporarily,run:
/sbin/serviceirqbalancestop
Oncetheirqbalanceservicehasbeenstopped,theInterruptaffinitiescanbe
configuredmanually.
NOTE:TheSolarflaredriverwillevenlydistributeinterruptsacrosstheavailable
hostCPUs(basedontherss_cpusmoduleparameter).
TousetheSolarflaredriverdefaultaffinities(recommended),theirqbalance
servicemustbedisabledbeforetheSolarflaredriverisloaded(otherwiseitwill
immediatelyoverwritetheaffinityconfigurationvaluessetbytheSolarflaredriver).
Example1:
Howaffinitiesshouldbemanuallysetwilldependontheapplication.Forasingle
streamedapplicationsuchasNetperf,onerecommendationwouldbetoaffinitize
alltheRxqueuesandtheapplicationonthesameCPU.Thiscanbeachievedwith
thefollowingsteps:
1Determinewhichinterruptlinenumbersthenetworkinterfaceuses.Assuming
theinterfaceiseth0,thiscanbedonewith:
#cat/proc/interrupts|grepeth0‐
123:13302000PCI‐MSI‐Xeth0‐0
131:02400PCI‐MSI‐Xeth0‐1
139:00320PCI‐MSI‐Xeth0‐2
147:00021PCI‐MSI‐Xeth0‐3

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 114
Thisoutputshowsthattherearefourchannels(rows)setupbetweenfour
CPUs(columns).
2DeterminetheCPUstowhichtheseinterruptsareassignedto:
#cat/proc/irq/123/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
#cat/proc/irq/131/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002
#cat/proc/irq/139/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000004
#cat/proc/irq/147/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000008
ThisshowsthatRXQ[0]isaffinitizedtoCPU[0],RXQ[1]isaffinitizedtoCPU[1],
andsoon.Withthisconfiguration,thelatencyandCPUutilizationfora
particularTCPflowwillbeDependantonthatflow’sRSShash,andwhichCPU
thathashresolvesonto.
NOTE:InterruptlinenumbersandtheirinitialCPUaffinityarenotguaranteed
tobethesameacrossrebootsanddriverreloads.Typically,itistherefore
necessarytowriteascripttoquerythesevaluesandapplytheaffinity
accordingly.
3SetallnetworkinterfaceinterruptstoasingleCPU(inthiscaseCPU[0]):
#echo1>/proc/irq/123/smp_affinity
#echo1>/proc/irq/131/smp_affinity
#echo1>/proc/irq/139/smp_affinity
#echo1>/proc/irq/147/smp_affinity
NOTE:Theread‐backof/proc/irq/N/smp_affinitywillreturntheoldvalue
untilanewinterruptarrives.
4SettheapplicationtorunonthesameCPU(inthiscaseCPU[0])asthenetwork
interface’sinterrupts:
#taskset1netperf
#taskset1netperf‐H<host>
NOTE:Theuseoftasksetistypicallyonlysuitableforaffinitytuningsingle
threaded,singletrafficflowapplications.Foramultithreadedapplication,
whosethreadsforexampleprocessasubsetofreceivetraffic,tasksetisnot
suitable.Insuchapplications,itisdesirabletouseRSSandInterruptaffinityto
spreadreceivetrafficovermorethanoneCPUandthenhaveeachreceive
threadbindtoeachoftherespectiveCPUs.Threadaffinitiescanbesetinside
theapplicationwiththeshed_setaffinity()function(seeLinuxmanpages).
Useofthiscallandhowaparticularapplicationcanbetunedisbeyondthe
scopeofthisguide.
Ifthesettingshavebeencorrectlyapplied,allinterruptsfrometh0arebeing
handledonCPU[0].Thiscanbechecked:
#cat/proc/interrupts|grepeth0‐
123:13302000PCI‐MSI‐Xeth0‐0
131:02400PCI‐MSI‐Xeth0‐1
139:00320PCI‐MSI‐Xeth0‐2
147:00021PCI‐MSI‐Xeth0‐3

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 115
Example2:
AnexampleofaffinitizingeachinterfacetoaCPUonthesamepackage:
FirstidentifywhichinterruptlinesareservicingwhichCPUandIOdevice:
#cat/proc/interrupts|grepeth0‐
123:13302012781310PCI‐MSI‐Xeth0‐0
#cat/proc/interrupts|grepeth1‐
131:02400PCI‐MSI‐Xeth1‐0
FindCPUsonsamepackage(havesame‘package‐id’):
#more/sys/devices/system/cpu/cpu*/topology/physical_package_id
::::::::::::::
/sys/devices/system/cpu/cpu0/topology/physical_package_id
::::::::::::::
1
::::::::::::::
/sys/devices/system/cpu/cpu10/topology/physical_package_id
::::::::::::::
1
::::::::::::::
/sys/devices/system/cpu/cpu11/topology/physical_package_id
::::::::::::::
0
…
Havingdeterminedthatcpu0andcpu10areonpackage1,wecanassigneachethX
interface’sMSI‐XinterrupttoitsownCPUonthesamepackage.Inthiscasewe
choosepackage1:
#echo1>/proc/irq/123/smp_affinity#1hexisbit0=CPU0
#echo400>/proc/irq/131/smp_affinity#400hexisbit10=CPU10
OtherConsiderations
PCIExpressLaneConfigurations
ThePCIExpress(PCIe)interfaceusedtoconnecttheadaptertotheservercan
functionatdifferentspeedsandwidths.Thisisindependentofthephysicalslotsize
usedtoconnecttheadapter.Thepossiblewidthsaremultiplesx1,x2,x4,x8andx16
lanesof(2.5GbpsforPCIeGen1,5.0GbpsforPCIeGen2and8.0GbpsforPCIeGen
3)ineachdirection.Solarflareadaptersaredesignedforx8orx16laneoperation.
Onsomeservermotherboards,choiceofPCIeslotisimportant.Thisisbecause
someslots(includingthosethatarephysicallyx8orx16lanes)mayonlyelectrically
supportx4lanes.Inx4laneslots,SolarflarePCIeadapterswillcontinuetooperate,
butnotatfullspeed.TheSolarflaredriverwillwarnifitdetectsthattheadapteris
pluggedintoaPCIeslotwhichelectricallyhasfewerthanx8lanes.
SolarflareSFN5000andSFN6000seriesadaptersrequireaPCIeGen2x8slotfor
optimaloperation.SolarflareSFN7000andSFN8000seriesadaptersrequireaPCIe
Gen3x8orx16slotforoptimalperformance.TheSolarflaredriverwillwarnifit
detectsthattheadapterisplacedinasub‐optimalslot.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 116
Warningmessagescanbeviewedindmesgfrom/var/log/messages.
ThelspcicommandcanbeusedtodiscoverthecurrentlynegotiatedPCIelane
widthandspeed:
lspci‐d1924:‐vv
02:00.1Class0200:Unknowndevice1924:0710(rev01)
...
Link:SupportedSpeed2.5Gb/s,Widthx8,ASPML0s,Port1
Link:Speed2.5Gb/s,Widthx8
NOTE:TheSupportedspeedmaybereturnedas'unknown',duetoolderlspci
utilitiesnotknowinghowtodeterminethataslotsupportsPCIeGen.2.0/5.0Gb/s
orPCIeGen3.0/8,0Gb/s.
Inaddition,thelatencyofcommunicationsbetweenthehostCPUs,systemmemory
andtheSolarflarePCIeadaptermaybePCIeslotdependent.Someslotsmaybe
“closer”totheCPU,andthereforehavelowerlatencyandhigherthroughput.If
possible,installtheadapterinaslotwhichislocaltothedesiredNUMAnode
Pleaseconsultyourserveruserguideformoreinformation.
CPUSpeedService
MostLinuxdistributionswillhavethecpuspeedservicerunningbydefault.This
servicecontrolstheCPUclockspeeddynamicallyaccordingtocurrentprocessing
demand.Forlatencysensitiveapplications,wheretheapplicationswitchesbetween
havingpacketstoprocessandhavingperiodsofidletimewaitingtoreceivea
packet,dynamicclockspeedcontrolmayincreasepacketlatency.Solarflare
recommenddisablingthecpuspeedserviceifminimumlatencyisthemain
consideration.
Theservicecanbedisabledtemporarily:
/sbin/servicecpuspeedstop
Theservicecanbedisabledacrossreboots:
/sbin/chkconfig–level12345cpuspeedoff
CPUPowerService
OnRHEL7systems,cpuspeedisreplacedwithcpupower.Solarflarerecommend
disablingthecpupowerserviceifminimumlatencyisthemainconsideration.The
serviceiscontrolledviasystemctl:
systemctlstopcpupower
systemctldisablecpupower
TunedService
OnRHEL7systems,itmaybebeneficialtodisablethetunedserviceifminimum
latencyisthemainconsideration.Usersareadvisedtoexperiment.Theserviceis
controlledviasystemctl:
systemctlstoptuned
systemctldisabletuned

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 117
Busypoll
Ifthekernelsupportsthebusypollfeatures(Linux3.11orlater),andminimum
latencyisthemainconsideration,Solarflarerecommendthatthebusy_pollsocket
optionsshouldbeenabledwithavalueof50microsecondsasfollows:
sysctlnet.core.busy_poll=50&&sysctlnet.core.busy_read=50
Onlysocketshavinganon‐zerovalueforSO_BUSY_POLLwillbepolled,sotheuser
shoulddooneofthefollowing:
•setthepolltimeoutwiththeglobalbusy_readoption,asshownabove,
•settheper‐socketSO_BUSY_POLLsocketoptiononselectedsockets.
Settingbusy_readalsosetsthedefaultvaluefortheSO_BUSY_POLLoption.
Memorybandwidth
Manychipsetsusemultiplechannelstoaccessmainsystemmemory.Maximum
memoryperformanceisonlyachievedwhenthechipsetcanmakeuseofall
channelssimultaneously.Thisshouldbetakenintoaccountwhenselectingthe
numberofmemorymodules(DIMMs)topopulateintheserver.Foroptimal
memorybandwidthinthesystem,itislikelythat:
•allDIMMslotsshouldbepopulated
•allNUMAnodesshouldhavememoryinstalled.
Pleaseconsultthemotherboarddocumentationfordetails.
Intel®QuickData/NetDMA
OnsystemsthatsupportIntelI/OAT(I/OAccelerationTechnology)featuressuchas
QuickData(a.k.aNetDMA),Solarflarerecommendthattheseareenabledasthey
arerarelydetrimentaltoperformance.
UsingIntel®QuickDataTechnologyallowsdatacopiestobeperformedbythe
systemandnottheoperatingsystem.Thisenablesdatatomovemoreefficiently
throughtheserverandprovidefast,scalable,andreliablethroughput.
EnablingQuickData
•OnsomesystemsthehardwareassociatedwithQuickDatamustfirstbe
enabled(onceonly)intheBIOS
•LoadtheQuickDatadriverswithmodprobeioatdma
ServerMotherboard,ServerBIOS,ChipsetDrivers
Tuningorenablingothersystemcapabilitiesmayfurtherenhanceadapter
performance.Readersshouldconsulttheirserveruserguide.Possibleopportunities
includetuningPCIememorycontroller(PCIeLatencyTimersettingavailableinsome
BIOSversions).

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 118
TuningRecommendations
Thefollowingtablesproviderecommendationsfortuningsettingsfordifferent
applications.
• Throughput‐Table24onpage118
•Latency‐Table25onpage119
• Forwarding‐Table26onpage121
RecommendedThroughputTuning
Table24showsrecommendedtuningsettingsforthroughput:
Table24:ThroughputTuningSettings
TuningParameter How?
MTUSize Configuretomaximumsupportedbynetwork:
/sbin/ifconfig<ethX>mtu<size>
Interruptmoderation Leaveatdefault(Enabled).
TCP/IPChecksumOffload Leaveatdefault(Enabled).
TCPSegmentationOffload Leaveatdefault(Enabled).
TCPLargeReceiveOffload Leaveatdefault(Enabled).
TCPProtocolTuning Leaveatdefaultfor2.6.16andlaterkernels.
Forearlierkernels:
sysctlnet.core.tcp_rmem409687380524288
sysctlnet.core.tcp_wmem409687380524288
ReceiveSideScaling(RSS) Applicationdependent
Interruptaffinity&
irqbalanceservice
Interruptaffinitysettingsareapplication
dependent
Stopirqbalanceservice:
/sbin/serviceirqbalancestop
Reloadthedriverstousethedriverdefault
interruptaffinity.
BufferAllocationMethod Leaveatdefault.Someapplicationsmaybenefit
fromspecificsetting.
TheSolarflaredrivernowsupportsasingle
optimizedbufferallocationstrategyandanyvalue
setbytherx_alloc_methodparameterisignored.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 119
RecommendedLatencyTuning
Table25showsrecommendedtuningsettingsforlatency:
PCIExpressLane
Configuration
Ensuretheadapterisinanx8slot(2.0orlater),and
thatcurrentspeed(notthesupportedspeed)reads
backas“x8and5GT/s”,or“x8and8GT/s”,or“x8
andUnknown”.
CPUSpeedService
(cpuspeed)
Leaveenabled.
Memorybandwidth Ensurememoryutilizesallmemorychannelson
systemmotherboard.
IntelQuickData(Intel
chipsetsonly)
EnableinBIOSandinstalldriver:
modprobeioatdma
Table25:LatencyTuningSettings
TuningParameter How?
MTUSize Configuretomaximumsupportedbynetwork:
/sbin/ifconfig<ethX>mtu<size>
Interruptmoderation Disablewith:
ethtool‐C<ethX>rx‐usecs‐irq0
TCP/IPChecksumOffload Leaveatdefault(Enabled).
TCPSegmentationOffload Leaveatdefault(Enabled).
TCPLargeReceiveOffload Disableusingsysfs:
echo0>/sys/class/net/ethX/device/lro
TCPProtocolTuning Leaveatdefault,butchangingdoesnotimpact
latency.
ReceiveSideScaling Applicationdependent.
Interruptaffinity&
irqbalanceservice
Interruptaffinitysettingsareapplication
dependent
Stopirqbalanceservice:
/sbin/serviceirqbalancestop
Reloadthedriverstousethedriverdefault
interruptaffinity.
Table24:ThroughputTuningSettings
TuningParameter How?

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 120
BufferAllocationMethod Leaveatdefault.Someapplicationsmaybenefit
fromspecificsetting.
TheSolarflaredrivernowsupportsasingle
optimizedbufferallocationstrategyandanyvalue
setbytherx_alloc_methodparameterisignored.
PCIExpressLane
Configuration
Ensuretheadapterisinanx8slot(2.0orlater),and
thatcurrentspeed(notthesupportedspeed)reads
backas“x8and5GT/s”,or“x8and8GT/s”,or“x8
andUnknown”.
CPUSpeedService
(cpuspeed)
Disablewith:
/sbin/servicecpuspeedstop
CPUPowerService
(cpupower)
Disablewith:
systemctlstopcpupower
systemctldisablecpupower
TunedService Experimentdisablingthiswith:
systemctlstoptuned
systemctldisabletuned
Busypoll(Linux3.11and
later)
Enablewithavalueof50µs:
sysctlnet.core.busy_poll=50\
&&sysctlnet.core.busy_read=50
Memorybandwidth Ensurememoryutilizesallmemorychannelson
systemmotherboard.
IntelQuickData(Intel
chipsetsonly)
EnableinBIOSandinstalldriver:
modprobeioatdma
Table25:LatencyTuningSettings
TuningParameter How?

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 121
RecommendedForwardingTuning
Table26showsrecommendedtuningsettingsforforwarding
Table26:ForwardingTuningSettings
TuningParameter How?
MTUSize Configuretomaximumsupportedbynetwork:
/sbin/ifconfig<ethX>mtu<size>
Interruptmoderation Configureanexplicitinterruptmoderationinterval
bysettingthefollowingdriveroptions(seeDriver
Tuningonpage111):
irq_adapt_enable=0
tx_irq_mod_usec=150
TCP/IPChecksumOffload Leaveatdefault(Enabled).
TCPSegmentationOffload Leaveatdefault(Enabled).
TCPLargeReceiveOffload Disableusingsysfs:
echo0>/sys/class/net/ethX/device/lro
TCPProtocolTuning Leaveatdefaultfor2.6.16andlaterkernels.
Forearlierkernels:
sysctlnet.core.tcp_rmem409687380524288
sysctlnet.core.tcp_wmem409687380524288
ReceiveSideScaling(RSS) Leavetherss_cpusoptionatthedefault,touseall
CPUsforRSS.
Ensuretherss_numa_localdriveroptionissetto
itsdefaultvalueof1(seeDriverTuningon
page111).
Interruptaffinity&
irqbalanceservice
Interruptaffinity.AffinitizeeachethXinterfacetoits
ownCPU(ifpossibleselectCPU'sonthesame
Package).RefertoInterruptAffinityonpage113.
Stopirqbalanceservice:
/sbin/serviceirqbalancestop
BufferAllocationMethod Leaveatdefault.Someapplicationsmaybenefit
fromspecificsetting.
TheSolarflaredrivernowsupportsasingle
optimizedbufferallocationstrategyandanyvalue
setbytherx_alloc_methodparameterisignored.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 122
BufferRecycling Makereceivebufferrecyclingmoreaggressiveby
settingthefollowingdriveroption(seeDriver
Tuningonpage111):
rx_recycle_ring_size=256
PIO DisablePIObysettingthefollowingdriveroption
(seeDriverTuningonpage111):
piobuf_size=0
Transmitpush Disabletransmitpushbysettingthefollowing
driveroption(seeDriverTuningonpage111):
tx_push_max_fill=0
Directcopying Disablecopyingdirectlyfromthenetworkstackfor
transmitsbysettingthefollowingdriveroption(see
DriverTuningonpage111):
tx_copybreak=0
Ringsizes Changethenumberofdescriptorslotsoneachring
bysettingthefollowingdriveroptions(seeDriver
Tuningonpage111):
tx_ring=512
rx_ring=512
Notethatasthetx_irq_mod_usecinterrupt
moderationintervalincreases,thenumberof
requiredtx_ringandrx_ringdescriptorslotsalso
increases.Insufficientdescriptorslotswillcause
droppedpackets.
Table26:ForwardingTuningSettings
TuningParameter How?

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 123
3.27ModuleParameters
Table27liststheavailableparametersintheSolarflareLinuxdrivermodule
(modinfosfc):
Table27:DriverModuleParameters
Parameter Description Possible
Value
Default
Value
sxps_enabled EnableordisabletheSolarflarenetdriverto
performtransmitflowsteering.
IfthekerneldoessupportXPS,thisshouldbe
enabledinthekernelbeforeusingtheSARFS
feature.
0|1 0
sarfs_table_size ThesizeofthetableusedtomaintainSARFS
filters.
uint 256
sarfs_global_holdoff_ms ThemaximumrateatwhichSARFSwillinsert
orremovefilters.Thiscanbeincreasedon
heavilyloadedserversordecreasedtoincrease
responsiveness.
uint 10ms
sarfs_sample_rate ThefrequencyatwhichTCPpacketsare
inspectedbytheSARFSfeature.Thiscanbe
increasedonheavilyloadedserverstoreduce
theCPUusagebyARFS.
Settingthesampleratetoanon‐zerovalue
enablestheSARFSfeature.Seealso
sxps_enabledabove.
Therecommendedsamplerateis20.
uint 0packets
piobuf_size Identifythelargestpacketsizethatcanuse
PIO.
SettingthistozeroeffectivelydisablesPIO
uint 256bytes
rx_alloc_method AllocationmethodusedforRXbuffers.
TheSolarflaredrivernowsupportsasingle
optimizedbufferallocationstrategyandany
valuesetbytherx_alloc_methodparameteris
ignored.
SeeBufferAllocationMethodonpage109.
uint AVN(0)
new
kernels.
PAGE(2)
old
kernels
rx_refill_threshold RXdescriptorringfast/slowfillthreshold(%). uint 90
lro_table_size1SizeoftheLROhashtable.Mustbeapowerof
2.
uint 128

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 124
lro_chain_max1MaximumlengthofchainsintheLROhash
table.
uint 20
lro_idle_jiffies1Time(injiffies)afterwhichanidleconnection's
LROstateisdiscarded.
uint 101
lro_slow_start_packets1Numberofpacketsthatmustpassin‐order
beforestartingLRO.
uint 20000
lro_loss_packets1Numberofpacketsthatmustpassin‐order
followinglossbeforerestartingLRO.
uint 20
rx_desc_cache_size SetRXdescriptorcachesize. int 64
tx_desc_cache_size SetTXdescriptorcachesize. int 16
rx_xoff_thresh_bytes RXfifoXOFFthreshold. int ‐1(auto)
rx_xon_thresh_bytes RXfifoXONthreshold. int ‐1(auto)
lro Largereceiveoffloadacceleration int 1
separate_tx_channels UseseparatechannelsforTXandRX uint 0
rss_cpus NumberofCPUstouseforReceive‐Side
Scaling,or'packages','cores'or'hyperthreads'
uintor
string
<empty>
irq_adapt_enable Enableadaptiveinterruptmoderation uint 1
irq_adapt_low_thresh ThresholdscoreforreducingIRQmoderation uint 10000
irq_adapt_high_thresh ThresholdscoreforincreasingIRQmoderation uint 20000
irq_adapt_irqs NumberofIRQsperIRQmoderation
adaptation
uint 1000
napi_weight NAPIweighting uint 64
rx_irq_mod_usec Receiveinterruptmoderation(microseconds) uint 60
tx_irq_mod_usec Transmitinterruptmoderation(microseconds) uint 150
allow_load_on_failure Ifsetthenallowdriverloadwhenonlineself‐
testsfail
uint 0
onload_offline_selftest Performofflineself‐testonload uint 1
interrupt_mode Interruptmode(0=MSIX,1=MSI,2=legacy) uint 0
falcon_force_internal_sram ForceinternalSRAMtobeused int 0
Table27:DriverModuleParameters
Parameter Description Possible
Value
Default
Value

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 125
3.28LinuxethtoolStatistics
TheLinuxcommandethtoolwilldisplayanextensiverangeofstatisticsoriginated
fromtheMAContheSolarflarenetworkadapter.Todisplaystatisticsusethe
followingcommand:
ethtool‐SethX
(whereXistheIDoftheSolarflareinterface)
UsingaSolarflarenetdriverearlierthanversion4.4.1.1017,theethtoolstatistics
counterscanberesetbyreloadingthesfcdriver:
#modprobe‐rsfc
#modprobesfc
Driversfromversion4.4.1.1017(includedinonload‐201502)havetomanagemulti‐
PFconfigurationsandforthisreasonstatisticsarenotresetbyreloadingthedriver.
Theonlymethodscurrentlyavailabletoresetstatsistocold‐reboot(powerOFF/
ON)theserverorreloadthefirmwareimage.
Perportstatistics(port_)arefromthephysicaladapterport.Otherstatisticsare
fromthespecifiedPCIefunction.
Table28belowliststhecompleteoutputfromtheethtool‐Scommand.
NOTE:ethtool‐Soutputdependsonthefeaturessupportedbytheadaptertype
rss_numa_local ConstrainRSStouseCPUcoresontheNUMA
nodelocaltheSolarflareadapter.
Setto1torestrict,0otherwise.
0|1 1
max_vfs EnableVFsinthenetdriver.
WhenspecifiedasasingleintegertheVFcount
willbeappliedtoallPFs.
Whenspecifiedasacommaseparatedlist,the
firstVFcountisassignedtothePFwiththe
lowestindexi.e.thelowestMACaddress,then
thePFwiththenexthighestMACaddressetc.
uint 0
1. CheckOSdocumentationforavailabilityonSUSEandRHELversions.
Table27:DriverModuleParameters
Parameter Description Possible
Value
Default
Value

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 126
.
Table28:Ethtool‐Soutput
Field Description
port_tx_bytes Numberofbytestransmitted.
port_tx_packets Numberofpacketstransmitted.
port_tx_pause Numberofpauseframestransmittedwith
validpauseop_code.
port_tx_control Numberofcontrolframestransmitted.
Doesnotincludepauseframes.
port_tx_unicast Numberofunicastpacketstransmitted.
Includesflowcontrolpackets.
port_tx_multicast Numberofmulticastpacketstransmitted.
port_tx_broadcast Numberofbroadcastpacketstransmitted.
port_tx_lt64 Numberofframestransmittedwherethe
lengthislessthan64bytes.
port_tx_64 Numberofframestransmittedwherethe
lengthisexactly64bytes.
port_tx_65_to_127 Numberofframestransmittedwherethe
lengthisbetween65and127bytes
port_tx_128_to_255 Numberofframestransmittedwherethe
lengthisbetween128and255bytes
port_tx_256_to_511 Numberofframestransmittedwherethe
lengthisbetween256and511bytes
port_tx_512_to_1023 Numberofframestransmittedwhere
lengthisbetween512and1023bytes
port_tx_1024_to_15xx Numberofframestransmittedwherethe
lengthisbetween1024and1518bytes
(1522withVLANtag).
port_tx_15xx_to_jumbo Numberofframestransmittedwhere
lengthisbetween1518bytes(1522with
VLANtag)and9000bytes.
port_rx_bytes Numberofbytesreceived.Notinclude
collidedbytes.
port_rx_good_bytes Numberofbytesreceivedwithouterrors.
Excludesbytesfromflowcontrolpackets.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 127
port_rx_bad_bytes NumberofbyteswithinvalidFCS.Includes
bytesfrompacketsthatexceedthe
maximumframelength.
port_rx_packets Numberofpacketsreceived.
port_rx_good Numberofpacketsreceivedwithcorrect
CRCvalueandnoerrorcodes.
port_rx_bad Numberofpacketsreceivedwithincorrect
CRCvalue.
port_rx_pause Numberofpauseframesreceivedwith
validpauseop_code.
port_rx_control Numberofcontrolframesreceived.Does
notincludepauseframes.
port_rx_unicast Numberofunicastpacketsreceived.
port_rx_multicast Numberofmulticastpacketsreceived.
port_rx_broadcast Numberofbroadcastedpacketsreceived.
port_rx_lt64 Numberofpacketsreceivedwherethe
lengthislessthan64bytes.
port_rx_64 Numberofpacketsreceivedwherethe
lengthisexactly64bytes.
port_rx_65_to_127 Numberofpacketsreceivedwherethe
lengthisbetween65and127bytes.
port_rx_128_to_255 Numberofpacketsreceivedwherethe
lengthisbetween128and255bytes.
port_rx_256_to_511 Numberofpacketsreceivedwherethe
lengthisbetween256and511bytes.
port_rx_512_to_1023 Numberofpacketsreceivedwherethe
lengthisbetween512and1023bytes.
port_rx_1024_to_15xx Numberofpacketsreceivedwherethe
lengthisbetween1024and1518bytes
(1522withVLANtag).
port_rx_15xx_to_jumbo Numberofpacketsreceivedwherethe
lengthisbetween1518bytes(1522with
VLANtag)and9000bytes.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 128
port_rx_gtjumbo Numberofpacketsreceivedwithalengthis
greaterthan9000bytes.
port_rx_bad_gtjumbo Numberofpacketsreceivedwithalength
greaterthan9000bytes,butwithincorrect
CRCvalue.
port_rx_overflow Numberofpacketsdroppedbyreceiver
becauseofFIFOoverrun.
port_rx_nodesc_drop_cnt
port_rx_nodesc_drops
Numberofpacketsdroppedbythenetwork
adapterbecauseofalackofRXdescriptors
intheRXqueue.
PacketscanbedroppedbytheNICwhen
thereareinsufficientRXdescriptorsinthe
RXqueuetoallocatetothepacket.This
problemoccursifthereceiverateisvery
highandthenetworkadapterreceivecycle
processhasinsufficienttimebetween
processingtorefillthequeuewithnew
descriptors.
Anumberofdifferentstepscanbetriedto
resolvethisissue:
•Disabletheirqbalancedaemoninthe
OS
• Distributethetrafficloadacrossthe
availableCPU/coresbysetting
rss_cpus=cores.RefertoReceiveSide
Scalingsection
•Increasereceivequeuesizeusing
ethtool.
port_rx_pm_trunc_bb_overflow Overflowofthepacketmemoryburst
buffer‐shouldnotoccur.
port_rx_pm_discard_bb_overflow Numberofpacketsdiscardedduetopacket
memorybufferoverflow.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 129
port_rx_pm_trunc_vfifo_full Numberofpacketstruncatedordiscarded
becausetherewasnotenoughpacket
memoryavailabletoreceivethem.
Happenswhenpacketscannotbedelivered
asquicklyastheyarrivedueto:
•packetrateexceedsmaximum
supportedbytheadapter.
•adapterisinsertedintoalowspeedor
lowwidthPCIslot–sothePCIebus
cannotsupporttherequired
bandwidth.
•packetsarebeingreplicatedbythe
adapterandtheresultingbandwidth
cannotbehandledbythePCIebus.
•hostmemorybandwidthisbeingused
byotherdevicesresultinginpoor
performancefortheadapter.
port_rx_pm_discard_vfifo_full Countofthenumberofpacketsdropped
becauseofalackofmainpacketmemory
ontheadaptertoreceivethepacketinto.
port_rx_pm_trunc_qbb Notcurrentlysupported.
port_rx_pm_discard_qbb Notcurrentlysupported.
port_rx_pm_discard_mapping Numberofpacketsdroppedbecausethey
havean802.1pprioritylevelconfiguredto
bedropped
port_rx_dp_q_disabled_packets Incrementswhenthefilterindicatesthe
packetshouldbedeliveredtoaspecificrx
queuewhichiscurrentlydisableddueto
configurationerrororerrorcondition.
port_rx_dp_di_dropped_packets Numberofpacketsdroppedbecausethe
filtersindicatethepacketshouldbe
dropped.Canhappenbecause:
•thepacketdoesnotmatchanyfilter.
•thematchedfilterindicatesthepacket
shouldbedropped.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 130
port_rx_dp_streaming_packets NumberofpacketsdirectedtoRXDP
streamingbuswhichisusedifthepacket
matchesafilterwhichdirectsittothe
MCPU.Notcurrentlyused.
port_rx_dp_hlb_fetch Countthenumberoftimestheadapter
descriptorcacheisemptywhenanew
packetarrives,forwhichtheadaptermust
doanemergencyfetchtoreplenishthe
cachewithmoredescriptors.
port_rx_dp_hlb_wait Incrementseachtimetheadapterhasdone
anhlb_fetchwhichhasnotyetcompleted.
rx_unicast Numberofunicastpacketsreceived.
rx_unicast_bytes Numberofunicastbytesreceived.
rx_multicast Numberofmulticastpacketsreceived.
rx_multicast_bytes Numberofmulticastbytesreceived.
rx_broadcast Numberofbroadcastpacketsreceived.
rx_broadcast_bytes Numberofbroadcastbytesreceived.
rx_bad Numberofpacketsreceivedwithincorrect
CRCvalue.
rx_bad_bytes Numberofbytesreceivedfrompackets
withincorrectCRCvalue.
rx_overflow Numberofpacketsdroppedbyreceiver
becauseofFIFOoverrun.
tx_unicast Numberofunicastpacketstransmitted.
tx_unicast_bytes Numberofunicastbytestransmitted.
tx_multicast Numberofmulticastpacketstransmitted.
tx_multicast_bytes Numberofmulticastbytestransmitted.
tx_broadcast Numberofbroadcastpacketstransmitted.
tx_broadcast_bytes Numberofbroadcastbytestransmitted.
tx_bad 0.
tx_bad_bytes 0.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 131
tx_overflow Numberofpacketsdroppedbytransmitter
becauseofFIFOoverrun.
tx_merge_events ThenumberofTXcompletioneventswhere
morethanoneTXdescriptorwas
completed.
tx_tso_bursts NumberoftimeswhenoutgoingTCPdatais
splitintopacketsbytheadapterdriver.
RefertoTCPSegmentationOffload(TSO)
onpage107.
tx_tso_long_headers NumberoftimesTSOisappliedtopackets
withlongheaders.
tx_tso_packets Numberofphysicalpacketsproducedby
TSO.
tx_pushes Numberoftimesapacketdescriptoris
‘pushed’totheadapterfromthenetwork
adapterdriver.
tx_pio_packets NumberofpacketssentusingPIO.
rx_reset 0
rx_tobe_disc Numberofpacketsmarkedbytheadapter
tobediscardedbecauseofoneofthe
following:
•Mismatchunicastaddressandunicast
promiscuousmodeisnotenabled.
•Packetisapauseframe.
•Packethaslengthdiscrepancy.
•DuetointernalFIFOoverflow
condition.
•Length<60bytes.
rx_ip_hdr_chksum_err NumberofpacketsreceivedwithIPheader
Checksumerror.
rx_tcp_udp_chksum_err NumberofpacketsreceivedwithTCP/UDP
checksumerror.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 132
rx_eth_crc_err NumberofpacketsreceivedwheretheCRC
didnotmatchtheinternallygeneratedCRC
value.Thisisthetotalofallreceive
channelsreceivingCRCerrors.
rx_mcast_mismatch Numberofunsolicitedmulticastpackets
received.Unwantedmulticastpacketscan
bereceivedbecauseaconnectedswitch
simplybroadcastsallpacketstoall
endpointsorbecausetheconnectedswitch
isnotableornotconfiguredforIGMP
snooping‐aprocessfromwhichitlearns
whichendpointsareinterestedinwhich
multicaststreams.
rx_frm_trunc Numberofframestruncatedbecausean
internalFIFOisfull.Asapacketisreceived
itisfedbytheMACintoa128KFIFO.Iffor
anyreasonthePCIinterfacecannotkeep
paceandisunabletoemptytheFIFOata
sufficientrate,theMACwillbeunableto
feedmoreofthepackettotheFIFO.Inthis
eventtheMACwilltruncatetheframe‐
markingitassuchanddiscardthe
remainder.Thedriveronseeinga'partial'
packetwhichhasbeentruncatedwill
discardit.
rx_merge_events NumberofRXcompletioneventswhere
morethanoneRXdescriptorwas
completed.
rx_merge_packets Numberofpacketsdeliveredtothehost
throughmergeevents.
tx‐0.tx_packets PerTXqueuetransmittedpackets.
tx_1.tx_packets PerTXqueuetransmittedpackets.
rx_0.rx_packets PerRXqueuereceivedpackets.
rx_1.rx_packets PerRXqueuereceivedpackets.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 133
rx_no_skb_drops Numberofpacketsdroppedbytheadapter
whenthereareinsufficientsocketbuffers
availabletoreceivepacketsinto.
Seealsoport_rx_nodesc_drop_cntand
port_rx_nodesc_dropsabove.
rx_nodesc_trunc Numberofframestruncatedwhenthere
areinsufficientdescriptorstoreceivedata
into.Truncatedpacketswillbediscardedby
theadapterdriver.
ptp_good_syncs ThesePTPstatscountersrelatetothe
mechanismusedbysfptpdtosynchronize
thesystemclockandadapterclock(s)ina
server.
Foreachsynchronizationeventsfptpdwill
selectanumberofsystemclocktimestobe
comparedtotheadapterclocktime.Ifthe
timescanbesynchronized,thegood_syncs
counterisincremented,otherwisethe
bad_syncscounterisincremented.Ifsfptpd
isunabletosynchronizetheclocksatthis
event,thesync_timeoutcounteris
incremented.
sfptpdwillsynchronizeclocks16timesper
second‐soincrementingcountersdoesnot
necessarilyindicatebadsynchronization
betweenlocalserverclocksandanexternal
PTPmasterclock.
ptp_fast_syncs
ptp_bad_syncs
ptp_sync_timeouts
ptp_no_time_syncs
ptp_invalid_sync_windows
ptp_undersize_sync_windows
ptp_oversize_sync_windows
ptp_rx_no_timestamp NumberofPTPpacketsreceivedforwhich
ahardwaretimestampwasnotrecovered
fromtheadapter.
ptp_tx_timestamp_packets NumberofPTPpacketstransmittedfor
whichtheadaptergeneratedahardware
timestamp.
ptp_rx_timestamp_packets NumberofPTPpacketsreceivedforwhich
theadaptergeneratedahardware
timestamp.
ptp_timestamp_packets Total numberofPTPpacketsforwhichthe
adaptergeneratedahardwaretimestamp.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 134
NOTE:Theadapterwilldoublecountpacketslessthat64bytes(port_rx_lt64)as
alsobeingaCRCerror.Thiscanresultinport_rx_bad =>rx_eth_crc_err
counter.Thedifferenceshouldbeequaltotheport_rx_lt64counter.
3.29DriverLoggingLevels
FortheSolarflarenetdriver,twosettingsaffecttheverbosityoflogmessages
appearingindmesgoutputand/var/log/messages:
•Thekernelconsoleloglevel
•Thenetifmessagepernetworkloglevel
Thekernelconsoleloglevelcontrolstheoveralllogmessageverbosityandcanbe
setwiththecommanddmesg‐northroughthe/proc/sys/kernel/printkfile:
echo6>/proc/sys/kernel/printk
Referto‘man2syslog’forloglevelsandDocumentation/sysctl/kernel.txtfor
adescriptionofthevaluesin/proc/sys/kernel/printk.
Thenetifmessagelevelprovidesadditionalloggingcontrolforaspecifiedinterface.
ThesemessagelevelsaredocumentedinDocumentation/networking/netif‐
msg.txt.Amessagewillonlyappearontheterminalconsoleifboththekernel
consoleloglevelandnetifmessagelevelrequirementsaremet.
Thecurrentnetifmessagelevelcanbeviewedusingthefollowingcommand:
ethtool<iface>|grep‐A1'messagelevel:'
Currentmessagelevel:0x000020f7(8439)
drvprobelinkifdownifuprx_errtx_errhw
Changestothenetifmessagelevelcanbemadewithethtool.Eitherbyname:
ethtool‐s<iface>msglvlrx_statuson
orbybitmask:
ethtool‐s<iface>msglvl0x7fff
Theinitialsettingofthenetifmsglevelforallinterfacesisconfiguredusingthe
debugmoduleparametere.g.
modprobesfcdebug=0x7fff
ptp_filter_matches NumberofPTPpacketshittingthePTP
filter.
ptp_non_filter_matches NumberofPTPpacketswhichdidnot
matchthePTPfilter.
Table28:Ethtool‐Soutput
Field Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 135
ethtool<iface>|grep‐A1'messagelevel:'
Currentmessagelevel:0x00007fff(32767)
drvprobelinktimerifdownifuprx_err
tx_errtx_queuedintrtx_donerx_statuspktdatahwwol
3.30RunningAdapterDiagnostics
Youcanuseethtooltorunadapterdiagnostictests.Testscanberunoffline(default)
oronline.Offlinerunsthefullsetoftests,whichcaninterruptnormaloperation
duringtesting.Onlineperformsalimitedsetoftestswithoutaffectingnormal
adapteroperation.
CAUTION:Offlinetestsshouldnotberunwhilesfptpdisrunning.ThePTPdaemon
shouldbeterminatedbeforerunningtheofflinetest.
Asrootuser,enterthefollowingcommand:
ethtool‐‐testethXoffline|online
Thetestsrunbythecommandareasfollows:
Table29:AdapterDiagnosticTests
DiagnosticTest Purpose
core.nvram Verifiestheflashmemory‘boardconfiguration’areaby
parsingandexaminingchecksums.
core.registers Verifiestheadapterregistersbyattemptingtomodifythe
writablebitsinaselectionofregisters.
core.interrupt Examinestheavailablehardwareinterruptsbyforcingthe
controllertogenerateaninterruptandverifyingthatthe
interrupthasbeenprocessedbythenetworkdriver.
tx/rx.loopback Verifiesthatthenetworkdriverisabletopasspacketsto
andfromthenetworkadapterusingtheMACandPhy
loopbacklayers.
core.memory VerifiesSRAMmemorybywritingvariousdatapatterns
(incrementingbytes,allbitonandoff,alternatingbitson
andoff)toeachmemorylocation,readingbackthedata
andcomparingittothewrittenvalue.
core.mdio VerifiestheMIIregistersbyreadingfromPHYIDregisters
andcheckingthedataisvalid(notallzerosorallones).
VerifiestheMMDresponsebitsbycheckingeachofthe
MMDsinthePhyispresentandresponding.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonLinux
Issue20 ©SolarflareCommunications2017 136
3.31RunningCableDiagnostics
CablediagnosticdatacanbegatheredfromtheSolarflare10GBASE‐Tadapters
physicalinterfaceusingtheethtool‐ tcommandwhichrunsacomprehensiveset
ofdiagnostictestsonthecontroller,PHY,andattachedcables.Torunthecabletests
enterthefollowingcommand:
ethtool‐tethX[online|offline]
Onlinetestsarenon‐intrusiveandwillnotdisturblivetraffic.
CAUTION:Offlinetestsshouldnotberunwhilesfptpdisrunning.ThePTPdaemon
shouldbeterminatedbeforerunningtheofflinetest.
Thefollowingisanextractfromtheoutputoftheethtooldiagnosticofflinetests:
phycable.pairA.length9
phycable.pairB.length9
phycable.pairC.length9
phycable.pairD.length9
phycable.pairA.status1
phycable.pairB.status1
phycable.pairC.status1
phycable.pairD.status1
Cablelengthistheestimatedlengthinmetres.Alengthvalueof65535indicates
lengthnotestimatedduetopairbusyorcablediagnosticroutinenotcompleted
successfully.
Thecablestatuscanbeoneofthefollowingvalues:
0‐invalid,orcablediagnosticroutinedidnotcompletesuccessfully
1‐pairok,nofaultdetected
2‐pairopenorRt>115ohms
3‐intrapairshortorRt<85ohms
4‐interpairshortorRt<85ohms
9‐pairbusyorlinkpartnerforces100Base‐Txor1000Base‐Ttestmode.
chanXeventq.poll Verifiestheadapter’seventhandlingcapabilitiesbyposting
asoftwareeventoneacheventqueuecreatedbythedriver
andcheckingitisdeliveredcorrectly.
Thedriverutilizesmultipleeventqueuestospreadtheload
overmultipleCPUcores(RSS).
phy.bist ExaminesthePHYbyinitializingitandcausinganyavailable
built‐inselfteststorun.
Table29:AdapterDiagnosticTests
DiagnosticTest Purpose

SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 137
4SolarflareAdaptersonWindows
ThischaptercoversthefollowingtopicsontheMicrosoftWindows®platform:
•SystemRequirementsonpage137
•WindowsFeatureSetonpage138
•InstallingtheSolarflareDriverPackageonWindowsonpage140
•AdapterDriversOnlyInstallationonpage141
•FullSolarflarePackageInstallationonpage142
•InstallDriversandOptionsFromaWindowsCommandPromptonpage146
•UnattendedInstallationonpage150
•ManagingAdapterswithSAMonpage154
•ManagingAdaptersRemotelywithSAMonpage156
•UsingSAMonpage156
•ConfiguringNetworkAdapterPropertiesinWindowsonpage184
•WindowsCommandLineToolsonpage189
•Completioncodes(%errorlevel%)onpage215
•TeamingandVLANsonpage216
•PerformanceTuningonWindowsonpage228
•WindowsEventLogErrorMessagesonpage244
4.1SystemRequirements
•RefertoSoftwareDriverSupportonpage17fordetailsofsupportedWindows
versions.
•TheoptionalSolarflareAdapterManagerutilityrequiresMicrosoft.NET
Framework3.5onallsupportedWindowsversions.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 138
4.2WindowsFeatureSet
Table30liststhefeaturessupportedbySolarflareadaptersonWindows.
UsersshouldrefertoMicrosoftdocumentationtocheckfeatureavailabilityand
supportonspecificWindowsOSversions.
Table30:SolarflareWindowsFeatures
Jumboframes SolarflareadapterssupportMTUs(MaximumTransmission
Units)from1500bytesto9216bytes.
•SeeEthernetFrameLengthonpage167
•SeeConfiguringNetworkAdapterPropertiesin
Windowsonpage184
Taskoffloads SolarflareadapterssupportLargeSegmentationOffload
(LSO),ReceiveSegmentCoalescing(RSC),andTCP/UDP/IP
checksumoffloadforimprovedadapterperformanceand
reducedCPUprocessingrequirements.
•SeeSegmentationOffloadonpage165
•SeeConfiguringNetworkAdapterPropertiesin
Windowsonpage184
ReceiveSide
Scaling(RSS)
SolarflareadapterssupportRSSmulti‐coreloaddistribution
technology.
•SeeUsingSAMtoViewStatisticsandStateInformation
onpage176
•SeeConfiguringNetworkAdapterPropertiesin
Windowsonpage184
Interrupt
Moderation
SolarflareadapterssupportInterruptModerationtoreduce
thenumberofinterruptsonthehostprocessorfrompacket
events.
•SeeRSSandInterruptsonpage163
•SeeConfiguringNetworkAdapterPropertiesin
Windowsonpage184

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 139
Teamingand/or
LinkAggregation
Improveserverreliabilityandbandwidthbybondingphysical
ports,fromoneormoreSolarflareadapters,intoateam,
havingasingleMACaddressandwhichfunctionasasingle
portprovidingredundancyagainstasinglepointoffailure.
•SeeUsingSAMtoConfigureTeamsandVLANson
page168
•SeeSfteam:AdapterTeamingandVLANToolon
page200
•SeeTeamingandVLANsonpage216
VirtualLANs
(VLANs)
SupportformultipleVLANsperadapter:
•SeeUsingSAMtoConfigureTeamsandVLANson
page168
•SeeSfteam:AdapterTeamingandVLANToolon
page200
•SeeTeamingandVLANsonpage216
PXEandUEFI
booting
SolarflareadapterssupportPXEandUEFIbooting,enabling
disklesssystemstobootfromaremotetargetoperating
system.
•SeeUsingSAMforBootROMConfigurationonpage181
•SeeSfboot:BootROMConfigurationToolonpage190
•SeeSolarflareBootManageronpage374
Faultdiagnostics Solarflareadaptersprovidecomprehensiveadapterand
cablefaultdiagnosticsandsystemreports.
•SeeUsingSAMtoRunAdapterandCableDiagnosticson
page177
•SeeSfcable:CableDiagnosticsToolonpage205
Firmware
updates
Solarflareadapterssupportadapterfirmwareupgrades.
•SeeSfupdate:FirmwareUpdateToolonpage198
Table30:SolarflareWindowsFeatures

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 140
4.3InstallingtheSolarflareDriverPackageonWindows
•AdapterDriversOnlyInstallationonpage141
•FullSolarflarePackageInstallationonpage142
•Repair,RemoveandChangeDriversandUtilitiesonpage145
NOTE:TheSolarflareadaptershouldbephysicallyinsertedbeforeinstallingthe
drivers.SeeInstallationonpage31.
Theusermusthaveadministrativerightstoinstalladapterdriversandmaybe
promptedtoenteranadministratorusernameandpassword.
IfWindowsattemptstoinstallthedriversautomatically,canceltheWindowsNew
HardwareFoundwizardandfollowtheinstructionsbelow.
SolarflaredoesnotrecommendinstallingdriversviaRemoteDesktopProtocol
(RDP).ForexampleviaTerminalServices.
ThedriversinstallpackageisnamedaftertheSolarflaredocumentpartnumbere.g.
SF‐107785‐LS‐2_Solarflare_Windows_x64_64‐bit_Driver_Package.exe
Thiscanberenamede.g.setup.exebeforeuse.
Stateand
statistics
analysis
Solarflareadaptersprovidecomprehensivestateand
statisticsinformationfordatatransfer,device,MAC,PHYand
otheradapterfeatures.
•SeeUsingSAMtoViewStatisticsandStateInformation
onpage176
•SeeSfteam:AdapterTeamingandVLANToolon
page200forteamingstatistics.
•SeeSfnetonpage211forperinterfacestatistics.
VMQ SolarflaredriverssupportstaticVMQforWindowsServer
2008R2andDynamicVMQonWindowsServer2012
SeeVirtualMachineQueueonpage167.
Table30:SolarflareWindowsFeatures

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 141
4.4AdapterDriversOnlyInstallation
ThestepsbelowdescribehowtoinstallonlytheSolarflareadapterdriversin
Windows.Toinstallthedriversfromthecommandline,seeInstallDriversand
OptionsFromaWindowsCommandPromptonpage146.
1Double‐clickthesuppliedSetup.exe.tostarttheSolarflareDriverPackage
Setupwizard.Ifprompted,confirmyouradministratorprivilegestocontinue
installingthedrivers.
Figure12:SolarflareDriverPackageSetup
2FromtheCustomSetupscreen,selecttheInstallSolarflare®devicedrivers
optiononly.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 142
Figure13:SolarflareCustomSetup
3ClickFinishtoclosethewizard.RestartWindowsifpromptedtodoso.
4.5FullSolarflarePackageInstallation
Thissectioncoverthefollowingtopics:
Prerequisitesonpage142
SolarflarePackageInstallationProcedureonpage143
SolarflarePackageInstallationProcedureonpage143
Repair,RemoveandChangeDriversandUtilitiesonpage145
Prerequisites
•TheSolarflareAdapterManagerUtility(SAM)requiresMicrosoft.NET
Framework3.5assemblies.Theseareavailablebyinstalling.NETversion3.5
andmayalsobeavailableinversion4.xwithbackwardcompatibilityfor3.5.
ToinstalltherequiredcomponentsfromPowershellprompt(WindowsServer
editionsonly):
Install‐WindowsFeatureNET‐Framework‐Core
AlternativelyonWindows8andlater:
Enable‐WindowsOptionalFeature‐FeatureNameNetFx3‐Online‐All

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 143
SolarflarePackageInstallationProcedure
ThestepsbelowdescribehowtoinstallthecompleteSolarflareinstallationpackage.
Toinstallthisfromthecommandline,seeInstallDriversandOptionsFroma
WindowsCommandPromptonpage146.
1Double‐clickthesuppliedSetup.exe.TheSolarflareDriverPackageSetup
wizardstarts.
Figure14:SolarflareDriverPackageSetup
Ifprompted,confirmyouradministratorprivilegestocontinueinstallingthe
drivers.
2Followthesetupinstructionsinthewizardtocompletethedriverinstallation
procedure.SeeFigure15:

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 144
Figure15:SolarflareDriverPackageCustomSetup
Table31liststhesetupoptions:
Table31:SolarflareCustomSetup
Option Description
InstallSolarflare
devicedrivers
InstallsSolarflaredriversforWindows.
TheSolarflaredriversareinstalledbydefault.
InstallSolarflare
commandlinetools
InstallsthefollowingSolarflareWindowscommandline
tools:
sfboot.exe–BootROMconfigurationtool
sfupdate.exe–Firmwareupdatetool
sfteam.exe–Adapterteamingtool
sfcable.exe–Cablediagnosticstool
sfkey.exe–Licensemanagementtool
sfnet.exe–Adapterconfigurationtool
SeeWindowsCommandLineToolsonpage189.
Thesetoolsareinstalledbydefault.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 145
3ClickFinishtoclosethewizard.RestartWindowsifpromptedtodoso.
Toconfirmthedriversinstalledcorrectly,doeitherofthefollowing:
•OpentheWindowsDeviceManagerandchecktheSolarflareadapterispresent
underNetworkAdapters.
•StartSolarflareAdapterManager(Start>AllPrograms>SolarflareDrivers>
SolarflareAdapterManager).IftheSolarflareadapterisinstalledandworking
correctly,itwillbeshownintheSAMmainscreen,alongwithanyother
adapters,asinTable17onpage155.
Repair,RemoveandChangeDriversandUtilities
FromtheControlPanel>Programs>ProgramsandFeatures,selecttheSolarflare
DriverPackagethenselectUninstall,ChangeorRepairfromthemenubarabove
theprogramlist.
InstallSolarflare
AdapterManager
InstallsSolarflareAdapterManager(SAM)foreasy
accesstoadapterconfigurationoptions,wizardsfor
teamingandVLANsetup,adapterstatistics,and
diagnostictools.SeeManagingAdapterswithSAMon
page154formoredetails.
SAMisinstalledbydefault.
Note:Ifthisoptionisgrayedout,youneedtoexitthe
SolarflareinstallerandtheninstallMicrosoft.NET
Framework3.5beforere‐runningtheSolarflareinstaller.
InstallSolarflare
managementtools
notificationarea
icon
InstallsaSolarflarenotificationareaiconforlaunching
SolarflareAdapterManager(SAM)locallyorforaremote
computer.
Theiconisnotinstalledbydefault.
Table31:SolarflareCustomSetup
Option Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 146
4.6InstallDriversandOptionsFromaWindowsCommand
Prompt
Thissectioncoversthefollowingsubjects:
CommandLineUsageonpage146
UsingADDLOCALonpage148
CommandLineUsage
Toviewcommandlineoptionsavailable,runthesetup‐<release>.exe/?command
toextractfilesusingtheSolarflareSetupBootstrapper.Whenthishascompleted
theSolarflareDriverPackageSetupWindowwillbedisplayed.
Figure16:CommandLineInstall.
InstallingfromtheWindowscommandlineallowsscripted,silentandunattended
installationofthecoreSolarflaredriversandpackageutilities.Thedriversinstall
packageisnamedaftertheSolarflaredocumentpartnumbere.g.
SF‐107785‐LS‐2_Solarflare_Windows_x64_64‐bit_Driver_Package.exe
Thiscanberenamede.gsetup.exebeforeinvokingfromthecommandline.
Thefollowingexamplewillinstalldefaultpackageoptionssilentlywithnomessage
output:
setup.exe/Quiet/Install
Table32listsothercommandlineexamples.Notethatcommandlineoptionsare
caseinsensitive,so/installand/INSTALLarethesame.
Table32:SolarflareInstallationOptions
Example Action
setup.exe/Admininstall<path> Allowsanadministratortounpack
andinstallthepackagetoanetwork
shareandtospecifywhichfeaturesof
thepackagecanbeinstalledbyusers.
setup.exe/Extract<path> Extractsthecontentsofsetup.exeto
thespecifiedpath.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 147
setup.exe/ExtractDrivers<path> Extracttheadapterdrivertothe
specifiedpath.
setup.exe/Filename<filename> Logalloutputtothespecifiedfile.
setup.exe/Force Allowpassiveorquietmodeto
replaceanexistinginstallationwith
anearlierversion.
setup.exe/Help Showsahelpscreenandexits.
setup.exe/Install Installsorconfiguresthepackage.
setup.exe/Install/Log<filename> Installthedriversandlogsmessages
tothespecifiedfile.
setup.exe/Install/Package
<packagefilename>
Installsthedriversandutilities
specifiedinpackagefilename.
setup.exe/Install/Passive Performsanunattendedinstallation
ofthedriversandutilities,rebooting
thehosttocompletetheinstallation
asrequired.
setup.exe/Install/Quiet Performsasilentinstallationofthe
driversandutilities,rebootingthe
host–withoutprompting–to
completetheinstallationasrequired.
setup.exe/Reinstall Reinstallsthedriversandutilities.
setup.exe/Uninstall Removesthedriversandutilitiesfrom
thehostoperatingsystem.
setup.exe/Install/Verbose Performsaverboseinstallationofthe
driversandutilities,outputting
detailsforeachstageofthe
installationprocedure.
setup.exe/Package<PackageFilename> Identifythepackagefiletouseforthe
operation.
setup.exe/Version Showsversioninformationforthe
drivers.
setup.exe/Quiet/Install
ADDLOCAL=NetworkAdapterManager
Silentlyinstallsthedriversand
SolarflareAdapterManageronly
(otherutilitieswillnotbeinstalled).
See,UsingADDLOCALonpage148.
Table32:SolarflareInstallationOptions
Example Action

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 148
UsingADDLOCAL
ADDLOCALisastandardWindowsInstallerpropertythatcontrolswhichfeatures
areinstalledviathecommandline.ForSolarflareadapters,thefollowingfeatures
canbeinstalledfromthecommandline:
•CoreDrivers–Installsthecoreadapterdrivers
•NetworkAdapterManager–InstallsSolarflareAdapterManager(SAM)
•CommandLineTools–InstallsSolarflarecommandlinetools:sfboot.exe,
sfupdate.exe,sfcable.exe,sfkey.exe,sfteam.exe,sfnet.exe.
•Launcher–InstallstheSolarflaresystemtrayicon,providingeasyaccesstothe
SolarflareAdapterManager(SAM).
Multiplefeaturesmaybeinstalledbyseparatingeachfeaturewithacomma(spaces
arenotallowed).
ADDLOCALcannotpreventLauncherfrombeinginstalledifeither
NetworkAdapterManagerorCommandLineToolsarenotinstalledorarestillbeing
installed.
ADDLOCALexamples
•Installthepackageinteractivelywiththedefaultinstallationoptionsselected
(equivalenttoSetup.exeorSetup.exe/Install).
Setup.exe/InstallADDLOCAL=CoreDrivers,
NetworkAdapterManager,CommandLineTools,Launcher
•Installthepackagewithoutanymanagementtools.Displaysalimiteduser
interfacewithstatusandprogressonly.
Setup.exe/Quiet/InstallADDLOCAL=CoreDrivers
•InstallSolarflareAdapterManager(SAM)only.Thiscommandshowsnouser
interfaceduringinstallationandwillrestartthehostsystemifrequired.
Setup.exe/Quiet/InstallADDLOCAL=NetworkAdapterManager
setup.exe/Quiet/Install
ADDLOCAL=NetworkAdapterManager
REBOOT=Suppress
Silentlyinstallsthedriversand
SolarflareAdapterManageronly,but
suppressestheauto‐restartatthe
endoftheinstallation.
<PROPERTY>=<Value> Specifyoneormoreinstall
properties.
Table32:SolarflareInstallationOptions
Example Action

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 149
UsingREBOOT
REBOOTisastandardWindowsInstallerpropertythatcontrolswhenrebootsoccur:
•Force–forcearebootattheendoftheinstallation
•Suppress–suppressanyrebootattheendoftheinstallation
•ReallySuppress–suppressanyrebootsduringtheinstallation,andattheend.
Seehttps://msdn.microsoft.com/en‐us/library/aa371101%28v=vs.85%29.aspx.
REBOOTexample
•InstallSolarflareAdapterManager(SAM)only,showingnouserinterface
duringinstallation,butsuppresstheauto‐rebootattheendoftheinstallation.
Setup.exe/Quiet/InstallADDLOCAL=NetworkAdapterManagerREBOOT=Suppress
ExtractSolarflareDrivers
IfitisnecessarytoextracttheSolarflareWindowsdrivers,e.g.beforeWDSinstalls,
thiscanbedonefromtheWindowscommandline.
1FromtheCommandprompt,navigatetothedirectorywheretheinstallation
packageislocated.
2Enterthefollowingcommand:
Setup.exe/Extract<DestinationDirectory>
TheDestinationDirectorywilllistthefollowingsub‐directorystructure‐Theactual
folders/filesdisplayedwilldependontheSolarflaredriverpackageinstalled:
Table33liststhedriverssuppliedwiththeSolarflareDriverinstallationpackage:
Table33:SolarflareDrivers
Folder WhereUsed
WIN7 DriverforWindowsServer2008R2,foruseonaWDSserver.
WIN8 DriverforWindowsServer2012,foruseonaWDSserver.
WINBLUE DriverforWindowsServer2012R2,foruseonaWDSserver.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 150
4.7UnattendedInstallation
Thissectioncoversthefollowingsubjects:
•WindowsDriverLocationsonpage150
•UnattendedInstallationusingWDSonpage150
•AddingSolarflareDriverstotheWDSBootImageonpage151
•CreateCustomInstallImageonpage152
•CreatetheWDSClientUnattend.xmlFileonpage153
•CreatetheAutoUnattend.xmlFileonpage153
•FurtherReadingonpage154
WindowsDriverLocations
ThefollowingstepsusedriversextractedfromtheSolarflareinstallationpackage.
RefertoTable33fordriverfolderlocations.
UnattendedInstallationusingWDS
WindowsDeploymentServices(WDS)enablesthedeploymentofWindowsovera
network(fromaWDSserver),avoidingtheneedtoinstalleachoperatingsystem
directlyfromaCDorDVD.
•ThisguideassumesyouhaveinstalledandarefamiliarwithWDS.Formore
informationonWDS,seeFurtherReadingonpage154.
•YoushouldalsobefamiliarwithPXEbootingoverSolarflareadapters.See
ConfiguretheBootManageronpage181formoreinformation.
Thefollowingstepsareanexampleofhowtosetupanunattendedinstallation
usingtheWDSinterface:
AddaBootImage
1FromthelefthandpaneoftheWDSMMCsnapin,right‐clicktheBootImages
nodeandselectAddBootImage.
2SpecifyanamefortheimagegroupandclickAddBootImage.
SETUP LaunchtheSolarflareDriverPackageSetupwindow.
SETUPPKG Packagefilelistings.
Table33:SolarflareDrivers
Folder WhereUsed

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 151
3Selecttheboot.wimfilefromtheWindowsinstallationDVD(inthe\Sources
folder).TheBoot.wimfilecontainstheWindowsPEandtheWindows
DeploymentServicesclient.
4ClickOpen,thenclickNext.
5Followtheinstructionsinthewizardtoaddthebootimage.
AddanInstallImage
1FromthelefthandpaneoftheWDSMMCsnapin,right‐clicktheInstallImages
nodeandselectAddInstallImage.
2SpecifyanamefortheimagegroupandclickAddInstallImage.
3Selecttheinstall.wimfilefromyourinstallationDVD(inthe\Sources
folder),orcreateyourowninstallimage.ConsulttheWDSdocumentationfor
detailsoncreatingcustominstallimages.
4ClickOpen,thenclickNext.
5Followtheinstructionsinthewizardtoaddtheimage.
AddingSolarflareDriverstotheWDSBootImage
ThesestepsdescribehowtoaddtheSolarflaredriversintotheBootImage.
ModifyingtheBootImage
YounextneedtomodifythebootimagetoincludetheSolarflareDriversextracted
fromthesetuppackage.Table33identifiesdriversrequiredforthetargetoperating
system.TomodifythebootimageSolarflarerecommendsusingtheImageXtool
suppliedwiththeWindowsAutomatedInstallationKit(AIK).
1WithinWDS,expandtheserverwherethebootimageislocatedandselectthe
bootimageyouwanttomodify.Fromtheright‐clickmenu,selectDisable.
2CreateaWindowsPEcustomizationworkingdirectory(inthisexample
c:\windowspe‐x86).Withinacommandprompt,from:
C:\programfiles\windowsaik\tools\petools\
andenterthefollowingcommand:
copype.cmdx86c:\windowspe‐x86
3EnterthefollowingImageXcommandsfromthePEcustomizationworking
directory:
imagex/info<Drive>:\remoteinstall\boot\x86\images\<boot.wim>
NOTE:<Drive>isthepathwheretheremoteinstallfolderislocated.
<boot.wim>isthenameofyourbootimage.
4MountthebootimagewiththefollowingcommandfromyourPE
customizationworkingdirectory:
imagex/mountrw<Drive>:\remoteinstall\boot\x86\images\<boot.wim>2mount

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 152
5CopythecontentsoftheappropriateSolarflaredriverfolder(seeTable33)to
asubdirectorywithinyourPEcustomizationworkingdirectory(inthisexample
c:\windowspe‐x86\drivers).
6AddtheSolarflareVBDdrivertotheimagebyenteringthefollowingcommand
fromyourPEcustomizationworkingdirectory:
peimg/inf=c:\windowspe‐x86\drivers\netSFB*.infmount\windows
7AddtheSolarflareNDISdrivertotheimagebyenteringthefollowingcommand
fromyourPEcustomizationworkingdirectory:
peimg/inf=c:\windowspe‐x86\drivers\netSFN6*.infmount\windows
8Unmounttheimage,usingthefollowingcommandfromyourPEcustomization
workingdirectory:
imagex/unmount/commitmount
9FromWDS,expandtheserverwherethebootimageislocatedandselectthe
bootimageyouhavemodified.Fromtheright‐clickmenu,selectEnable.
CreateCustomInstallImage
ThesestepsdescribehowtoaddtheSolarflaredriversintotheCustomInstallImage.
ThesearethesameSolarflaredriversaddedtothebootimage.
PreparingtheCustomInstallImage
1FromWDS,locatetheinstallimagefromtheInstallImagesfolderonyour
server.
2Right‐clicktheimageandselectExportImagefromthemenu.
3Exporttheimagetoalocationwhereitcanbemounted.Solarflarerecommend
usingtheWindowsPEcustomizationworkingdirectoryasthissavescreatinga
seconddirectory.Inthisexample:c:\windowspe‐x86.
ModifyingtheInstallImage
1MounttheinstallimagewiththefollowingcommandfromyourPE
customizationworkingdirectory:
imagex/mountrw<Drive>:\<path>\<install.wim>1mount
NOTE:<Drive>isthepathwheretheremoteinstallfolderislocated.
<boot.wim>isthenameofyourbootimage.
2CopythecontentsoftheappropriateSolarflaredriverfolderinTable33toa
sub‐directoryinyourPEcustomizationworkingdirectory(inthisexample
c:\windowspe‐x86\drivers).Ifyouareusingthesamedirectoryasforthe
bootimage,thisdirectoryshouldalreadybepresent.
3AddtheSolarflareVBDdrivertotheimagebyenteringthefollowingcommand
fromyourPEcustomizationworkingdirectory:
peimg/inf=c:\windowspe‐x86\drivers\netSFB*.infmount\windows

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 153
4AddtheSolarflareNDISdrivertotheimagebyenteringthefollowingcommand
fromyourPEcustomizationworkingdirectory:
peimg/inf=c:\windowspe‐x86\drivers\netSFN6*.infmount\windows
5Unmounttheimage,usingthefollowingcommandfromyourPEcustomization
workingdirectory:
imagex/unmount/commitmount
ImporttheCustomImagetoWDS
1FromWDS,selecttheImagegroupyouwanttoaddtheimageto.Right‐click
andselectImportImage.
2Browsetothelocationofthecustomimage,andclickNext.
3Followtheinstructionsinthewizardtoimporttheimage.
CreatetheWDSClientUnattend.xmlFile
TheWDSClientUnattend.xmlfileisusedbytheWindowsPEbootenvironmentto
configuresettingsincludingthelanguage,credentialsforconnectingtotheWDS
server,thepartitioningofthediskandwhichimagetodeploy.
NOTE:YoucanusetheWindowsSystemImageManager(PartoftheWindows
AutomatedInstallationKit)tocreatetheWDSClientUnattend.xmlfile.
ToassociateyourWDSClientUnattend.xmlfilewithyourmodifiedbootimage:
1CopytheWDSClientUnattend.xmlfiletothefollowingfolderinthe
RemoteInstallfolder:RemoteInstall\WDSClientUnattend.
2OpentheWindowsDeploymentServicesMMCsnap‐in,right‐clicktheserver
thatcontainstheWindowsServer2008R2,2012,or2012R2bootimagewith
whichyouwanttoassociatethefile,andthenselectProperties.
3OntheClienttab,selectEnableunattendedinstallation,browsetothe
WDSClientUnattend.xmlfile,thenclickOpen.
4ClickOKtoclosethePropertiespage.
CreatetheAutoUnattend.xmlFile
TheAutoUnattend.xmlfileisusedduringtheinstallationofWindowsServer
2008R2,2012,and2012R2toautomaticallypopulatethevariousconfiguration
settings.
NOTE:YoucanusetheWindowsSystemImageManager(PartoftheWindows
AutomatedInstallationKit)tocreatetheAutoUnattend.xmlfile.
ToassociateyourAutoUnattend.xmlfilewithyourcustominstallimage:
1CopytheAutoUnattend.xmlfiletothefollowingfolderintheRemoteInstall
folder:RemoteInstall\WDSClientUnattend.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 154
2OpentheWindowsDeploymentServicesMMCsnap‐in,selectthecustom
installimagewithwhichyouwanttoassociatethefile,right‐clickandthen
selectProperties.
3SelecttheAllowimagetoinstallinunattendmodeoption.
4ClickSelectFileandbrowsetoyourAutoUnattend.xmlfile.
FurtherReading
• InstallingandconfiguringWindowsDeploymentServices(WDS):
http://technet.microsoft.com/en‐us/library/cc771670%28WS.10%29.aspx
•WindowsPECustomization:
http://technet.microsoft.com/en‐us/library/cc721985%28WS.10%29.aspx
•GettingStartedwiththeWindowsAIK:
http://technet.microsoft.com/en‐us/library/cc749082%28WS.10%29.aspx
•PerformingUnattendedInstallations:
http://technet.microsoft.com/en‐us/library/cc771830%28WS.10%29.aspx
•HowtoaddnetworkdrivertoWDSbootimage:
http://support.microsoft.com/kb/923834
•WindowsDeploymentServicesGettingStartedGuideforWindowsServer2012
http://technet.microsoft.com/en‐us/library/jj648426.aspx
4.8ManagingAdapterswithSAM
•Introductiononpage155
•ManagingAdaptersRemotelywithSAMonpage156
•UsingSAMonpage156
•UsingSAMtoConfigureAdapterFeaturesonpage160
•UsingSAMtoConfigureTeamsandVLANsonpage168
•UsingSAMtoViewStatisticsandStateInformationonpage176
•UsingSAMtoRunAdapterandCableDiagnosticsonpage177
•UsingSAMforBootROMConfigurationonpage181
NOTE:TheWindowsdialogboxesdisplayedbySAMwillappeardifferentlyon
differentMicrosoftWindowsOSversions.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 155
Introduction
TheSolarflareAdapterManager(SAM)isaMicrosoftManagementConsole(MMC)
plug‐informanagingSolarflareadapters,teamsandVLANs.SAMshowsinformation
foralladaptersinstalledontheserver,alongsidethestandardMMCplug‐inActions
pane.
UsingSAM,youcaneasilyconfigureEthernetandtaskoffloadingsettings,setup
teamsandVLANs,configuretheBootROMforPXEorUEFIbooting,andupgradethe
adapterfirmware.
Figure17:SAMMainScreen‐WindowsServer2012
SAM’sdiagnosticsutilitiesallowyoutoruntestsontheadapter,andon10GBASE‐T
adapters,onthecabletodiscoveranypotentialissueswhichmaybeaffecting
adapterperformance.Also,SAM’sdetailedstatisticsandstateinformationcanbe
usedtoviewdatatransferfigures,sentandreceivedpackettypes,aswellasother
traffic‐relateddetails.
SAMisincludedwiththeSolarflaredriversinstallationpackage.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 156
4.9ManagingAdaptersRemotelywithSAM
SAMcanbeusedtoadministerSolarflareadaptersonyourserverfromaremote
computer.SAMcanbeusedremotelytoadministeradaptersonanysupported
Windowsplatform,includingaWindowsServerCoreInstallation.Remote
AdministrationprovidesaccesstoallSAMfeatures,exceptforgeneratingasystem
report.
ToallowSAMtoremotelyadministeryourserver,youneedtoaddaComputer
Managementsnap‐intothecomputerMicrosoftManagementConsole(MMC).
4.10UsingSAM
StartingSAM
TherearevariouswaysofstartingSAM.
Tomanagealocalcomputer,dooneofthefollowing:
•IftheSolarflarenotificationareaiconisinstalled,right‐clicktheiconand
chooseManagenetworkadaptersonthiscomputer.
•OnWindowsServer2008R2,chooseStart>AllPrograms>Solarflare
NetworkAdapters>Managenetworkadaptersonthiscomputer.
OnWindowsServer2012orlater,clicktheStartbuttonfollowedbythearrow
button,thenchooseSolarflareNetworkAdapters>Managenetwork
adaptersonthiscomputer.
•OnWindowsServer2008R2,chooseStart>AdministrativeTools>Computer
Management>SystemTools>NetworkAdapters.
OnWindowsServer2012orlater,clicktheStartbutton,thenchoose
AdministrativeTools>ComputerManagement>SystemTools>Network
Adapters.
Figure18:SAMiconsonStartscreen

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 157
NOTE:YoumaybeaskedforpermissiontocontinuebytheUserAccountControl
whenstartingSAM.YoumustrunSAMasanadministratortomakeanychanges.
Tomanagearemotecomputer,dooneofthefollowing:
•IftheSolarflarenotificationareaiconisinstalled,right‐clicktheiconand
chooseManagenetworkadaptersonaremotecomputer.
•OnWindowsServer2008R2,chooseStart>AllPrograms>SolarflareNetwork
Adapters>Managenetworkadaptersonaremotecomputer.
OnWindowsServer2012orlater,clicktheStartbuttonfollowedbythearrow
button,thenchooseSolarflareNetworkAdapters>Managenetwork
adaptersonaremotecomputer.
ViewingAdapterDetails
SAMlistsallavailablenetworkadaptersinstalledintheserver,regardlessof
manufactureroradaptertype
Figure19:SolarflareAdapterManager(SAM)
Foreachadapter,SAMprovidesthefollowingdetails:
•Nameandnetworkinterface
•IPaddress(IPv4andIPv6,ifavailable)
•MACaddress
•Transmitload
• Receiveload

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 158
ForSolarflareadaptersonly,SAMalsolistsanyteamsorVLANsthathavebeen
configured,alongwithdetailsthatallowyoutoquicklycheckperformanceand
status.
ViewingPerformanceGraphs
ToviewSolarflareperformancegraphs,Right‐clickonanadapterandselectShow
graphsfromthemenu.Bydefault,SAMshowstheload,transmittedpacketsand
receivedpacketsgraphsonly.Toviewotheravailablegraphs,SelectGraphsfromthe
right‐clickmenu,orfromtheActionsPane/Actionmenu.Fornon‐Solarflare
adaptersonlytheloadgraphisdisplayed.
ConfiguringOptionsinSAM
SAMallowsyoutochangetheunitsusedtodisplaydata,enableseparatorswhen
displayinglargenumbersanddisable/enablewarningmessages.
ToconfigureSAMoptions:
1StartSAM.
2FromtheActionspane,clickOptions,orchooseAction>Options.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 159
Figure20:SAM‐Actions>Options
3IntheConfigurationwindow,selectrequiredoptions(seeTable34).
4ClickOKtosaveyouroptionsorCanceltoretaintheexistingsettings.
Table34:SAMConfigurationOptions
Tab Options Description
Values Displayvalues
usingSIunits
Displaysvaluesusingmetricprefixes(K,M,G,T,
P, E),forexample2.3Mforthevalue2,300,000.
Enabledbydefault.Thiscanbeusefulwhen
dealingwiththelargeTx/Rxnumbersthatcan
accumulatewith10Gbnetworking.
Note:TheTransmitandReceivebytescolumns
ignorethissetting.
Values Useseparatorsin
largevalues
Useseparatorswithlargenumbers,for
example2,341,768.Enabledbydefault.
Values Load/bandwidth
units
Usebitspersecond(defaultsetting),orbytes
persecondwhendisplayingdatatransfer
figures.
Warnings Warnings
displayedbefore
amajoraction
takesplace
Warningsforthefollowingactionscanbe
enabledordisabledinSAM:
• DeletingaVLANorremovinganetwork
adapterfromateam
• Deletingateam

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 160
WorkingwithThird‐PartyAdapters
Third‐partyadaptersinstalledintheserverarealsolistedintheSAM’sNetwork
Adapterslist,alongwiththeSolarflareadaptersandanyteamsandVLANswhich
havebeensetupontheserver.
SAMprovidessomeoptionsforworkingwiththird‐partyadapters.Theavailable
actionsforthirdpartyadaptersareshownintheActionpane.
4.11UsingSAMtoConfigureAdapterFeatures
SAMallowsyoutoconfigurethefollowingfeaturesonSolarflareadapters:
•AccessingAdapterFeatureSettingsonpage160
•ChecksumOffloadonpage163
•RSSandInterruptsonpage163
•SegmentationOffload
•EthernetLinkSpeedonpage166
•Ethernetflowcontrolonpage166
•EthernetFrameLengthonpage167
NOTE:ChangingthevalueofanAdapterfeaturecannegativelyimpactthe
performanceoftheadapter.Youarestronglyadvisedtoleavethemattheirdefault
values.
NOTE:BeforemakinganychangestoyourSolarflareadapterfeatures,readthe
PerformanceTuningonWindowssectiononpage228first.
AccessingAdapterFeatureSettings
UseoneofthefollowingmethodstoaccesstheAdapterFeaturesDialog:
FromSAM,right‐clickonanadapterandselectConfiguration>ConfigureOffload
tasks,Ethernetandotherfeatures.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 161
FromSAM,selectanadapterandfromtheActionmenu,selectConfigureOffload
tasks,Ethernetandotherfeatures.
TheAdapterFeaturesdialogboxwillbedisplayed:

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 162
Figure21:SolarflareAdapterManagerAdapterFeatures
ClickApplyorOKwhenchangestoAdapterFeaturesaremodified.
NotethattheReceivelegendintheSegmentationOffloadfielddiffers,depending
ontheversionofWindowsthatisinstalled:
•forWindowsServer2008R2,itisLargeReceiveOffload(LRO)
•forWindowsServer2012andlater,itisReceiveSegmentCoalescing(RSC),as
shown.
FormoreinformationseeSegmentationOffloadonpage165.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 163
ChecksumOffload
ChecksumoffloadingissupportedonIP,TCPandUDPpackets.Beforetransmitting
apacket,achecksumisgeneratedandappendedtothepacket.Atthereceivingend,
thesamechecksumcalculationisperformedagainstthereceivedpacket.By
offloadingthechecksumprocesstothenetworkadapter,theloadisdecreasedon
theserverCPU.
Bydefault,Solarflareadaptersaresetuptooffloadboththecalculationand
verificationofTCP,IPandUDPchecksums.ThefollowingChecksumOffloadoptions
aresupported:
YoucanalsoconfigureChecksumOffloadsettingsfromthenetworkadapter
properties.SeeConfiguringNetworkAdapterPropertiesinWindowsonpage184
formoredetails.
NOTE:ChangingtheChecksumOffloadsettingscanimpacttheperformanceofthe
adapter.Solarflarerecommendthattheseremainatthedefaultvalues.Disabling
ChecksumOffloaddisablesLargeSendOffload.
RSSandInterrupts
SolarflarenetworkadapterssupportRSS(ReceiveSideScaling)andinterrupt
moderation.Bothareenabledbydefaultandcansignificantlyimprovethe
performanceofthehostCPUwhenhandlinglargeamountsofnetworkdata.
RSSattemptstodynamicallydistributedataprocessingacrosstheavailablehost
CPUsinordertospreadtheworkload.Interruptmoderationisatechniqueusedto
reducethenumberofinterruptssenttotheCPU.Withinterruptmoderation,the
adapterwillnotgenerateinterruptsclosertogetherthantheinterruptmoderation
interval.Aninitialpacketwillgenerateaninterruptimmediately,butifsubsequent
packetsarrivebeforetheinterruptmoderationinterval,interruptsaredelayed.
Table35:ChecksumOffloads
Checkbox
selected
Transmitand
Receive
Transmitchecksumsaregeneratedand
receivedchecksumsareenabled.Thisis
thedefaultsetting.
Checkselected
butselection
grayedout
TransmitOnly
orReceiveOnly
Foreithertransmitorreceivedchecksum
only.
NOTE:TheTransmitorReceiveOnlystates
canonlybesetfromtheAdvancedtabof
theDriverProperties.SeeConfiguring
NetworkAdapterPropertiesinWindows
onpage184formoredetails.
Checkbox
cleared
Disabled Disabled.Datawillbechecksummedby
thehostprocessorforbothtransmitted
andreceiveddata.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 164
YoucanalsoconfigureRSSandinterruptssettingsfromthenetworkadapter
properties.SeeConfiguringNetworkAdapterPropertiesinWindowsonpage184
formoredetails.
NOTE:ChangingtheRSSandInterruptModerationsettingscanimpactthe
performanceoftheadapter.Youarestronglyadvisedtoleavethemattheirdefault
values.
RSSandInterruptsOptions
Table36showstheRSSandinterruptsoptions.
Table36:RSSandInterruptsOptions
Displayed(supported)optionswilldifferbetweenWindowsOSversionsand
differentSolarflaredrivers.
RSS Disabled‐RSSisdisabled.
ClosestProcessor‐usecoresfromasingleNUMAnode.
ClosestProcessorStatic‐Networktrafficisdistributed
acrossavailableCPUsfromasingleNUMAnode,but
thereisnodynamicloadbalancing.
NUMAScaling‐CPUsareassignedonaround‐robin
basisacrosseveryNUMAnode.
NUMAScalingStatic‐AsforNUMAScalingbutwithout
dynamicloadbalancing.
ConservativeScaling‐RSSwilluseasfewprocessorsas
possibletosustainthecurrentnetworkload.Thishelps
toreducethenumberofinterrupts.
Max.RSSprocessors SetthenumberofprocessorstobeusedbyRSS.
Ifthisisgreaterthanorequaltothenumberoflogical
processorsinthesystemthenallprocessorsareused.
Interruptmoderation Adaptive‐adjuststheinterruptratesdynamically,
dependingonthetraffictypeandnetworkusage.
Disabled‐interruptmoderationisdisabled.
Enabled‐interruptmoderationisenabled.
Max(microseconds) Thissettingcontrolsthevaluefortheinterrupt
moderationtime.Thedefaultvalueis60microseconds
andcanbechangedfordeploymentsrequiringminimal
latency.
BaseRSSprocessor ThebaseprocessortobeusedbyRSS.Thevalueis
specifiedasagroup(range0‐9)andCPUnumber(range
0‐63).

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 165
FurtherReading
FormoreinformationonWindowsRSSprofilesandoptionsrefertohttp://
msdn.microsoft.com/en‐us/library/windows/hardware/
ff570864%28v=vs.85%29.aspx
4.12SegmentationOffload
Solarflareadaptersoffloadthetasksofpacketsegmentationandreassemblytothe
adapterhardware,reducingtheCPUprocessingburdenandimproving
performance.
•LargeSendOffload(LSO),whenenabled,offloadstotheadapterthesplitting
ofoutgoingTCPdataintopackets.ThisreducesCPUuseandimprovespeak
throughput.SinceLSOhasnoeffectonlatency,itcanbeenabledatalltimes.
ThedriverhasLSOenabledbydefault.
• ReceiveSegmentCoalescing(RSC)isaMicrosoftfeatureintroducedin
WindowsServer2012.Whenenabledtheadapterwillcoalescemultiple
receivedTCPpacketsonaTCPconnectionintoasinglecalltotheTCP/IPstack.
ThisreducesCPUuseandimprovespeakperformance.RSChasalowimpacton
latency.Ifahostisforwardingreceivedpacketsfromoneinterfacetoanother
thenWindowswillautomaticallydisableRSC.RSCisenabledbydefault.
•LargeReceiveOffload(LRO)isaSolarflareproprietarymechanismsimilarto
RSC.ItisusedwhenRSCisunavailable(i.e.onWindowsServer2008R2).When
enabledtheadapterwillcoalescemultiplereceivedTCPpacketsonaTCP
connectionintoasinglecalltotheTCP/IPstack.ThisreducesCPUuseand
Max.RSSprocessor ThemaximumprocessoravailabletoRSS.Thevalueis
specifiedasagroup(range0‐9)andCPUnumber(range
0‐63).
Max.RSSprocessors ThemaximumnumberofprocessorstobeusedbyRSS.
Thevalueisintherange0‐256.
Max.RSSqueues Themaximumnumberofreceivequeuescreatedper
interface.Thevalueisintherange0‐64.
NUMAnodeid TheNUMAnodeiddropdownlistboxisdisplayedon
WindowsplatformsthatsupportNUMAarchitectures.
ThisconstrainsthesetofCPUcoresusedforRSStothe
specifiedNUMAnode.Solarflarerecommendyouleave
thisatthedefaultsettingofAll.Theadapterwill
attempttouseonlyprocessorsfromthespecified
NUMAnodeforRSS.IfthisissettoALLoritisgreater
thanorequaltothenumberofNUMAnodesinthe
system,allNUMAnodesareused.
Table36:RSSandInterruptsOptions

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 166
improvespeakperformance.HoweverLROcanincreaselatencyandshouldnot
beusedifahostisforwardingreceivedpacketsfromoneinterfacetoanother.
LROisdisabledbydefault.
YoucanalsoconfigureLSOandRSC/LROsettingsfromtheNDISproperties.See
ConfiguringNetworkAdapterPropertiesinWindowsonpage184formoredetails.
EthernetLinkSpeed
Generally,itisneithernecessaryordesirabletoconfigurethelinkspeedofthe
adapter.Theadapterbydefaultwillnegotiatethelinkspeeddynamically,
connectingatthemaximum,supportedspeed.However,iftheadapterisunableto
connecttothelinkpartner,youmaywishtotrysettingafixedlinkspeed.Forfurther
informationsee‘LinkSpeed’inTable43onpage185.
Ethernetflowcontrol
Ethernetflowcontrolallowstwocommunicatingdevicestoinformeachotherwhen
theyarebeingoverloadedbyreceiveddata.Thispreventsonedevicefrom
overwhelmingtheotherdevicewithnetworkpackets.Forinstance,whenaswitch
isunabletokeepupwithforwardingpacketsbetweenports.Solarflareadapters
allowflowcontrolsettingstobeauto‐negotiatedwiththelinkpartner.
Youcanalsoconfigureethernetflowcontrolfromthenetworkadapterproperties.
SeeTable43onpage185formoredetails.
Table37:EthernetFlowControlOptions
Option Description
Auto‐negotiate Flowcontrolisauto‐negotiatedbetweenthedevices.
Thisisthedefaultsetting,preferringGenerateand
respondifthelinkpartneriscapable.
Generateandrespond Adaptergeneratesandrespondstoflowcontrol
messages.
Respondonly Adapterrespondstoflowcontrolmessagesbutis
unabletogeneratemessagesifitbecomes
overwhelmed.
Generateonly Adaptergeneratesflowcontrolmessagesbutisunable
torespondtoincomingmessagesandwillkeepsending
datatothelinkpartner.
None Ethernetflowcontrolisdisabledontheadapter.Data
willcontinuetofloweveniftheadapterorlinkpartner
isoverwhelmed.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 167
EthernetFrameLength
ThemaximumEthernetframelengthusedbytheadaptertotransmitdatais(or
shouldbe)closelyrelatedtotheMTU(maximumtransmissionunit)ofyour
network.ThenetworkMTUdeterminesthemaximumframesizethatyournetwork
isabletotransmitacrossalldevicesinthenetwork.
NOTE:ForoptimumperformancesettheEthernetframelengthtoyournetwork
MTU.
IfthenetworkusesJumboframes,SAMsupportsframesuptoamaximumof9216
bytes.
VirtualMachineQueue
SolarflareadapterssupportVMQtooffloadtheclassificationanddeliveryof
networktrafficdestinedforHyper‐Vvirtualmachinestothenetworkadapter
therebyreducingtheCPUloadonHyper‐Vhosts.
WindowsServer2008R2allowstheadministratorusertostaticallyconfigurethe
numberofCPUsavailabletoprocessinterruptsforVMQ.Interruptsarespread
acrossthespecifiedcores,howeverthestaticconfigurationdoesnotprovidebest
performancewhenthenetworkloadvariesovertime.
DynamicVMQ,supportedinWindowsServer2012andlater,willdynamically
distributereceivednetworktrafficacrossavailableCPUswhileadjustingfornetwork
loadby,ifnecessary,bringinginmoreprocessorsorreleasingprocessorsunderlight
loadconditions.
VMQsupportsthefollowingfeatures:
• Classificationofreceivednetworktrafficinhardwarebyusingthedestination
MACaddress(andoptionallyalsotheVLANidentifier)toroutepacketsto
differentreceivequeuesdedicatedtoeachvirtualmachine.
•Canusethenetworkadaptertodirectlytransferreceivednetworktraffictoa
virtualmachine’ssharedmemoryavoidingapotentialsoftware‐basedcopy
fromtheHyper‐Vhosttothevirtualmachine.
•Scalingtomultipleprocessorsbyprocessingnetworktrafficdestinedfor
differentvirtualmachinesondifferentprocessors.
Table38:VMQModeOptions
Enabled VMQusesthedestinationMACaddressand
alsotheVLANidentifierforfilteringtrafficto
theintendedHyper‐Vvirtualmachine.
Thisisthedefault.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 168
4.13UsingSAMtoConfigureTeamsandVLANs
•AboutTeamingonpage168
•SettingUpTeamsonpage169
•ReconfiguringaTeamonpage170
•AddingAdapterstoaTeamonpage172
•DeletingTeamsonpage173
•SettingupVirtualLANs(VLANs)onpage174
•DeletingVLANsonpage176
AboutTeaming
NOTE:TosetupteamsandVLANSinWindowsusingthesfteamcommandlinetool,
seeSfteam:AdapterTeamingandVLANToolonpage200.
Solarflareadapterssupportthefollowingteamingconfigurations:
•IEEE802.3adDynamiclinkaggregation
•Staticlinkaggregation
•Faulttolerantteams
TeamingallowstheusertoconfigureteamsconsistingofallSolarflareadapterports
onallinstalledSolarflareadaptersormightconsistofonlyselectedadapterports
e.g.fromadualportSolarflareadapter,thefirstportcouldbeamemberofteamA
andthesecondportamemberofteamBorbothportsmembersofthesameteam.
ThissectionisonlyrelevanttoteamsofSolarflareadapters.Solarflareadapterscan
beusedinmulti‐vendorteamswhenteamedusingtheothervendor’steaming
driver.
CAUTION:WindowsServer2012introducednativesupportforteaming.Windows
teamingandSolarflareteamingconfigurationshouldnotbemixedinthesame
server.
Enabled(withoutVLANfiltering) VMQusesonlythedestinationMACaddress
forfilteringtraffictotheintendedHyper‐V
virtualmachine.
Disabled VMQisdisabled.
Table38:VMQModeOptions

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 169
SettingUpTeams
SAM’sCreateaTeamsetupwizardwillguideyouthroughsettingupanadapter
team,automaticallyassigningtheactiveadapter,keyadapterandstandbyadapter.
Tocreateateam:
1Beforecreatingateam,Solarflarestronglyrecommendtakingtheserveroffline
toavoiddisruptingexistingservicesastheteamisbeingconfigured.
2StartSAMandselectaSolarflareadapterintheNetworkAdapterlist.
3FromtheActionmenu,selectCreateaTeam.TheSolarflareCreateateam
Wizardstarts.
4TeamCreateWizard
5Thewizardwillguideyouthroughtheprocessofcreatingateamandoptionally
addingVLANstoyourteam(seeTable40onpage175forhelpwhenselecting
VLANoptions).
6Bringtheserverbackonline.
7Aftercreatingateam,youcanusetheConfigurethisTeamoptionfromthe
Actionspanetochangeteamsettings,suchastheEthernetframelength,key
adapterassignment,andadapterprioritieswithintheteam.
CAUTION:Beforephysicallyremovinganadapterfromaserver,firstcheckitisnot
thekeyadapter.Youmustreassignthekeyadapterifyouwanttoremoveitfrom
theteamtoavoidduplicatingtheMACaddressonyournetwork.SeeTable39on
page171fordetailsonreassigningthekeyadapter.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 170
ReconfiguringaTeam
Whensettingupteams,SAMassignsthekey,activeandstandbyadapters,and
specifiestheEthernetframelengthfortheteam.Tochangeanyofthesesettings,
usetheConfigurethisTeamoption,asdescribedbelow.
Tochangeteamsettings:
NOTE:Changingteamsettingscandisruptnetworktrafficflowtoandfromservices
runningontheserver.Solarflarerecommendonlychangingnetworksettingswhen
disruptiontotheservicescanbetolerated.
1StartSAMand,fromtheNetworkAdapterlist,selecttheteamyouwantto
reconfigure.
2FromtheActionmenu,selectConfigurethisTeam.TheConfigureaTeam
dialogboxdisplays.
Figure22:ConfigureaTeam
Bydefault,allteamedadaptersaregivenanequalpriority(indicatedbythe
groupednumber1).Thecurrentactiveadapterisindicatedbythegreenactive
symbol.Thekeyadapterisindicatedwiththekeysymbol.Adaptersinstandby
areindicatedbytheyellowstandbysymbol.Forlinkaggregatedteamsthere
maybemorethanoneactiveadapter.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 171
Figure23:PrioritizedAdapters
Figure23showstheactiveadapterwiththehighestpriority,withthesecond
adapterbeingsecondpriority.
Table39:ConfigureaTeamOptions
Tochangethekey
adapter:
Selectthenewkeyadapter,thenclickthekey
button.
Note:Beforephysicallyremovinganadapter
fromaserver,firstcheckitisnotthekeyadapter.
Youmustreassignthekeyadapterifyouwantto
removeitfromtheteamtoavoidduplicatingthe
MACaddressonyournetwork.
Tochangeadapter
priority:
Bydefault,alladaptershaveequalpriority.
Selectanadapterandusetheupordown
buttonstopromoteordemotetheadapter
priorityasrequired.
Note:ForFault‐TolerantTeams,thehighest
priorityadapterinateambecomestheactive
adapter,passingallnetworktrafficfortheteam.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 172
3Aftermakingyourchanges,clickSetandthenclickClose.
AddingAdapterstoaTeam
IfadditionalSolarflareadaptersareinstalledinyourserver,youcanaddthemtoan
existingteamtoincreasetheoverallresilienceorperformance(aggregation)ofthe
serverconnection.
Toaddadapterstoateam:
NOTE:Changingteamsettingscandisruptcurrentservicesrunningontheserver.
Solarflarerecommendonlychangingnetworksettingswhendisruptiontothe
servicescanbetolerated.
1StartSAMandselectaSolarflareadapterteamfromtheNetworkAdapterlist.
2FromtheActionslist,clickAddoneormoreadapters,orchooseActions>Add
oneormoreadapters.TheAvailableNetworkAdaptersdialogboxisdisplayed:
Tospecifyanewactive
adapter:
ForFault‐TolerantTeamsonly.Setyour
preferredactiveadaptertothehighest
prioritizedadapterintheteam.Thehighest
prioritizedadapterbecomestheactiveadapter
intheteamafteryouapplyyourchanges.
Tochangeadapterpriority,usetheupanddown
buttons.
TospecifytheEthernet
framelength/MTU:
Specifyavaluebetween1514and9216bytes.
Checkyournetworksupportsthenewframe
lengthbeforesettingthenewvalue.
Note:Thissettingaffectsalladaptersinthe
team,andwilloverrideanyindividualadapter
settingsmadefromtheConfigureOffloadtasks,
Ethernetandotherfeatureswindow.SeeUsing
SAMtoConfigureAdapterFeaturesonpage160
formoredetails.
Table39:ConfigureaTeamOptions

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 173
Figure24:AvailableAdapters
3Selecttheadapter(s)toaddtotheteam.ClickOKtoaddtheselectedadapters
andclosethedialogbox.
DeletingTeams
YoucandeleteateambyselectingDeletethisteaminSAM.Onceateamhasbeen
deleted,allofitsadaptersarereturnedtotheiroriginalconfigurationsettingsand
becomeavailableontheserveronceagain.AnyVLANssetupfortheteamwillbe
deletedwhentheteamisdeleted.
Todeleteateam:
NOTE:Changingteamsettingscandisruptcurrentservicesrunningontheserver.
Solarflarerecommendonlychangingnetworksettingswhendisruptiontonetwork
servicescanbetolerated.
1StartSAMandselectaSolarflareadapterteamfromtheNetworkAdapterlist.
2FromtheActionmenu,selectDeletethisteam.Alternatively,todeleteall
teamsandVLANsontheserver,selectDeleteallteamsandVLANs.The
ConfirmActionDialogboxisdisplayed.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 174
Figure25:ConfirmAction
3Confirmthedeletionwhenprompted.
NOTE:DeleteallteamsandVLANswillcauseadisplayrefreshwhichmaytake
sometimetocomplete,dependingonthenumberofteamsandVLANsbeing
deleted.
SettingupVirtualLANs(VLANs)
SAMallowsyoutoaddupto64VLANsperteamoradapter.EachVLANisavirtual
networkadapter,visibleintheWindowsDeviceManager,throughwhichthe
operatingsystemisabletoreceivedatataggedwiththecorrectVLANID(VID).You
mayassignoneVLANtoacceptVLAN0oruntaggedtraffic,whichallowsthe
interfacetocommunicatewithdevicesthatdonotsupportVLANtagging,orthat
aresendingtrafficonVLAN0.
TocreateVLANs:
NOTE:CreatingVLANscandisruptcurrentservicesrunningontheserver.Solarflare
recommendonlychangingnetworksettingswhendisruptiontonetworkservices
canbetolerated.
1StartSAMandselecttheadapteroradapterteamfromtheNetworkAdapter
list.
2FromtheActionslist,clickAddoneormoreVLANs,orchooseActions>Add
oneormoreVLANstodisplaytheVLANSetupWizard.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 175
Figure26:CreateVLANs
Table40:VLANOptions
Option Description
Name AnoptionalnamefortheVLANnetworkadapter.
Thisoptionwillnotbeavailablewhenremotely
administeringtheserver.
Supportsthehandling
ofprioritytraffic
Enablesthehandlingoftrafficthatistaggedas
priority.
Supportsuntagged
andVLAN0traffic
RestrictstheVLANtohandlingpacketsthatare
untaggedorwithVID0.
Thisoptionallowstheinterfacetocommunicate
withdeviceswhichdon’tsupportVLANtagging.
Supportstrafficsolely
onthisVLAN
Restrictsthenetworkinterfacetotrafficthatis
taggedwiththespecifiedVLAN.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 176
DeletingVLANs
VLANscanberemovedfromateamorsingleadapterwhennolongerrequired.
TodeleteVLANs:
NOTE:DeletingVLANscandisruptcurrentprocessesandapplicationsrunningon
theserver.Solarflarerecommendonlychangingnetworksettingswhendisruption
tonetworkservicescanbetolerated.
1StartSAM.
2IntheNetworkadapterlist,selecttheVLANtodelete.Ifnecessary,expandthe
teamiftheVLANisattachedtoateamthenselecttheVLAN.
3FromtheActionslist,clickDeletethisVLAN,orchooseAction>Deletethis
VLAN.
4ConfirmthedeletionintheConfirmActionDialogbox.
4.14UsingSAMtoViewStatisticsandStateInformation
SAM’sNetworkAdapterlistprovidesanoverviewoftheadaptersinstalledinthe
hostcomputer.Foramoredetailedviewoftheadapterdevicesettings,data
transferstatistics,andotherfeatures,youcanusetheadapterStatisticsandState.
Figure27:SolarflareAdapterStatisticsandState

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 177
ToviewSolarflarestatisticsandstateinformation:
1StartSAMandselectaSolarflareadapterfromtheNetworkAdapterlist.
2FromtheActionslist,clickStatisticsandState.TheDetailsfrom<adapter
name>dialogboxisdisplayed.
NOTE:Thetabsdisplayedwilldiffer,dependentonwhetheranadapter,VLAN
orTeamisselected.
3Clickeachtabtoseethevariousadapterstatisticsandstateinformationthatis
availablefortheadapter.Notethatstatisticsarecollatedfromthestartofthe
currentsession.Toresetthestatistics,seeResettingAdapterStatisticson
page177.
4Whenyouhavefinishedviewingstatistics,clickClose.
ResettingAdapterStatistics
StatisticsfordatatransferandtheMAClayerarereset,eitherfollowingasystem
restartorinstallingoftheadapterdrivers.Ifnecessary,youcanresettheadapter
statisticstorestarttheaccumulateddatavaluesatanytime.
1StartSAMandselectaSolarflareadapterfromtheNetworkAdapterlist.
2FromtheActionslist,clickStatisticsandState,orchooseActions>Statistics
andState.TheDetailsfrom<adaptername>dialogboxisdisplayed.
3IntheGeneraltab,clicktheResetbuttontoresetstatistics.
4ClickClose.
4.15UsingSAMtoRunAdapterandCableDiagnostics
YoucanverifytheSolarflareadapter,driverandcablebyrunningSAM’sbuilt‐in
diagnostictools(Solarflare10GBASE‐Tadapteronly).
Thetoolsprovideasimplewaytoverifythattheadapteranddriverareworking
correctly,andthatthecablehasthecorrectcharacteristicsforhigh‐speeddata
transfer.
ThediagnosticstoolsalsoincludeanoptiontoflashtheLEDs(usefulforidentifying
theadapterinaserverroom),andanoptiontogenerateafullsystemreport,both
availablefromtheActionsmenu.
NOTE:Thefullsystemreportcannotbegeneratedwhenremotelyadministeringa
server.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 178
RunningDriverandAdapterDiagnostics
SAM’sdriverdiagnosticsenableyoutotesttheadapteranddriverarefunctioning
correctly,returningasimplepassorfailforeachtestrun.
Figure28:AdapterandDriverDiagnosticsWindow
1StartSAMandselectaSolarflareadapterfromtheNetworkAdapterlist.
2FromtheActionmenu,selectAdapterDiagnostics.TheDiagnosticsfor
<adaptername>windowisdisplayed.
3Selectthetestyouwanttorun(notestsareselectedbydefault).SeeTable41
foradescriptionoftheteststhatareavailable.
4Tostopassoonasafailureisdetected,selectStoponfirsttestfailure.
5Torunallthetestsmorethanonce,changethevalueintheTestiterationsbox.
6ClickStarttobegintesting.Theresultsofeachtestwillbedisplayedinthe
Diagnosticswindow,alongwithanentryintheCompletionMessagecolumn
describingthereasonanyparticulartesthasfailed.
NOTE:Theadapterwillstopfunctioningwhilethetestsarebeingrun.Solarflare
recommendonlyrunningdiagnosticstestswhendisruptiontonetworkservicescan
betolerated.
NOTE:YoucanclickAborttoabandonrunningtestsatanytime.Thismaytakea
whiletocomplete,dependentonthetestbeingrunatthetime.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 179
Theavailabletestsdependontheinstalledadaptertype.
RunningCableDiagnostics
Withhigh‐speeddatanetworking,thesuitabilityofthecableinachievingmaximum
transferratesisespeciallyimportant.SAM’scablediagnostictoolcanbeusedto
verifytheattachedcable,reportingitscondition,measuredlengthandelectrical
characteristicsforeachcablepairing.
NOTE:CablediagnosticsareonlyavailableonSolarflare10GBASE‐TAdapters.For
theseadapters,SolarflarerecommendusinggoodqualityCategory6,6aor7cable
uptothemaximumlengthasdeterminedbythecablecategory.
Table41:AdapterDiagnosticTests
DiagnosticTest Purpose
LED FlashestheLEDsfor5seconds.
NVRAM Verifiestheflashmemoryboardconfigurationareabyparsing
andexaminingchecksums.
Registers Verifiestheadapterregistersbyattemptingtomodifythe
writablebitsinaselectionofregisters.
Interrupts Examinestheavailablehardwareinterruptsbyrequestingthe
controllertogenerateaninterruptandverifyingthatthe
interrupthasbeenprocessedbythenetworkdriver.
MACloopback Verifiesthatthenetworkdriverisabletopasspacketstoand
fromthenetworkadapterusingtheMACloopbacklayer.
PHYloopback Verifiesthatthenetworkdriverisabletopasspacketstoand
fromthenetworkadapterusingthePHYloopbacklayer.
Memory VerifiesSRAMmemorybywritingvariousdatapatterns
(incrementingbytes,allbitonandoff,alternatingbitsonand
off)toeachmemorylocation,readingbackthedataand
comparingittothewrittenvalue.
MDIO VerifiestheMIIregistersbyreadingfromPHYIDregisters.
Event Verifiestheadapter’seventhandlingcapabilitiesbypostinga
softwareeventoneacheventqueuecreatedbythedriverand
checkingitisdeliveredcorrectly.
ThedrivercreatesaneventqueueforeachCPU.
PHYBIST ExaminesthePHYbyinitializingitandstartinganyavailable
built‐inselfteststorun.
bootROM VerifiestheBootROMconfigurationandimagechecksum.
WillwarnifnoBootROMispresent.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 180
Figure29:CableDiagnosticsWindow
1StartSAMandselectaSolarflareadapterfromtheNetworkAdapterlist.
2FromtheActionmenu,clickCableDiagnostics.TheCableDiagnosticsfor
<adaptername>dialogboxisdisplayed.
3ClickRunofflinetestorRunonlinetest.Offlinetestingproducemoredetailed
results,butattheexpenseofdisruptingtheconnectionwhiletestsarerunning.
CAUTION:Theofflinetestswillcausethenetworklinktomomentarilydrop
anddisruptdataflow.Solarflarerecommendonlyrunningdiagnosticstests
whendisruptiontoyourservicescanbetolerated.
4Theresultsofthetestingwillbedisplayedinthediagnosticsdialogbox.For
analysisofthecablepairresults,seeTable42.
Table42:CablePairDiagnosticResults
Result Meaning
OK
Lengthmeasured=…,
SNRmargin=…
Cableisoperatingcorrectly.
Therangeis±13dB(approximately).TheSNR
shouldbepositive.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 181
4.16UsingSAMforBootROMConfiguration
Forbootingofdisklesssystems,SolarflareadapterssupportPrebootExecution
Environment(PXE)andUEFIbooting.
UsingSAM,youcanaccesstheadapterBootROMtoconfigureyourfirmware
settingsforadapterbooting,asdescribedbelow.
ConfiguretheBootManager
ToconfigurePXEorUEFIbootingontheSolarflareBootROM:
1StartSAMandselectaSolarflareadapterfromtheNetworkAdapterlist.
FromtheActionmenu,selecttheConfigureBootROMoption.TheConfigure
BootROMwindowdisplayswiththeGeneraltabselected.
Figure30:bootROMConfiguration
Error
Pairshortat…
Ashortcircuithasbeendetectedattheindicated
length.
Thecableortheconnectorisfaultyandmustbe
replaced.
Error
Pairisopencircuit
Anopencircuithasbeendetected.
Thecableortheconnectorisfaultyandmustbe
replaced.
Table42:CablePairDiagnosticResults
Result Meaning

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 182
2FromtheBootTypepanel,selecteitherPXEorUEFIbootingasrequired.You
canalsoconfigurethetypesofBootFirmware,themaximumnumberofMSI‐X
Interruptssupportedandstart‐upconfigurationusedbytheBootROMutility.
FormoredetailsontheseoptionsseeSfboot:BootROMConfigurationToolon
page190.
NOTE:SolarflarerecommendnotchangingtheMSI‐XInterruptssetting.
3Ifnecessary,fromtheLinktab,changetheLinkSpeedoptiondependingon
yourlinkrequirement.NotethatAuto‐negotiatediscorrectformostlinksand
shouldnotbechangedunlessadvised.TheLinkSpeedoptionswillvary
dependingontheinstalledadapter.
Figure31:Linktab
4TheLinkupdelayspecifiesawaittimebeforethebootdevicewillattemptto
makeaconnection.Thisallowstimeforthenetworktostartfollowingpower‐
up.Thedefaultsettingis5seconds,butcanbesetfrom0–255seconds.This
canbeusedtowaitforspanningtreeprotocolonaconnectedswitchto
unblocktheswitchportafterthephysicalnetworklinkisestablished.
5IfyouselectedPXEastheboottype,clickOKtofinishthesetupprocedure.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 183
DisablingAdapterBooting
YoucanstoptheadapterfromattemptingtoinitiateeitheraPXEorUEFIbootafter
arestart.
1StartSAMandselecttheSolarflareadapterfromtheNetworkAdapterlist.
2FromtheActionmenu,clicktheConfigureBootROMoption.TheConfigure
BootROMdialogboxdisplayswiththeBIOStabselected.
3FromtheBootTypepanel,selectDisabled.
4ClickOKorApplytosaveyoursettingstotheBootROM.
4.17ManagingFirmwarewithSAM
SAMallowsyoutomonitorthefirmware(PHY,BootROMandAdapter)foryour
Solarflareadapters.EitherselectManagefirmwarefromtheActionspane,orfrom
theActionmenu.Thefirmwareupdatewindowisdisplayed:
Figure32:Solarflarefirmwareupdatewindow
Ifthefirmwareisuptodate,thewindowwillcontaintheOKbutton.Ifthefirmware
isoutofdate,theOKbuttonisreplacedwithanUpdateandCancelbutton.To
updatethefirmware,clickUpdate.
Youcanalsousethesfupdatecommandlinetooltomanagethefirmwareonyour
Solarflareadapters.SeeSfupdate:FirmwareUpdateToolonpage198formore
details.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 184
4.18ConfiguringNetworkAdapterPropertiesinWindows
NetworkadapterpropertiesfortheSolarflareadapterareavailablethroughthe
WindowsDeviceManagerentryfortherelevantnetworkadapter.Youcanalso
accesstheadapterpropertiesusingSAM.
NOTE:IfSAMisopen,anychangesmadeintheadapterpropertieswillnotbe
reflectedinSAMuntilyouclosetheAdvancedPropertiespage.
Toconfigurenetworkadapterproperties:
1FromtheControlPanel,selectSystem.
2SelectDeviceManagerfromthelefthandmenu.
3ExpandtheNetworkadapters.
4Right‐clicktheontheSolarflareadapter,andthenclickPropertiestodisplay
thepropertiesdialogbox.
Figure33:AdapterPropertiesDialog
5ClicktheAdvancedtabtoviewandedittheNDISproperties.SeeTable43fora
listoftheavailableproperties.
NOTE:Changingthesepropertiesmayimpacttheperformanceofyour
Solarflareadapter.Youarestronglyadvisedtoleavethemattheirdefault
values.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 185
NOTE:BeforemakinganychangestoyourSolarflareadapterfeatures,readthe
PerformanceTuningonWindowssectionon228first.
Table43:SolarflareNetworkAdapterProperties
PropertyName Values Description
AdaptiveInterrupt
Moderation
Enabled
Disabled
ThissettingisdependentontheInterruptModeration
setting.IfInterruptModerationisenabled,Adaptive
InterruptModerationallowstheadaptertovaryitsinterrupt
moderationautomatically,accordingtonetworktraffic
demands.
IfAdaptiveInterruptModerationisdisabled,interrupt
moderationintervalisfixedatthesettingspecifiedin
InterruptModerationTime.
Defaultsetting:Enabled
FlowControl AutoNegotiation
Disabled
Rx&TxEnabled
RxEnabled
TxEnabled
Ethernetflowcontrol(802.3x)isawayforanetworkdevice
tosignaltoasendingdevicethatitisoverloaded,suchas
whenadeviceisreceivingdatafasterthanitcanprocessit.
Theadapterdoesthisbygeneratinga‘pauseframe’to
requestthesendingdevicetotemporarilystoptransmitting
data.Conversely,theadaptercanrespondtopauseframes
bysuspendingdatatransmission,allowingtimeforthe
receivingdevicetoprocessitsdata.
Defaultsetting:AutoNegotiation.
Interrupt
Moderation
Enabled
Disabled
Interruptmoderationisatechniqueusedtoreducethe
numberofinterruptssenttotheCPU.Withinterrupt
moderation,theadapterwillnotgenerateinterruptscloser
togetherthantheinterruptmoderationtime.Aninitial
packetwillgenerateaninterruptimmediately,butif
subsequentpacketsarrivebeforetheinterruptmoderation
timeperiod,interruptsaredelayed.
Defaultsetting:Enabled
Interrupt
ModerationTime
1–1000µs SpecifiestheinterruptmoderationperiodwhenInterrupt
Moderationisenabled.
Thedefaultsetting(60µs)hasbeenarrivedatbylengthyand
detailedsystemanalysis,balancingtheneedsofthe
operatingsystemagainsttheperformanceofthenetwork
adapter.
Defaultsetting:60µs

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 186
IPv4Checksum
Offload
Disabled
Rx&TxEnabled
RxEnabled
TxEnabled
IPchecksumoffloadisahardwareoffloadtechnologyfor
reducingtheloadonaCPUbyprocessingIPchecksumsinthe
adapterhardware.
OffloadIPChecksumisenabledbydefaultfortransmitted
andreceiveddata.
Defaultsetting:Rx&TxEnabled.
LargeReceive
Offload(IPv4and
IPv6)
Enabled
Disabled
LargeReceiveOffload(LRO)isanoffloadtechnologyfor
reducingtheloadonaCPUbyprocessingTCPsegmentation
forreceivedpacketsintheadapter.
ThisisavailableonlyonWindowsServer2008R2.
Defaultsetting:Disabled
LargeSendOffload
Version2(IPv4and
IPv6)
Enabled
Disabled
LargeSendOffload(LSO)isanoffloadtechnologyfor
reducingtheloadonaCPUbyprocessingTCPsegmentation
fortransmittedpacketsintheadapter.
Caution:DisablingLSOmayreducetheperformanceofthe
Solarflareadapter.
Defaultsetting:Enabled
Locally
Administered
Address
Value:(MAC
address)
NotPresent
AssignsthespecifiedMACaddresstotheadapter,overriding
thepermanentMACaddressassignedbytheadapter's
manufacturer.
Addressesareenteredasablockofsixgroupsoftwo
hexadecimaldigitsseparatedbyhyphens(‐),forexample:
12‐34‐56‐78‐9A‐BC
Note:Tobeavalidaddress,thesecondmostsignificantdigit
mustbea2,6,AorE,asintheaboveexample.
ChecktheSystemEventLogforanyconfigurationissuesafter
settingthisvalue.
Defaultsetting:NotPresent.
Table43:SolarflareNetworkAdapterProperties
PropertyName Values Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 187
MaxFrameSize 1514–9216 SpecifiesthemaximumEthernetframesizesupportedbythe
adapter.
Note:Deviceswilldropframesiftheyareunabletosupport
thespecifiedframesize,soensurethevalueyousethereis
supportedbyotherdevicesonthenetwork.
Defaultsettings:
Solarflareadapter:1514bytes
Teamedadapter:1518bytes
Note:Thesettingmustbeamultipleof2.
Maximumnumber
ofRSSProcessors
1‐256 MaximumnumberofprocessorsthatcanbeusedbyRSS.
Defaultvalueis16.
Maximumnumber
ofRSSQueues
1‐64 SpecifythenumberofRSSreceivequeuesarecreatedbythe
adapterdriver.Defaultis8.
PreferredNuma
Node
All
0to15
TheadapterattemptstouseonlytheCPUsfromthe
specifiedNUMAnodeforRSS.IfthisissettoAllorisgreater
thanorequaltothenumberofNUMAnodesinthesystem
allNUMAnodesareused.
Defaultsetting:All
ReceiveSegment
Coalescing
Enabled
Disabled
ReceiveSegmentCoalescing(RSC)isanoffloadtechnology
forreducingtheloadonaCPUbyprocessingTCP
segmentationforreceivedpacketsintheadapter.
ThisisavailableonWindowsServer2012andlater.
Defaultsetting:Enabled
ReceiveSide
Scaling(RSS)
Enabled
Disabled
ReceiveSideScaling(RSS)isatechnologythatenablespacket
receiveprocessingtoscalewiththenumberofavailable
processors(CPUs),distributingtheprocessingworkload
acrosstheavailableresources.
Defaultsetting:Enabled
Table43:SolarflareNetworkAdapterProperties
PropertyName Values Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 188
Speed&Duplex 100MbpsFull
Duplex
1.0GbpsFull
Duplex
10GbpsFull
Duplex
40GbpsFull
Duplex
AutoNegotiation
Configuretheadapterspeed.DefaultisAutoNegotiation.
TCPChecksum
Offload(IPv4and
IPv6)
Disabled
Rx&TxEnabled
RxEnabled
TxEnabled
TCPchecksumoffloadisahardwareoffloadtechnologyfor
reducingtheloadonaCPUbyprocessingTCPchecksumsin
theadapterhardware.
Defaultsetting:Rx&TxEnabled.
UDPChecksum
Offload(IPv4and
IPv6)
Disabled
Rx&TxEnabled
RxEnabled
TxEnabled
UDPchecksumoffloadisahardwareoffloadtechnologyfor
reducingtheloadonaCPUbyprocessingUDPchecksumsin
theadapterhardware.
Defaultsetting:Rx&TxEnabled.
VirtualMachine
Queues
Enabled
Disabled
VMQoffloadsclassificationanddeliveryofnetworktraffic
destinedforHyper‐Vvirtualmachinestothenetwork
adapter,reducingCPUutilizationonHyper‐Vhosts.
Defaultsetting:Enabled.
VMQVLAN
Filtering
Enabled
Disabled
VLANfilteringallowstheadaptertousetheVLANidentifier
forfilteringtrafficintendedforHyper‐Vvirtualmachines.
WhendisabledonlythedestinationMACaddressisusedfor
filtering.
Defaultsetting:Enabled.
Table43:SolarflareNetworkAdapterProperties
PropertyName Values Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 189
4.19WindowsCommandLineTools
Thecommandlinetools(seeTable44)provideanalternativemethodofmanaging
SolarflarenetworkadapterstoSAM.TheyareespeciallyusefulonaWindowsServer
Coreinstallation,whereSAMcannotberunlocally.AswithSAM,youcanrunthe
commandlinetoolsremotely.Thetoolscanalsobescripted.
ThecommandlinetoolsareinstalledaspartofthedriversinstallationonWindows.
SeeInstallingtheSolarflareDriverPackageonWindowsonpage140.
Tostartacommandlinetool,openaCommandLineInterfacewindowsandenter
thecommandtool.exe:
Figure34:WindowsconsoletorunSolarflarecommandlinetools.
Table44:ListAvailableCommandLineUtilities
Utility Description
sfboot.exe AtoolforconfiguringSolarflareadapterBootROMoptions,
includingPXEandUEFIbooting.SeeSfboot:BootROM
ConfigurationTool onpage190.
sfupdate.exe AtoolforupdatingadapterBootROMandPHYfirmware.See
Sfupdate:FirmwareUpdateToolonpage198.
sfteam.exe Atoolformanagingfault‐tolerantadapterteamsandVLANs.See
Sfteam:AdapterTeamingandVLANToolonpage200.
sfcable.exe AtoolforthatrunscablediagnosticsforSolarflare10GBASE‐T
serveradapters.SeeSfcable:CableDiagnosticsToolonpage205.
sfkey.exe AtoolformanagingSolarflareAppFlex™licenses.SeeSfkey:
LicenseManagementToolonpage208.
sfnet.exe Allowsyoutodisplayand/orsettheoffload,Ethernet,RSS,
interruptmoderationandVMQfeaturesofanyoneadapter,
VLANorTeam.SeeSfnetonpage211.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 190
NOTE:Foralltheutilities,theoptionsaredocumentedwiththeforwardslash(/)
prefix.Youcanalsouseasingledash(‐)oradoubledash(‐‐)asaprefix.
NOTE:Utilitiesmustberunasanadministratortomakeanychanges.Whenrunas
anonadministrator,anerrormessagewillbedisplayed.
4.20Sfboot:BootROMConfigurationTool
•Sfboot:CommandUsageonpage190
•Sfboot:CommandLineOptionsonpage191
•Sfboot:Examplesonpage196
SfbootisaWindowscommandlineutilityforconfiguringSolarflareadapterBoot
ROMoptions,includingPXEandUEFIbooting.Usingsfbootisanalternativetousing
Ctrl+BtoaccesstheBootRomagentduringserverstartup.
SeeSolarflareBootManageronpage374formoreinformationontheBootRom
agent.
Sfboot:CommandUsage
1Loginwithanadministratoraccount.
2ClickStart>AllPrograms>SolarflareNetworkAdapters>CommandLine
InterfaceforNetworkAdapters.
3FromtheCommandPrompt,enterthecommandusingthefollowingsyntax:
sfboot[/Adapter<Identifier>][options][parameters]
where:
‐ IdentifieristhenameorIDoftheadapterthatyouwanttomanage.
Specifyingtheadapterisoptional‐ifitisnotincludedthecommandis
appliedtoallSolarflareadaptersinthemachine.
‐ optionistheoptionyouwanttoapply.SeeSfboot:CommandLine
Optionsforalistofavailableoptions.
Ifusingsfbootinaconfigurationscript,youcanincludetheenvironment
variable%SFTOOLS%tosetthepathtotheSolarflaretools.Forexample:
SETPATH=%PATH%;%SFTOOLS%

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 191
Sfboot:CommandLineOptions
Table45liststheoptionsforsfboot.exe,Table46liststheavailableglobal
parameters,andTable47liststheavailableper‐adapterparameters.Notethat
commandlineoptionsarecaseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderabbreviatedscriptsinvalid.
Table45:SfbootOptions
Option Description
/Help Displayscommandlinesyntaxandprovidesadescriptionofeach
sfbootoption.
/Version Showsdetailedversioninformationandexits.
/Nologo Hidetheversionandcopyrightmessageatstartup.
/Verbose Showsextendedoutputinformationforthecommandentered.
/Quiet
Aliases:/Silent
Suppressesalloutput,includingwarningsanderrors;nouser
interaction.Youshouldquerythecompletioncodetodeterminethe
outcomeofcommandswhenoperatingsilently.
/Log<Filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specify/Silenttosuppresssimultaneousoutputtoscreen,if
required.
/Computer<ComputerName> Performstheoperationonaspecifiedremotecomputer.Administrator
rightsontheremotecomputerisrequired.
/List ListsallavailableSolarflareadapters.Thisoptionshowstheadapter’s
IDnumber,ifnameandMACaddress.
Note:thisoptionmaynotbeusedinconjunctionwithanyother
option.Ifthisoptionisusedwithconfigurationparameters,those
parameterswillbesilentlyignored.
/Adapter<Identifier> PerformstheactionontheidentifiedSolarflarenetworkadapter.The
adapteridentifiercanbetheadapterIDnumber,ifnameorMAC
address,asoutputbythe/Listoption.If/Adapterisnotincluded,
theactionwillapplytoallinstalledSolarflareadapters.
/Clear Resetsalloptionstotheirdefaultvalues.Ifanadapterisspecified,
optionsforthegivenadapterarereset,butglobaloptions(shownin
Table46)arenotreset.Notethat/Clearcanalsobeusedwith
parameters,allowingyoutoresettodefaultvalues,andthenapplythe
parametersspecified.
/repair Restoreconfigurationsettingstofirmwaredefaults.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 192
ThefollowingglobalparametersinTable46areusedtocontroltheconfigurable
parametersfortheBootROMdriverwhenrunningpriortotheoperatingsystem
booting.
Table46:SfbootGlobalParameters
Parameter Description
boot‐image=
all|optionrom|uefi|disabled
Specifieswhichbootfirmwareimagesareserved‐uptothe
BIOSduringstart‐up.Thisparametercannotbeusedifthe
‐‐adapteroptionhasbeenspecified.Thisisaglobal
optionandappliestoallportsontheNIC.
port‐mode=
default|1x10G|2x10G|4x10G|
2x40G
Configuretheportmodetouse.ThisisforSFN7000and
SFN8000seriesadaptersonly.Thevaluesspecifythe
connectorsavailableafterusinganysplittercables.The
usablevaluesareadapter‐dependent:
• SFN8722:2x10G
• SFN8x42:4x10G,2x40G(default)
• SFN8522[M]:2x10G(default)
• SFN7xx4F:2x10G,4x10G(default)
•SFN7xx2Q:2x10G,4x10G,2x40G(default)
• SFN7xx2F:1x10G,2x10G(default)
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.MACaddressassignmentsmaychange
afteralteringthissetting.
firmware‐variant=
full‐feature|ultra‐low‐latency|
capture‐packed‐stream|auto
Configurethefirmwarevarianttouse.ThisisforSFN7000
andSFN8000seriesadaptersonly:
•theSFN7002Fadapterisfactorysettofull‐feature
•allotheradaptersarefactorysettoauto.
Defaultvalue=auto‐meansthedriverwillselectavariant
thatmeetsitsneeds:
•theVMwaredriveralwaysusesfull‐feature
•otherwise,ultra‐low‐latencyisused.
Theultra‐low‐latencyvariantproducesbestlatencywithout
supportforTXVLANinsertionorRXVLANstripping(not
currentlyusedfeatures).

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 193
insecure‐filters=
enabled|disabled
Ifenabledbypassfiltersecurityonnon‐privileged
functions.ThisisforSFN7000andSFN8000seriesadapters
only.Thisreducessecurityinvirtualizedenvironments.The
defaultisdisabled.Whenenabledafunction(PForVF)can
insertfiltersnotqualifiedbytheirownpermanentMAC
address.Thisisarequirementwhenusingbonded
interfaces.
mac‐
spoofing=default|enabled|disabled
Ifenabled,non‐privilegedfunctionscancreateunicast
filtersforMACaddressesthatarenotassociatedwiththem.
ThisisforSFN7000andSFN8000seriesadaptersonly.
Thedefaultisdisabled.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.
rx‐dc‐size=8|16|32|64 Specifiesthesizeofthedescriptorcacheforeachreceive
queue.ThisisforSFN7000andSFN8000seriesadapters
only.Thedefaultis:
•16iftheport‐modesupportsthemaximumnumberof
connectorsfortheadapter
•32iftheport‐modesupportsareducednumberof
connectors.
tx‐dc‐size=8|16|32|64 Specifiesthesizeofthedescriptorcacheforeachtransmit
queue.ThisisforSFN7000andSFN8000seriesadapters
only.Thedefaultis:
•32iftheport‐modesupportsthemaximumnumberof
connectorsfortheadapter
•64iftheport‐modesupportsareducednumberof
connectors.
change‐mac=
default|enabled|disabled
ThisisforSFN7000andSFN8000seriesadapteronly.
ChangetheunicastMACaddressforon‐privileged
functionsonthisport.Thisisaglobaloptionandappliesto
allportsontheNIC.
vi‐count=<vicount> Setsthetotalnumberofvirtualinterfacesthatwillbe
availableontheNIC.
event‐merge‐timeout=
<timeoutinnanoseconds>
SpecifiesthetimeoutinnanosecondsforRXeventmerging.
Atimeoutof0meansthateventmergingisdisabled.
Table46:SfbootGlobalParameters
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 194
Thefollowingper‐adapterparametersinTable47areusedtocontrolthe
configurableparametersfortheBootROMdriverwhenrunningpriortothe
operatingsystembooting.
Table47:SfbootPer‐adapterParameters
Parameter Description
link‐speed=auto|10g|1g|100m Specifiesthenetworklinkspeedoftheadapterusedbythe
BootROM.Thedefaultisauto.Onthe10GBASE‐Tadapters,
autoinstructstheadaptertonegotiatethehighestspeed
supportedincommonwithitslinkpartner.OnSFP+
adapters,autoinstructstheadaptertousethehighestlink
speedsupportedbytheinsertedSFP+module.On
10GBASE‐TandSFP+adapters,anyothervaluespecified
willfixthelinkatthatspeed,regardlessofthecapabilities
ofthelinkpartner,whichmayresultinaninabilityto
establishthelink.
autoAuto‐negotiatelinkspeed(default)
10G10Gbit/sec
1G1Gbit/sec
100M100Mbit/sec
linkup‐delay=
<delaytimeinseconds>
Specifiesthedelay(inseconds)theadapterdefersitsfirst
connectionattemptafterbooting,allowingtimeforthe
networktocomeupfollowingapowerfailureorother
restart.Thiscanbeusedtowaitforspanningtreeprotocol
onaconnectedswitchtounblocktheswitchportafterthe
physicalnetworklinkisestablished.Thedefaultis5
seconds.
banner‐delay=
<delaytimeinseconds>
SpecifiesthewaitperiodforCtrl‐Btobepressedtoenter
adapterconfigurationtool.
<delaytimeinseconds>=0‐256
bootskip‐delay=
<delaytimeinseconds>
SpecifiesthetimeallowedforEsctobepressedtoskip
adapterbooting.
<delaytimeinseconds>=0‐256
boot‐type=pxe|disabled Setstheadapterboottype–effectiveonnextboot.
pxe–PXE(PrebooteXecutionEnvironment)booting
disabled–Disableadapterbooting

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 195
pf‐count=<pfcount> ThisisthenumberofavailablePCIePFsperphysical
networkport.Thissettingisappliedtoallportsonthe
adapter.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.MACaddressassignmentsmaychange
afteralteringthissetting.
msix‐limit=
8|16|32|64|128|256|512|1024
SpecifiesthemaximumnumberofMSI‐Xinterruptsthat
eachPFwilluse.Thedefaultis32.
Note:Usingtheincorrectsettingcanimpactthe
performanceoftheadapter.ContactSolarflaretechnical
supportbeforechangingthissetting.
sriov=enabled|disabled EnableSR‐IOVsupportforoperatingsystemsthatsupport
this.NotrequiredonSFN7000orSFN8000seriesadapters.
vf‐count=<vfcount> Thenumberofvirtualfunctions(VF)advertisedtothe
operatingsystemforeachPhysicalFunctiononthisphysical
networkport.SFN7000andSFN8000seriesadaptershavea
totallimitof2048interrupts.Earlieradapterssupporta
totallimitof127virtualfunctionsperportandatotalof
1024interrupts.
Dependingonthevaluesofmsix‐limitandvf‐msix‐limit,
someofthesevirtualfunctionsmaynotbeconfigured.
Enablingall127VFsperportwithmorethanoneMSI‐X
interruptperVFmaynotbesupportedbythehostBIOS‐in
whichcaseyoumayget127VFsononeportandnoneon
others.ContactyourBIOSvendororreducetheVFcount.
Thesriovparameterisimpliedifvf‐countisgreaterthan
zero.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.
vf‐msix‐limit=
1|2|4|8|16|32|64|128|256
Themaximumnumberofinterruptsavirtualfunctionmay
use.
Table47:SfbootPer‐adapterParameters
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 196
Sfboot:Examples
•Showthecurrentbootconfigurationforalladapters:
sfboot
Sampleconsoleoutput:
SolarflarebootROMconfigurationutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
SolarflareSFN7122FSFP+ServerAdapter‐MAC:00:0F:53:21:9B:B1
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PFIOVDisabled
NumberofPhysicalFunctions2
MSI‐Xinterruptlimit32
NumberofVirtualFunctions0
VFMSI‐Xinterruptlimit8
pf‐vlans=<tag>[,<tag>[,...]]|none CommaseparatedlistofVLANtagsforeachPFintherange
0‐4094‐seesfboot‐‐helpfordetails.
Settingpf‐vlans=nonewillclearallVLANtagsontheport.
pf‐vlansshouldbeincludedafterthepf‐countoptiononthe
sfbootcommandline.
IfthenumberofPFsischanged,VLANtagswillbecleared.
switch‐mode=
default|sriov|partitioning|
partitioning‐with‐sriov|pfiov
Specifiesthemodeofoperationthattheportwillbeused
in:
default‐singlePFcreated,zeroVFscreated.
sriov‐SR‐IOVenabled,singlePFcreated,VFsconfigured
withvf‐count.
partitioning‐PFsconfiguredwithpf‐count,VFs
configuredwithvf‐count.SeeNICPartitioningonpage74
fordetails.
partitioning‐with‐sriov‐SR‐IOVenabled,PFs
configuredwithpf‐count,VFsconfiguredwithvf‐count.
SeeNICPartitioningonpage74fordetails.
pfiov‐PFIOVenabled,PFsconfiguredwithpf‐count,VFs
notsupported.
Changestothissettingwithsfbootrequireacoldrebootto
becomeeffective.
Table47:SfbootPer‐adapterParameters
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 197
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
SolarflareSFN7122FSFP+ServerAdapter#2‐MAC:00:0F:53:21:9B:B0
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PFIOVDisabled
NumberofPhysicalFunctions2
MSI‐Xinterruptlimit32
NumberofVirtualFunctions0
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
• ListallSolarflareadaptersinstalledonthelocalhost:
sfboot/List
Sampleconsoleoutput:
SolarflarebootROMconfigurationutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
Networkadaptersinthiscomputer:
1:SolarflareSFN7122FSFP+ServerAdapter
MACaddress:00:0F:53:21:9B:B1
2:SolarflareSFN7122FSFP+ServerAdapter#2
MACaddress:00:0F:53:21:9B:B0
• Listadaptersinstalledontheremotehostnamed“Mercutio”:
sfboot/ComputerMercutio/List
Sampleconsoleoutput(remotehosthastwoadapterspresent):
SolarflarebootROMconfigurationutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
NetworkadaptersinMercutio:
1:SolarflareSFN7122FSFP+ServerAdapter
MACaddress:00:0F:53:21:9B:B1
2:SolarflareSFN7122FSFP+ServerAdapter#2
MACaddress:00:0F:53:21:9B:B0

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 198
4.21Sfupdate:FirmwareUpdateTool
•Sfupdate:CommandUsageonpage198
•Sfupdate:CommandLineOptionsonpage198
•Sfupdate:Examplesonpage200
SfupdateisaWindowscommandlineutilityusedtomanageandupgradethe
SolarflareadapterBootROM,UEFI,PHYandadapterfirmware.Embeddedwithin
thesfupdateexecutablearefirmwareimagesforvariousSolarflareadapters‐the
exactupdatesavailableviasfupdatearethereforedependonyouradapter.
Sfupdate:CommandUsage
1Loginwithanadministratoraccount.
2ClickStart>AllPrograms>SolarflareNetworkAdapters>CommandLine
Interfacefornetworkadapters.IfyouinstalledtheSolarflaresystemtrayicon,
youcanright‐clicktheiconandchooseCommand‐linetoolsinstead.
3IntheCommandPromptwindow,enteryourcommandusingthefollowing
syntax:
sfupdate[/Adapter<Identifier>][options]
where:
‐ IdentifieristhenameorIDoftheadapterthatyouwanttomanage.
Specifyingtheadapterisoptional‐ifitisnotincludedthecommandis
appliedtoallSolarflareadaptersinthemachine.
‐ optionsistheoptiontoapply.SeeSfupdate:CommandLineOptionsfor
alistofavailableoptions.
Runningthecommandsfupdatewithnoadditionalparameterswillshowthe
currentfirmwareversionforallSolarflareadaptersandwhetherthefirmware
withinsfupdateismoreuptodate.ToupdatethefirmwareforallSolarflare
adaptersrunthecommandsfupdate/Write
Solarflarerecommendthatyouusesfupdateinthefollowingway:
1Runsfupdatetocheckthatthefirmwareonallyouradaptersareuptodate.
2Runsfupdate/writetoupdatethefirmwareonalladapters.
Sfupdate:CommandLineOptions
Table48liststhecommandoptionsforsfupdate.Notethatcommandlineoptions
arecaseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderyourabbreviatedscriptsinvalid.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 199
SeeSfupdate:Examplesonpage200forexampleoutput.
Table48:SfupdateOptions
Option Description
/Helpor/Hor/? Displayscommandlinesyntaxandprovidesadescriptionofeach
option.
/Version Showsdetailedversioninformationandexits.
/Nologo Hidestheversionandcopyrightmessageatstartup.
/Verbose Showsextendedoutputinformationforthecommandentered.
/Quiet
Aliases:/Silent
Suppressesalloutput,includingwarningsanderrors;nouser
interaction.Youshouldquerythecompletioncodetodeterminethe
outcomeofcommandswhenoperatingsilently.
/Log<Filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specify/Silenttosuppresssimultaneousoutputtoscreen,if
required.
/Computer<ComputerName> Performstheoperationontheidentifiedremotecomputer.
Administratorrightsontheremotehostcomputerisrequired.
/Adapter<Identifier> PerformstheactionontheidentifiedSolarflarenetworkadapter.The
identifiercanbetheadapterIDnumber,nameorMACaddress.
/Force Forcesafirmwareupdate.Canbeusedtoforceanupdatetoanolder
revisionoffirmwarewhenusedwith/Write.
/Write Writestheupdatedfirmwaretotheadapter.
Ifthe/Imageoptionisnotspecified,/Writewillwritetheembedded
imagefromsfupdatetothehardware.
Theupdatewillfailiftheimageontheadapteriscurrentornewer;to
forceanupdate,specify/Forceinthecommandline.
/Yes Updatewithoutpromptingforafinalconfirmation.Thisoptionmaybe
usedwiththe/Writeand/Forceoptions,butisnotrequiredwiththe
/Quietoption.
/Image<ImageFileName> Sourcesfirmwareimagefromanexternalfile.
/ipxe‐image
<ImageFileName>
InstallaniPXEimagefromthegivenfile,replacingtheSolarflareboot
ROMimage.sfupdatewillnotautomaticallyreplacetheiPXEimagein
subsequentflashupdatesunlessthe‐‐restore‐bootromoptionisused.
/restore‐bootrom ReplaceaniPXEimageinflashwiththestandardSolarflareBoot
ManagerPXEimageincludedinsfupdate.
/NoWarning Suppressupdatewarnings.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 200
Sfupdate:Examples
•Displayfirmwareversionsforalladapters:
sfupdate
SampleoutputfromahostwithasingleSFN7122Fadapterinstalled:
Solarflarefirmwareupdateutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
1:SolarflareSFN7122FSFP+ServerAdapter
MACaddress:00:0F:53:21:9B:B1
Firmware:v4.1.0‐updatetov4.1.4?
BootROM:v4.1.0.6723‐updatetov4.2.0.1000?
Adapter:v4.1.0.6732‐updatetov4.1.1.1020?
2:SolarflareSFN7122FSFP+ServerAdapter#2
MACaddress:00:0F:53:21:9B:B0
Firmware:v4.1.0‐updatetov4.1.4?
BootROM:v4.1.0.6723‐updatetov4.2.0.1000?
Adapter:v4.1.0.6732‐updatetov4.1.1.1020?
• UpdatealladapterstolatestversionofPHYandBootROMfirmware:
sfupdate/Write
Sampleoutput:
Solarflarefirmwareupdateutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
1:SolarflareSFN7122FSFP+ServerAdapter
MACaddress:00:0F:53:21:9B:B1
Firmware:v4.1.0‐updatetov4.1.4
BootROM:v4.1.0.6723‐updatetov4.2.0.1000
Adapter:v4.1.0.6732‐updatetov4.1.1.1020
2:SolarflareSFN7122FSFP+ServerAdapter#2
MACaddress:00:0F:53:21:9B:B0
Firmware:v4.1.0‐updatetov4.1.4
BootROM:v4.1.0.6723‐updatetov4.2.0.1000
Adapter:v4.1.0.6732‐updatetov4.1.1.1020
4.22Sfteam:AdapterTeamingandVLANTool
•Sfteam:CommandUsageonpage201
•Sfteam:CommandLineOptionsonpage201
•Sfteam:Examplesonpage205
SfteamisaWindowscommandlineutilityusedtoconfigureandmanagethe
teamingandVLANfeaturesoftheSolarflareadapters.Youmayfinditeasierto
createandmanageteamsandVLANswithSAM,Solarflare’sgraphicaladapter
manager.Asanalternative,orwhereSAMisnotavailable,sfteamprovidesa
methodofcreatingteamsandVLANsfromthecommandlineorconfiguration
script.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 201
ForgeneralinformationonteamingandVLANs,seeTeamingandVLANson
page216.
Sfteam:CommandUsage
1Loginwithanadministratoraccount.
2ClickStart>AllPrograms>SolarflareNetworkAdapters>CommandLine
Interfacefornetworkadapters.IfyouinstalledtheSolarflaresystemtrayicon,
youcanright‐clicktheiconandchooseCommand‐linetoolsinstead.
3IntheCommandPromptwindow,enteryourcommandusingthefollowing
syntax:
sfteam[option]
where:
‐ optionisthecommandtoapply.SeeTable49foralistofavailable
options.
Ifusingsfteaminaconfigurationscript,youcanincludetheenvironment
variable%SFTOOLS%tosetthepathtotheSolarflaretools.Forexample:
SETPATH=%PATH%;%SFTOOLS%
orrefertosfteamas:
%SFTOOLS%\sfteam
Sfteam:CommandLineOptions
Table49liststhecommandlineoptionssfteam.Notethatcommandlineoptions
arecaseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderyourabbreviatedscriptsinvalid.
Table49:SfteamOptions
Option Description
/Helpor/?or/H Displayscommandlinesyntaxandprovidesadescriptionof
eachsfteamoption.
/Version Showsdetailedversioninformationandexits.
/Nologo Hidestheversionandcopyrightmessageatstartup.
/Verbose Showsextendedoutputinformationforthecommand
entered.
/Quiet
Aliases:/Silent
Suppressesalloutput,includingwarningsanderrors;no
userinteraction.Youshouldquerythecompletioncodeto
determinetheoutcomeofcommandswhenoperating
silently.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 202
/Log<Filename> Logsoutputtothespecifiedfileinthecurrentfolderoran
existingfolder.Specify/Silenttosuppresssimultaneous
outputtoscreen,ifrequired.
/Computer<ComputerName> Performstheoperationontheidentifiedremotecomputer.
Administratorrightsontheremotehostcomputeris
required.
/List ListsallavailableSolarflareadaptersandanyteamsand
VLANs.Thisoptionshowstheadapter’sIDnumber,name
andMACaddress.
/Create CreatesateamorVLAN.Tobevalid,thisoptionmustbe
usedwiththe/Adapteroptionforeachadapterthatyou
wanttoaddtotheteam.
Tospecifyanamefortheteam,includethe/Nameoption.
ToaddVLANstoateam,includethe/Vlanoption.
Notethatonceateamhasbeencreated,sfteamdoesnot
allowyoutochangeitsadapters,VLANsorteamname.
Eitherdeletetheteamandsetitupagain,oruseSAM
insteadtoconfiguretheteam.
/Configure<TeamIdentifier> Configurestheidentifiedteamorgroup.Theteamidentity
canbespecifiedastheteamnameorgroupID.
/Delete<TeamIdentifier> Deletestheidentifiedteamorgroup.Theteamidentitycan
bespecifiedastheteamnameorgroupID.Thisoption
cannotbeusedtodeleteVLANs.
/Clear DeletesallteamsandVLANS.
/Adapter<AdapterId> Specifiestheadaptertoaddtotheteam.Theadaptercan
bespecifiedastheadapternameorID.Repeatthisoption
foreachadapterthatyouwanttoincludeintheteam.
Thisoptionmustbeusedwhenateamisfirstcreated.It
cannotbeappliedtoateamonceithasbeensetup.
/Remove<AdapterId> Specifiestheadaptertoremovefromtheteam.The
adaptercanbespecifiedastheadapternameorID.Repeat
thisoptionforeachadapterthatyouwanttoremovefrom
theteam.
Table49:SfteamOptions
Option Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 203
/Vlan<VLANtag[,priority[,name
[,DHCP|addr,mask[,gateway]]]>
CreatesaVLANwiththespecifiedIDandsetsprioritytraffic
handlingoption.
P–Handlesprioritytraffic
N‐Doesnothandleprioritytraffic
Thisoptionmustbeusedwhenateamisfirstcreated.It
cannotbeappliedtoateamonceithasbeensetup.
IfyouspecifyanIPaddress,youmustspecifyanetmaskas
well.
IftheIPaddressisnotspecified,thenDHCPisassumed.You
canalsousetag,priority,name,DHCPtobeexplicit.
Formats:
•<tag>
e.g.2(assumesnopriority)
• "<tag>,<priority>"
e.g."2,p"
• "<tag>,<priority>,<name>"
e.g."2,p,myname"
• "<tag>,<priority>,<name>,DHCP"
e.g."2,p,myname,DHCP"
• "<tag>,<priority>,<name>,<addr>,<mask>"
e.g."2,p,myname,10.1.2.3,255.255.255.0"
• "<tag>,<priority>,<name>,<addr>,<mask>,<gateway>"
e.g."2,p,myname,10.1.2.3,255.255.255.0,10.1.2.1"
where:
•Tag:0to4094
•Priority:eitherP(prioritysupported)orN(nopriority)
•DHCP:maybeomitted,andwillbeassumed,ifit'sthe
lastfield
•IPAddresses:IPv4,dotted‐quadformat
Notethat<mask>mustbepresentif<addr>ispresent
/Name<TeamName> Specifiesanamefortheadapterteam.
Thisoptionmustbeusedwhenateamisfirstcreated.It
cannotbeappliedtoateamonceithasbeensetup.
Table49:SfteamOptions
Option Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 204
/Type<TeamType> Defineswhatkindofteamisbeingcreated.Theoptionsare:
•tolerant(default)
•dynamic
• static
SeeTeamingandVLANsonpage216foranexplanationon
thedifferentteamingtypes.
/Mode<Mode> Specifieshowthedriverwillselectadapterstobepartof
thelinkaggregation.Theoptionisonlyrelevantwhenthe/
Typeoptioniseitherdynamicorstatic.Theoptionsare:
•auto(default)
• faulttolerant
•bandwidth
•keyadapter
SeeTeamingandVLANsonpage216foranexplanationof
thedifferentteamingmodes.
/Distribution<DistributionMode> Specifyhowthedriverdistributesconversationsacross
dynamicorstaticlinkaggregationteammembers.The
availablemodesare:
•auto(default)
•activeadapter
•layer2hash
•layer3hash
•layer4hash
/Statistics Displayadapterandlink‐aggregationstatistics
/Detailed Displaydetailedconfigurationstatistics
/Key<AdapterId> Specifiesthekeyadapter.Theadaptercanbespecifiedas
theadapternameorID.
Table49:SfteamOptions
Option Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 205
Sfteam:Examples
•CreateTeamAwithadapterID1andadapterID2:
sfteam/Create/Adapter1/Adapter2/NameTeam_A
Sampleoutput:
Solarflareteamingconfigurationutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014Level5Networks2002‐2005
Creatingteamdone(newid=2F)
Settingteamname"Team_A"...done
Addingadapter1...done
Addingadapter2...done
Creatingnetworkinterface
‐UsingDHCP
‐WaitingforthenewVLANdevice..
‐WaitingforthenewLANinterface
‐WaitingforaccesstotheIPstack
‐UsingDHCPdone
•CreateaVLANtoadapter#2withVLANtag4andprioritytraffichandling
enabled:
sfteam/Create/Adapter2/Vlan4,P
Sampleoutput:
Solarflareteamingconfigurationutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014Level5Networks2002‐2005
CreatingVLANgroupdone(newid=4V)
SettingVLANgroupname(usingdefaultname"Group4V")...done
Addingadapter2...done
CreatingVLAN
‐id=4,priority,unnamed
‐UsingDHCP
‐WaitingforthenewVLANdevice..
‐WaitingforthenewLANinterface
‐WaitingforaccesstotheIPstack
‐UsingDHCPdone
4.23Sfcable:CableDiagnosticsTool
•Sfcable:CommandUsageonpage206
•Sfcable:CommandLineOptionsonpage206
•Sfcable:SampleCommandsonpage207
SfcableisaWindowscommandlineutilitytoruncablediagnosticsontheSolarflare
10GBASE‐Tserveradapters.Awarningwillbegiveniftheadapterisnota10GBASE‐
Tadapter.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 206
Sfcable:CommandUsage
1Loginwithanadministratoraccount.
2ClickStart>AllPrograms>SolarflareDrivers>CommandLineTools.Ifyou
installedtheSolarflaresystemtrayicon,youcanright‐clicktheiconandchoose
Command‐linetoolsinstead.
3IntheCommandPromptwindow,enterthefollowingcommand:
sfcable[/Adapter<Identifier>][options]
where:
‐ IdentifieristhenameorIDoftheadapterthatyouwanttomanage.
Specifyingtheadapterisoptional‐ifitisnotincludedthecommandis
appliedtoallSolarflareadaptersinthemachine.
‐ optionistheoptionyoutoapply.SeeTable50foralistofavailable
options.
Sfcable:CommandLineOptions
Table50liststhecommandoptionsforsfcable.Notethatcommandlineoptionsare
caseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderyourabbreviatedscriptsinvalid.
Table50:SfcableOptions
Options Description
/Helpor/?or/H Displayscommandlinesyntaxandprovidesadescriptionofeach
sfcableoption.
/Version Showsdetailedversioninformationandexits.
/Nologo Hidestheversionandcopyrightmessageatstartup.
/Verbose Showsextendedoutputinformationforthecommandentered.
/Quiet
Aliases:/Silent
Suppressesalloutput,includingwarningsanderrors.Usershould
querythecompletioncodetodeterminetheoutcomeofcommands
whenoperatingsilently(see,PerformanceTuningonWindowson
page228).
/Log<Filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specify/Silenttosuppresssimultaneousoutputtoscreen,if
required.
/Computer<ComputerName> Performstheoperationontheidentifiedremotecomputer.
Administratorrightsontheremotehostcomputerisrequired.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 207
Sfcable:SampleCommands
•Runtestsoffline
sfcable/Offline
SampleoutputfromacomputerwithtwoSolarflareadaptersinstalled:
C:sfcable/Offline
Solarflarecablediagnosticsutility[v4.1.4]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
1:SolarflareSFN5121T10GBASE‐TServerAdapter
MACaddress:00:0F:53:01:40:8C
Linkstate:Up
Linkspeed:10Gbps
Pair1:OK,length=9m
Pair2:OK,length=9m
Pair3:OK,length=9m
Pair4:OK,length=9m
2:SolarflareSFN5121T10GBASE‐TServerAdapter#2
MACaddress:00:0F:53:01:40:8D
Linkstate:Up
Linkspeed:10Gbps
Pair1:OK,length=9m
Pair2:OK,length=9m
Pair3:OK,length=9m
Pair4:OK,length=9m
/Adapter<Identifier> PerformstheactionontheidentifiedSolarflarenetworkadapter.The
identifiercanbetheadapterIDnumber,nameorMACaddress,as
givenbythe/Listoption.
/List ListsallavailableSolarflareadapters.Thisoptionsshowstheadapter’s
IDnumber,nameandMACaddress.
/Offline Stopsnetworktrafficwhilethediagnostictestsarerunning.Running
testsofflinewillproducemoredetailedresults.
Caution:Theofflinetestswilldisruptdataflow.Itisnotrecommended
thatthetestsarerunonalivesystem.
Table50:SfcableOptions
Options Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 208
4.24Sfkey:LicenseManagementTool
•Sfkey:CommandUsageonpage208
•Sfkey:CommandLineOptionsonpage208
•Sfkey:SampleCommandsonpage210
SfkeyisaWindowscommandlineutilityformanagingSolarflareAppFlex™licenses
andenablingselectedon‐boardservicesforSolarflareadapters.Formore
informationaboutlicenserequirementsseeSolarflareAppFlex™Technology
Licensing.onpage18.
Sfkey:CommandUsage
1Loginwithanadministratoraccount.
2ClickStart>AllPrograms>SolarflareDrivers>CommandLineTools.Ifyou
installedtheSolarflaresystemtrayicon,youcanright‐clicktheiconandchoose
Command‐linetoolsinstead.
3IntheCommandPromptwindow,enterthefollowingcommand:
sfkey[/Adapter<Identifier>][options]
where:
‐ IdentifieristhenameorIDoftheadapterthatyouwanttomanage.
Specifyingtheadapterisoptional‐ifitisnotincludedthecommandis
appliedtoallSolarflareadaptersinthemachine.
‐ optionistheoptionyoutoapply.SeeTable50foralistofavailable
options.
Sfkey:CommandLineOptions
Table50liststhecommandoptionsforsfkey.Notethatcommandlineoptionsare
caseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderyourabbreviatedscriptsinvalid.
Table51:SfkeyOptions
Options Description
/Helpor/?or/H Displayscommandlinesyntaxandprovidesadescriptionofeachsfkey
option.
/Version Showsdetailedversioninformationandexits.
/Nologo Hidestheversionandcopyrightmessageatstartup.
/Verbose Showsextendedoutputinformationforthecommandentered.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 209
/Quiet
Aliases:/Silent
Suppressesalloutput,includingwarningsanderrors.Usershould
querythecompletioncodetodeterminetheoutcomeofcommands
whenoperatingsilently(see,PerformanceTuningonWindowson
page228).
/Log<Filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specify/Silenttosuppresssimultaneousoutputtoscreen,if
required.
/Computer<ComputerName> Performstheoperationontheidentifiedremotecomputer.
Administratorrightsontheremotehostcomputerisrequired.
/Adapter<Identifier> PerformstheactionontheidentifiedSolarflarenetworkadapter.The
identifiercanbetheadapterIDnumber,nameorMACaddress,as
givenbythe/Listoption.
/List ListsallavailableSolarflareadapters.Thisoptionsshowstheadapter’s
IDnumber,nameandMACaddress.
/Backup<Filename>|‐Outputareportoftheinstalledkeysinalladapters.Thereportcanbe
savedtofileandlaterusedwiththe/Installoption,orcanbeoutput
tostdoutbyusing“‐”asthefilename.
/Install<Filename>|‐Installlicensekeysfromthegivenfileandreporttheresult.Toread
fromstdinuse“‐”inplaceoffilename.Keysareinstalledtoanadapter,
soifanadapterhasmultipleports,allportswillbeaffectedbythekeys
installed.
Adriverreloadisrequiredaftersfkeyinstallscertaintypesoflicense
(e.g.aPTPlicense).
/Inventory Listtheadaptersthatsupportlicensing.Bydefaultthiswilllistadapters
thatsupportlicenses.Tolistalladaptersusethe‐‐alloption.Tolist
keysusethe‐‐keysoption.
/Keys Includekeyin/Inventoryoutput‐seeabove.
/NoEvaluationUpdate Donotupdateanyevaluationkeys.
/Clear Deleteallexistinglicensekeysfromanadapter‐exceptfactory
installedkeys.
/Report Reportthecurrentstatus.
/Xml ReportformattedasXML.
/NoWrite Donotwritechangestotheadapter.Aliases/N,/DryRun
Table51:SfkeyOptions
Options Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 210
Sfkey:SampleCommands
•Reportasummaryoftheinstalledlicensekeys:
‐ Use/Verbosetogetmoredetailedinformationaboutthelicenses
granted.
‐ Use/Xmlforastructuredoutputforsuitableformachineprocessing.
sfkey/Report
SolarflareKeyManagementApplication[v4.8.2]
CopyrightSolarflareCommunications2006‐2016,Level5Networks2002‐2005
42,43:000F53430560(8xxx)
ProductnameSolarflareFlareonUltra8000Series10GAdapter
InstalledkeysPlus
•Getaninventoryreportthatsummarizesthelicensestateonasingleline.
sfkey/Inventory/Keys
SolarflareKeyManagementApplication[v4.8.2]
CopyrightSolarflareCommunications2006‐2016,Level5Networks2002‐2005
42,43:000F53430560(8xxx),$Onload,$PrecisionTime,$TCPDirect,$LowLatency,
$SolarCaptureTap,$Plus
•Installkeysfromafile,orspecify‐(asinglehyphen)toindicatethatthekeys
aretobereadfromstdin.
sfkey/Installkeys.txt
SolarflareKeyManagementApplication[v4.8.2]
CopyrightSolarflareCommunications2006‐2016,Level5Networks2002‐2005
Readingkeys...
Writingkeys...
100%Complete
42,43:000F53430560(8xxx)
ProductnameSolarflareFlareonUltra8000Series10GAdapter
InstalledkeysSolarCapturePro10G,Plus
•Backupkeystoafile,orspecify‐(asinglehyphen)toindicatethatthekeysare
tobeprintedtostdout.
sfkey/Backupkeys.txt
•Clearandremoveallkeysexceptforfactory‐fittedkeys.
sfkey/Clear

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 211
4.25Sfnet
•Sfnet:CommandUsageonpage211
•Sfnet:CommandLineOptionsonpage211
•Completioncodes(%errorlevel%)onpage215
SfnetisaWindowscommandlineutilitytoconfigurethephysicalorvirtualadapter
settings,suchaschecksumoffloading,RSS,VMQandPowerManagement.
NOTE:Changingthesesettingsmaysignificantlyaltertheperformanceofthe
adapter.YoushouldcontactSolarflaretechnicalsupportbeforechanginganyof
thesesettings.
Sfnet:CommandUsage
1Loginwithanadministratoraccount.
2ClickStart>AllPrograms>SolarflareNetworkAdapter>CommandLine
Interfacefornetworkadapters.IfyouinstalledtheSolarflaresystemtrayicon,
youcanright‐clicktheiconandchooseCommand‐linetoolsinstead.
3IntheCommandPromptwindow,enteryourcommandusingthefollowing
syntax:
sfnet[/AdapterIdentifier][options]
where:
‐ IdentifieristhenameorIDoftheadapterthatyouwanttomanage.
Specifyingtheadapterisoptional‐ifitisnotincludedthecommandis
appliedtoallSolarflareadaptersinthemachine.
‐ optionistheoptiontoapply.SeeSfnet:CommandLineOptionsforalist
ofavailableoptions.
Toseealladaptersinstalledonthecomputerandtheircurrentoptionsand
parametersettingsusethesfnet/Listoption.
Ifusingsfnetinaconfigurationscript,youcanincludetheenvironmentvariable
%SFTOOLS%tosetthepathtotheSolarflaretools.Forexample:
SETPATH=%PATH%;%SFNET%
orrefertosfnetas:
%SFTOOLS%\sfnet
Sfnet:CommandLineOptions
Table52liststhecommandoptionsforsfnet.Notethatcommandlineoptionsare
caseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderyourabbreviatedscriptsinvalid.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 212
Table52:SfnetOptions
Options Description
/Helpor/?or/H Displayscommandlinesyntaxandprovidesadescriptionofeachsfnet
option.
/Version Showsdetailedversioninformationandexits.
/Nologo Hidestheversionandcopyrightmessageatstartup.
/Verbose Showsextendedoutputinformationforthecommandentered.
/Quiet
Aliases:/Silent
Suppressesalloutput,includingwarningsanderrors;nouser
interaction.Youshouldquerythecompletioncodetodeterminethe
outcomeofcommandswhenoperatingsilently.
/Log<Filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specifysilenttosuppresssimultaneousoutputtoscreen,if
required.
/Computer<ComputerName> Performstheoperationontheidentifiedremotehost.Administrator
rightsontheremotehostcomputerisrequired.
/Adapter<Identifier> PerformtheactionontheidentifiedSolarflarephysicalorvirtual
networkadapter.
/List ListsallavailableSolarflareadapters,optionsandcurrentparameter
settings.
/Id Listoutputislimitedtooneline,containingtheIdandname,per
adapter.
/StopOnWarning Exittheutilityifawarningisoutput.
/Statistics DisplayadapterstatisticsandconfigurationsettingsforSolarflare
interfaces.
Table53:SupportedKeyValueParameter
Parameter Description
ipoffload=enabled|disabled SpecifywhetherIPv4checksumoffloadisenabled.
tcpoffload=enabled|disabled SpecifywhetherTCPchecksumoffloadisenabled.
ConfiguresTCPv4andTCPv6whereapplicable.
udpoffload=enabled|disabled SpecifywhetherUDPchecksumoffloadisenabled.
ConfiguresUDPv4andUDPv6whereapplicable.
lso=enabled|disabled Specifywhetherlargesendoffload(LSO)isenabled.
ConfiguresLSOv4andLSOv6whereapplicable.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 213
lro=enabled|disabled Specifywhetherlargereceiveoffload(LRO)isenabled.
ConfiguresRSCv4andRSCv6,orLROv4andLROv6,where
applicable.
Supportforthisoptionisdependentontheversionof
Windowsoperatingsystemandnetworkingstack.
ImplementsWindowsReceiveSegmentCoalescing(RSC)if
applicable.
flowcontrol=auto|enabled|
generate|respond|disabled
SpecifyEthernetflowcontrol.Thisoptioncoversthe“Flow
Control”and“FlowControlAutonegotiation”devicedriver
advancedproperties.
speed=auto|40g|10g|1g|100m SpecifytheEthernetlinkspeed.
mtu=<MTUlength> SpecifythemaximumEthernetframelength.From1518to
9216bytes(evenvaluesonly).
rss=disabled|optimized|system|
closest|closeststatic|
numa|numastatic|conservative
Specifythereceivesidescaling(RSS)mode.
rssbaseprocessor=<group>:<number> ThebaseprocessoravailableforRSS.Ifavalueisgivenit
mustformatedas<group>:<number>wheregroupisinthe
range0‐9andnumberintherange0to63.
rssmaxprocessor=<group>:<number> ThemaximumnumberofprocessorsavailableforRSS.Ifa
valueisgivenitmustformatedas<group>:<number>
wheregroupisintherange0‐9andnumberintherange0
to63.
maxrssprocessors=<count> ThemaximumnumberofprocessorsavailableforRSS.If
countisspecifieditmustbeintherange1‐256.Supportfor
thisoptionisindependentoftheversionoftheoperating
systemandnetworkingstack.
rssqueuecount=balanced|<value> Specifythemaximumnumberofreceivequeuestousefor
RSS.Ifsettobalancedthenetworkadapterwillchoosethe
numberofqueuesbasedonthesystemprocessortopology.
Ifspecified,countmustbeoneof
1|2|4|8|12|16|24|32|48|64.
Supportforthisoptionisindependentoftheversionofthe
operatingsystemandnetworkingstack.
numanode=all|<value> ThepreferredNUMAnodeusedbyRSS.Ifavalueisgiven,
itmustbeintherange0‐15.Supportforthisoptionis
independentoftheversionoftheoperatingsystemand
networkingstack.
Table53:SupportedKeyValueParameter
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 214
moderation=disabled|<value> Specifyinterruptmoderationtime(inmicro‐seconds).Ifa
valueisgivenitmustbeintherange1to1000.NOTE:this
optioncoversthedevicedriveradvancedproperties
“interruptmoderationtime”and“interruptmoderation”.
adaptive=enabled|disabled Allowstheadaptertovaryinterruptmoderation
automaticallyifinterruptmoderationisenabled.
wake=enabled|disabled SpecifywhetherWake‐on‐LANisenabled.
sleep=enabled|disabled Specifywhethertheoperatingsystemcanputthedeviceto
sleepwhenthephysicallinkgoesdown.
vmq=enabled|nosplit|novlan|basic|
disabled
enabled=VMQenabled.
nosplit=VMQenabledwithoutlookaheadsplit.
novlan=VMQenabledwithoutVLANfiltering.
basic=VMQenabledMACaddressfilteringonly.
disabled=VMQdisabled.
Table53:SupportedKeyValueParameter
Parameter Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 215
4.26Completioncodes(%errorlevel%)
Table54liststhecompletioncodesreturnedbythecommandlineutilities.Thecode
maybedeterminedbyinspecting%errorlevel%
Table54:CompletionCodes
Errorcode Description
0Success.
1Theapplicationwasinvokedwith/?or/help.
3Theapplicationwasinvokedwith/version.
16 Applicationcanceled(userprobablypressedCTRL‐C).
17 Applicationhasrequestedareboot.
18 Rebootisnecessarytocompletetheaction.
19 Incompleteteamcreation.
Teamhasbeencreatedandwhateveradaptersthatcouldbeadded
havebeen,andtheVLANs(ifany)havebeencreated.Some
adapterswerenotabletobeadded.
32 Applicationfailedinitialization.
33 Accessdenied.
Eithertheremotehostrefusedaconnectiononthebasisofaccount
privileges,orafilecouldnotbeopened.
34 Cannotconnect.
Theremotehostcouldnotbefoundorrefusedtheconnection
becausetheWMIservicewasinaccessible(eitherbecausethe
serviceisnotrunningorbecausethereisafirewallorsecurity
policypreventingitbeingaccessedremotely).
35 WMIclassesexposedbytheSolarflaredriversmissing.
Usuallythismeansthateitherthedriverhavenotbeeninstalled,no
Solarflareadaptersarepresent,oradaptershavebeendisabled.
36 Failedtoobtaindriverlock.
TheapplicationhastriedtotaketheSolarflaredriverlockbecause
itwantstodosomethingthatmustnotbeinterruptedbyanother
utility(orSAM)andfailedtodoso.
37 Adapternotfound.
Cannotfindtheadapterspecifiedby/adapter.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 216
4.27TeamingandVLANs
AboutTeaming
Solarflareadapterssupportthefollowingteamingconfigurations:
•IEEE802.1AX(802.3ad)Dynamiclinkaggregation
•Staticlinkaggregation
•Faulttolerantteams
TeamingallowstheusertoconfigureteamsconsistingofallSolarflareadapterports
onallinstalledSolarflareadaptersormightconsistonlyofselectedportse.g.from
adualportSolarflareadapter,thefirstportcouldbeamemberofteamAandthe
secondportamemberofteamBorbothportsmembersofthesameteam.
ThissectionisonlyrelevanttoteamsofSolarflareadapters.Solarflareadapterscan
beusedinmulti‐vendorteamswhenteamedusinganothervendor’steamingdriver.
NOTE:WindowsServer2012hasnativeWindowsteamingsupport.Theusercan
electtousenativeWindowsdriveroftheSolarflareteaming,butthetwomethods
shouldnotbemixed.
38 Adapternotspecified.
Commandlineismissingthe/adapteroption.
39 Laterversionalreadyinstalled.
128 Userenteredaninvalidcommandline.
129 Couldnotopenlogfile.
130 AgeneralWMIerroroccurred.
Canoccurwhentheconnectionislost.
131 Missingprerequisite.
Theapplicationneedssomethingthatisnotpresentinthesystem.
132 Notsupported.
133 Platform/Systemnotsupported.
255 Generalexitfailure.
Table54:CompletionCodes
Errorcode Description

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 217
CreatingTeamsandVLANs
TosetupteamsandVLANsinWindowsusingSAM,seeUsingSAMtoConfigure
TeamsandVLANsonpage168.
TosetupteamsandVLANsinWindowsusingthesfteamcommandlinetool,see
Sfteam:AdapterTeamingandVLANToolonpage200.
LinkAggregation
Linkaggregationisamechanismforsupportingloadbalancingandfaulttolerance
acrossateamofnetworkadaptersandtheirassociatedswitch.Linkaggregationis
apartnerteamingmodethatrequiresconfigurationatbothendsofthelink.Once
configured,alllinksintheteamarebondedintoasinglevirtuallinkwithasingle
MACaddress.
Twoormorephysicallinksareusedtoincreasethepotentialthroughputavailable
betweenthelinkpartners,andalsoimproveresilienceagainstlinkfailures.Tobe
aggregated,alllinksintheteammustbebetweenthesametwolinkpartnerand
eachlinkmustbefull‐duplex.Trafficisdistributedevenlytoalllinksconnectedto
thesameswitch.Incaseoflinkfailover,trafficonthefailedlinkwillbere‐distributed
totheremaininglinks.
Linkaggregationoffersthefollowingfunctionality:
•Teamscanbebuiltfrommixedmedia(i.e.UTPandFiber).
•Allprotocolscanbeloadbalancedwithouttransmitorreceivemodificationsto
frames.
•Multicastandbroadcasttrafficcanbeloadbalanced.
•Shortrecoverytimeincaseoffailover.
• Solarflaresupportsupto64linkaggregationportgroupspersystem.
• Solarflaresupportsupto64portsandVLANsinalinkaggregationportgroup.
Therearetwomethodsoflinkaggregation,dynamicandstatic.
DynamicLinkAggregation
DynamiclinkaggregationusestheLinkAggregationControlProtocol(LACP)as
definedintheIEEE802.1AXstandard(previouslycalled802.3ad)tonegotiatethe
portsthatwillmakeuptheteam.LACPmustbeenabledatbothendsofthelinkfor
ateamtobeoperational.
LACPwillautomaticallydeterminewhichphysicallinkscanbeaggregated,andwill
thenperformtheaggregation.
AnoptionalLACPmarkerprotocolprovidesfunctionalitywhenaddingandremoving
physicallinksensuringthatnoframesarelost,reorderedorduplicated.
Dynamiclinkaggregationoffersbothfaulttoleranceandloadbalancing.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 218
Standbylinksaresupported,butarenotconsideredpartofalinkaggregationuntil
alinkwithintheaggregationfails.
VLANsaresupportedwithin802.1AXteams.
Intheeventoffailover,theloadonthefailedlinkisredistributedovertheremaining
links.
NOTE:Yourswitchmustsupport802.1AX(802.3ad)dynamiclinkaggregationtouse
thismethodofteaming.
Figure35showsa802.1AXTeamconfiguration.
Figure35:802.1AXTeam

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 219
Figure36showsa802.1AXteamwithafailedlink.Alltrafficisre‐routedandshared
betweentheotherteamlinks.
Figure36:802.1AXwithFailedLink
StaticLinkAggregation
Staticlinkaggregationisaswitchassistedteamingmodethatrequiresmanual
configuringoftheportsatbothendsofthelink.Staticlinkaggregationisprotocol
independentandtypicallyinter‐operateswithcommonlinkaggregationschemes
suchasIntelLinkAggregation,CiscoFastEtherChannelandCiscoGigabit
EtherChannel.
Withstaticlinkaggregation,alllinkssharethetrafficloadandstandbylinksarenot
supported.Staticlinkaggregationoffersbothfaulttoleranceandloadbalancing.In
theeventoffailover,theloadonthefailedlinkisredistributedovertheremaining
links.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 220
Figure37:StaticLinkAggregationTeam
Figure38:StaticLinkTeamwithFailedLink
Fault‐TolerantTeams
Faulttolerantteamingcanbeimplementedonanyswitch.Itcanalsobeusedwith
eachnetworklinkconnectedtoseparateswitches.
Afault‐tolerantteamisasetofoneormorenetworkadaptersboundtogetherby
theadapterdriver.Afault‐tolerantteamimprovesnetworkavailabilitybyproviding
standbyadapters.Atanyonemomentnomorethanoneoftheadapterswillbe
activewiththeremaindereitherinstandbyorinafaultstate.InFigure39,Adapter
1isactiveandalldatatoandfromtheswitchpassesthroughit.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 221
NOTE:Alladaptersinafault‐tolerantteammustbepartofthesamebroadcast
domain.
Figure39:FaultTolerantTeam
Failover
Theteamingdrivermonitorsthestateoftheactiveadapterand,intheeventthat
itsphysicallinkislost(down)orthatitfailsinservice,swapstooneofthestandby
adapters.InFigure40thepreviouslyactiveadapterhasenteredafailedstateand
willnotbeavailableinthestandbylistwhilethefailedstatepersists.
Figure40:Adapter1Failure

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 222
Notethat,inthisexample,Adapter3isnowactive.Theorderinwhichtheadapters
areusedisdeterminedbyanumberoffactors,includinguser‐definablerank.
VLANs
VLANsofferamethodofdividingonephysicalnetworkintomultiplebroadcast
domains.
Figure41:VLANsroutingthroughSolarflareadapter

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 223
VLANsandTeaming
VLANsaresupportedonallSolarflareadapterteamingconfigurations.
VLANswithFaultTolerantTeams
Figure42showsafaulttolerantteamwithtwoVLANs.
Figure42:FaultTolerantVLANs

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 224
FailoverworksinthesamewayregardlessofthenumberofVLANs,asshowin
Figure43.
Figure43:FailoverinFaultTolerantTeamVLAN
VLANswithDynamicorStaticLinkAggregationTeams
VLANsworkinthesamewaywitheitherDynamicorStaticLinkAggregationteaming
configurations.Figure44showshowVLANsworkwiththeseteams.
Figure44:VLANwithDynamicorStaticLinkTeam

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 225
Incaseoflinkfailure,alltrafficisdistributedovertheremaininglinks,asin
Figure45.
Figure45:VLANwithFailedDynamicorStaticTeamLink
KeyAdapter
Everyteammusthaveakeyadapter.Figure46showsAdapter1asboththeKeyand
theactiveadapter.inaFault‐TolerantTeam.
Figure46:KeyAdapterinFaultTolerantTeam

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 226
Thekeyadaptermustbeamemberofateam.However,itdoesnotneedtobethe
activeadapter.Itdoesn'tevenneedtobeinthelistofstandbyadaptersbutitmust
physicallybewithinitshost.TheKeyAdapterdefinestheteam'sRSSsupport(see
ReceiveSideScaling(RSS)onpage233)andprovidestheMACAddressthatwillbe
usedforalltrafficsentandreceivedbytheteam.
Whenalinkfailureoccursintheactiveadapter(forexamplethephysicallinkislost)
thedriverwillselectanotheradaptertobecomeactivebutitwillnotre‐assignthe
KeyAdapter.InFigure47,Adapter1hasfailedandtheteamisnowusingAdapter2
foralltraffic.
Figure47:FailoverKeyAdapter
NotethatalthoughtheKeyAdapter(Adapter1)hasalinkfailure,theintegrityofthe
teamisnotaffectedbythisfailure.

SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 227
DynamicandStaticLinkAggregationTeams
Theassignmentofkeyadaptersissupportedinbothdynamicandstaticlink
aggregatedteams,andworksinthesamewayforboth.
Anylinkfailureonthekeyadapterdoesnotaffecttheredistributionoftraffictothe
other