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
otherlinksintheteam.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 228
4.28PerformanceTuningonWindows
•Introductiononpage228
•TuningSettingsonpage229
•OtherConsiderationsonpage236
•Benchmarksonpage241
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.
Latencywillbeaffectedbythetypeofphysicalmediumused:10GBase‐T,twinaxial
(direct‐attach),fiberorKX4.Thisisbecausethephysicalmediainterfacechip(PHY)
usedontheadaptercanintroduceadditionallatency.Likewise,latencycanalsobe
affectedbythetypeofSFP/SFP+/QSFPmodulefitted.
ThissectionisdesignedforperformancetuningSolarflareadaptersonMicrosoft
Windows.Thisshouldbereadinconjunctionwiththereferencedesignboarderrata
documentsandthefollowingMicrosoftperformancetuningguides:
•PerformanceTuningGuidelinesforthecurrentversionofWindowsServer:
http://msdn.microsoft.com/en‐us/library/windows/hardware/dn529133
•PerformanceTuningGuidelinesforpreviousversionsofWindowsServer:
http://msdn.microsoft.com/en‐us/library/windows/hardware/dn529134.
Inaddition,youmayneedtoconsiderotherissuesinfluencingperformance,suchas
applicationsettings,servermotherboardchipset,CPUspeed,cachesize,RAMsize,
additionalsoftwareinstalledonthesystem,suchasafirewall,andthespecification
andconfigurationoftheLAN.Considerationofsuchissuesisnotwithinthescopeof
thisguide.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 229
TuningSettings
TuningsettingsfortheSolarflareadapterareavailablethroughtheSolarflare
AdapterManager(SAM)utility,orviatheAdvancedtabintheWindowsDevice
Manager(right‐clicktheadapterandselectProperties).SeeUsingSAMtoConfigure
AdapterFeaturesonpage160andConfiguringNetworkAdapterPropertiesin
Windowsonpage184formoredetails.
Table55liststheavailabletuningsettingsforSolarflareadaptersonWindows.
Table55:TuningSettings
Setting Supportedon
WindowsServer2008R2
Supportedon
WindowsServer2012/
WindowsServer2012R2
AdaptiveInterruptModeration Yes Yes
InterruptModeration Yes Yes
InterruptModerationTime Yes Yes
LargeReceiveOffload(IPv4) Yes No1
LargeReceiveOffload(IPv6) Yes No1
LargeSendOffloadV2(IPv4) Yes Yes
LargeSendOffloadV2(IPv6) Yes Yes
MaxFrameSize Yes Yes
OffloadIPv4Checksum Yes Yes
Portmode Yes Yes
PreferredNumaNode Yes Yes
ReceiveSegmentCoalescing(IPv4) No1Yes
ReceiveSegmentCoalescing(IPv6) No1Yes
ReceiveSideScaling Yes Yes
RSSInterruptBalancing Yes Yes
TCPChecksumOffload(IPv4) Yes Yes
TCPChecksumOffload(IPv6) Yes Yes
UDPChecksumOffload(IPv4) Yes Yes
UDPChecksumOffload(IPv6) Yes Yes
1. LargeReceiveOffloadhasbeensupersededbyReceiveSegmentCoalescing(RSC).MicrosoftintroducedRSCin
WindowsServer2012.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 230
Portmode
TheselectedportmodeforSFN7000andSFN8000seriesadaptersshould
correspondtothespeedandnumberofconnectorsinuse,afterusinganysplitter
cables.Ifarestrictedsetofconnectorsisconfigured,thedrivercanthentransfer
resourcesfromtheunusedconnectorstothoseconfigured,potentiallyimproving
performance.
MaxFrameSize
Thedefaultmaximumframesizeensuresthattheadapteriscompatiblewithlegacy
10/100MbpsEthernetendpoints.Howeverifalargermaximumframesizeisused,
adapterthroughputandCPUutilizationcanbeimproved.CPUutilizationis
improved,becauseittakesfewerpacketstosendandreceivethesameamountof
data.Solarflareadapterssupportmaximumframesizesupto9216bytes(thisdoes
notincludetheEthernetpreambleorframechecksequence).
NOTE:ThemaximumframesizesettingshouldincludetheEthernetframeheader.
TheSolarflaredriverssupport802.1p.ThisallowsSolarflareadaptersonWindows
tooptionallytransmitpacketswith802.1QtagsforQoSapplications.Itrequiresan
Ethernetframeheadersizeof18bytes(6bytessourceMACaddress,6bytes
destinationMACaddress,2bytes802.1Qtagprotocolidentifier,2bytes802.1Q
tagcontrolinformation,and2bytesEtherType).Thedefaultmaximumframesize
istherefore1518bytes.
Sincethemaximumframesizeshouldideallybematchedacrossallendpointsinthe
sameLAN(VLAN),andsincetheLANswitchinfrastructuremustbeabletoforward
suchpackets,thedecisiontodeployalargerthandefaultmaximumframesize
requirescarefulconsideration.Itisrecommendedthatexperimentationwith
maximumframesizebedoneinacontrolledtestenvironment.
ThemaximumframesizeischangedbychangingtheMaxFrameSizesettinginthe
NetworkAdapter’sAdvancedPropertiesPage.
InterruptModeration(InterruptCoalescing)
Interruptmoderationreducesthenumberofinterruptsgeneratedbytheadapterby
coalescingmultiplereceivedpacketeventsand/ortransmitcompletionevents
togetherintoasingleinterrupt.
Theinterruptmoderationintervalsetstheminimumtime(inmicroseconds)
betweentwoconsecutiveinterrupts.Coalescingoccursonlyduringthisinterval:
•Whenthedrivergeneratesaninterrupt,itstartstimingthemoderation
interval.
•Anyeventsthatoccurbeforethemoderationintervalexpiresarecoalesced
togetherintoasingleinterrupt,thatisraisedonlywhentheintervalexpires.
Anewmoderationintervalthenstarts,duringwhichnointerruptisraised.
•Aneventthatoccursafterthemoderationintervalhasexpiredgetsitsown
dedicatedinterrupt,thatisraisedimmediately.
Anewmoderationintervalthenstarts,duringwhichnointerruptisraised.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 231
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.
Formanytransactionrequest‐responsetypenetworkapplications,thebenefitof
reducedlatencytooverallapplicationperformancecanbeconsiderable.Such
benefitstypicallyoutweighthecostofincreasedCPUutilization.Itisrecommended
that:
• Interruptmoderationisdisabledforapplicationsthatrequirebestlatencyand
jitterperformance,suchasmarketdatahandling.
• Interruptmoderationisenabledforhighthroughputsingle(orfew)connection
TCPstreamingapplications,suchasiSCSI.
InterruptmoderationcanbedisabledorenabledusingtheInterruptModeration
settingintheNetworkAdapter’sAdvancedPropertiesPage.Theinterrupt
moderationtimevaluecanalsobeconfiguredfromtheNetworkAdapter’s
AdvancedPropertiesPage.
NOTE:TheperformancebenefitsofReceiveSegmentCoalescingandLargeReceive
Offloadarelimitedifinterruptmoderationisdisabled.SeeReceiveSegment
Coalescing(RSC)onpage232andLargeReceiveOffload(LRO)onpage233.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 232
TCPChecksumOffload
ChecksumoffloadmovescalculationandverificationofIPHeader,TCPandUDP
packetchecksumstotheadapter.Thedriverhasallchecksumoffloadfeatures
enabledbydefault.Therefore,thereisnoopportunitytoimproveperformance
fromthedefault.
ChecksumoffloadconfigurationischangedbychangingtheOffloadIPChecksum,
OffloadUDPChecksumandOffloadTCPChecksumsettingsintheNetwork
Adapter’sAdvancedPropertiesPage.
•Tocheckthattaskoffloadsareenabled(e.g.checksumoffloadinparticular),
runthefollowingcommands:
netshinterfacetcpshowglobal
netshinterfaceipv4showoffload
netshinterfaceipv6showoffload
•Seehttps://msdn.microsoft.com/en‐us/library/windows/hardware/
ff571012%28v=vs.85%29.aspxforfurtherrelevantsettings.
NOTE:Solarflarerecommendyoudonotdisablechecksumoffload.
LargeSendOffloadV2(LSO)
LargeSendOffload(LSO;alsoknownasTCPSegmentationOffload/TSO)offloadsthe
splittingofoutgoingTCPdataintopacketstotheadapter.LSObenefitsapplications
usingTCP.ApplicationsusingprotocolsotherthanTCPwillnotbeaffectedbyLSO.
EnablingLSOwillreduceCPUutilizationonthetransmitsideofaTCPconnection
andimprovepeakthroughput,iftheCPUisfullyutilized.SinceLSOhasnoeffecton
latency,itcanbeenabledatalltimes.ThedriverhasLSOenabledbydefault.
Therefore,thereisnoopportunitytoimproveperformancefromthedefault.
LSOischangedbychangingtheLargeSendOffloadsettingintheNetworkAdapter’s
AdvancedPropertiesPage.
TCPandIPchecksumoffloadsmustbeenabledforLSOtowork.
NOTE:Solarflarerecommendthatyoudonotdisablethissetting.
ReceiveSegmentCoalescing(RSC)
TCPReceiveSegmentCoalescing(RSC)isafeaturewherebytheadaptercoalesces
multiplepacketsreceivedonaTCPconnectionintoasinglelargerpacketbefore
passingthisontothenetworkstackforreceiveprocessing.ThisreducesCPU
utilizationandimprovespeakthroughputwhentheCPUisfullyutilized.The
effectivenessofRSCisboundedbytheinterruptmoderationdelay,andislimitedif
interruptmoderationisdisabled(seeInterruptModeration(InterruptCoalescing)
onpage230).EnablingRSCdoesnotitselfnegativelyimpactlatency.
RSCisaMicrosoftfeatureintroducedinWindowsServer2012.RSCisenabledby
default.Ifahostisforwardingreceivedpacketsfromoneinterfacetoanotherthen
WindowswillautomaticallydisableRSC.FormoreinformationaboutRSCon
Windows,seehttps://technet.microsoft.com/en‐gb/library/hh997024.aspx.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 233
TheSolarflarenetworkadapterdriverenablesRSCbydefault.
RSCissetbychangingtheReceiveSegmentCoalescingsettingsintheNetwork
Adapter’sAdvancedPropertiesPage.
TCPandIPchecksumoffloadsmustbeenabledforRSCtowork.
LargeReceiveOffload(LRO)
LargeReceiveOffload(LRO)isafeaturewherebytheadaptercoalescesmultiple
packetsreceivedonaTCPconnectionintoasinglelargerpacketbeforepassingthis
ontothenetworkstackforreceiveprocessing.ThisreducesCPUutilizationand
improvespeakthroughputwhentheCPUisfullyutilized.TheeffectivenessofLRO
isboundedbytheinterruptmoderationdelay,andislimitedifinterruptmoderation
isdisabled(seeInterruptModeration(InterruptCoalescing)onpage230).Enabling
LROdoesnotitselfnegativelyimpactlatency.
LROisaSolarflareproprietarymechanismsimilartotheWindowsReceiveSegment
Coalescingfeature.WindowsServer2012andneweruseRSCinsteadofLRO,anddo
notsupportLRO.OlderWindowsversionsthatdonotsupportRSCmayuseLRO
instead.
TheSolarflarenetworkadapterdriverdisablesLRObydefault.
NOTE:LROshouldNOTbeenabledwhenusingthehosttoforwardpacketsfrom
oneinterfacetoanother.Forexample,ifthehostisperformingIProuting.
LROissetbychangingtheLargeReceiveOffloadsettingsintheNetworkAdapter’s
AdvancedPropertiesPage.
TCPandIPchecksumoffloadsmustbeenabledforLROtowork.
ReceiveSideScaling(RSS)
ReceiveSideScaling(RSS)wasfirstsupportedaspartofthescalablenetworking
packforWindowsServer2003andhasbeenimprovedwitheachsubsequent
operatingsystemrelease.RSSisenabledbydefaultandwillbeusedonnetwork
adaptersthatsupportit.SolarflarerecommendthatRSSisenabledforbest
networkingperformance.
ForfurtherinformationaboutusingRSSonWindowsplatformsseetheMicrosoft
whitepaper“ScalableNetworking:EliminatingtheReceiveProcessingBottleneck—
IntroducingRSS”
Thisisavailablefrom:
http://download.microsoft.com/download/5/D/6/5D6EAF2B‐7DDF‐476B‐93DC‐
7CF0072878E6/NDIS_RSS.doc
SpecificRSSparameterscanbetunedonaper‐adapterbasis.Fordetailsseethe
Microsoftwhitepaper“NetworkingDeploymentGuide:DeployingHigh‐Speed
NetworkingFeatures”availablefrom:
http://download.microsoft.com/download/8/E/D/8EDE21BC‐0E3B‐4E14‐AAEA‐
9E2B03917A09/HSN_Deployment_Guide.doc
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 234
SolarflarenetworkadaptersoptimizeRSSsettingsbydefaultonWindowsoperating
systemsandofferanumberofRSSinterruptbalancingmodesviathenetwork
adapter'sadvancedpropertypageinDeviceManagerandSolarflare'sadapter
managementtools.
ThenumberofRSSqueuescanbeadjustedtosuittheworkload:
•ThenumberofRSSCPUsislimitedbythenumberofRSSqueues.Thedriver
doesnottargetmultipleRSSqueuestothesameCPU.Therefore:
‐ ItisbesttosetthemaximumnumberofRSSqueuestobeequaltothe
maximumnumberofRSSCPUs(orthenexthighersettingiftheequal
optionisunavailable).
‐ ThenumberofqueuescanbereducedinordertoisolateCPUcoresfor
applicationprocessing.
‐ Thenumberofqueuescanbeincreasedtospreadtheloadovermore
cores.Thiswillalsoincreasetheamountofreceivebufferingduetoa
largernumberofRXqueues.
NOTE:Ifhyper‐threadingisenabled,RSSwillonlyselectonethreadfromeach
CPUcore.
•ThecurrentnumberofqueuescanbegetandsetusingeitherSAM,orthe
NetworkAdapter’sAdvancedPropertiesPage.
•OnWindowsServer2012andlater,thecurrentnumberofRSSqueuescanalso
bequeriedandsetfromthePowerShellwiththeGet‐NetAdapterRssand
Set‐NetAdapterRsscmdlets.
ThesetofRSSCPUscanalsobeadjusted:
•ForlowlatencylowjitterapplicationsselecttheNUMAscalingstaticRSS
profile.SetboththemaximumnumberofRSSprocessorsandthenumberof
RSSqueuestobeequaltothenumberofCPUcores
Inmulti‐portscenariosgiveeachportitsownsetofRSSprocessors,usingthe
baseandmaxprocessorsettingstorestrictRSStoasubsetoftheCPUsif
required.
•ForotherapplicationsuseasfewRSSprocessorsasrequiredtocopewiththe
trafficload,leavingotherCPUsfreeforothertasks
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 235
PreferredNUMANode
TheadapterdriverchoosesasubsetoftheavailableCPUcorestohandletransmit
andreceiveprocessing.ThePreferredNUMANodesettingcanbeusedtoconstrain
thesetofCPUcoresconsideredforprocessingtothoseonthegivenNUMANode.
ToforceprocessingontoaparticularNUMANode,changethePreferredNUMA
NodesettingontheNetworkAdapter'sAdvancedPropertiesPage.
TheNUMAdistanceofthecoresusedfortheRSSqueueandthenetwork
applicationinfluencesperformance.TochecktheNUMAdistanceofeachcorefrom
theinterface:
•GetCoreinfofromWindowsSysinternals(https://live.sysinternals.com).The
outputincludesprocessortoNUMAnodemappings.
TogettheNUMAnodelocaltotheinterface,run:
Get‐WmiObject‐Namespaceroot\wmi‐Filter"DummyInstance=False"
EFX_Port|Format‐Table‐AutoSizeId,Name,PreferredNumaNode
•OnWindowsServer2012andlater,youcaninsteadrunthePowerShellGet‐
NetAdapterRsscmdletandlookatlinesstarting:
RssProcessorArray:[Group:Number/NUMADistance]
ThisgivestheNUMAdistanceofeachcoretotheinterface.
Forlowlatencylowjitterapplications,RSSqueuesshouldbemappedtoNUMA
nodesthatarelocaltotheinterface:
•OnWindowsServer2008R2,thisshouldhappenautomatically.RSSprofilesare
notsupported,andthedefaultbehaviorisequivalenttoClosestProcessor
•OnWindowsServer2012andlater,thisshouldhappenautomaticallyifyouare
usingoneofthefollowingRSSprofiles:
‐ ClosestProcessor
‐ ClosestProcessorStatic
ThePowerShellGet‐NetAdapterRsscmdletwillgivethisinformation.
TheRSSProfilecanbesetintheNetworkAdapter'sAdvancedPropertiesPage,
orwiththePowerShellcmdletSet‐NetAdapterRss
•ItisalsopossibletorestrictthesetofcoresavailabletoRSSbysetting
BaseProcessorGroup/BaseProcessorNumberandMaxProcessorGroup/
MaxProcessorNumber.
•Seealsohttps://msdn.microsoft.com/en‐us/library/windows/hardware/
ff570864%28v=vs.85%29.aspx.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 236
Likewise,forlowlatencylowjitterapplications,thenetworkapplicationshouldbe
runonNUMAnodesthatarelocaltotheinterface:
•TheapplicationcansetaffinityitselfwithSetProcessAffinityMaskand
SetThreadAffinityMask,andthenmaypresenttheseasoptionstotheuser.
• AffinitycanbesetusingSysinternalsProcessExplorer(procexp).Rightclickon
theprocessandchooseSetAffinity.
• Affinitycanbecontrolledwhenaprocessisstartedusing:
START/AFFINITY<hexmaskl><command>
or
START/NODE<num><command>
When/NODEand/AFFINITYareusedtogether,affinityisinterpretedascores
withinthenode.
Forotherapplications,suchaswebservers:
•OnWindowsServer2012andlater,useoneofthefollowingRSSprofiles:
‐ NumaScaling
‐ NumaScalingStatic
ThePowerShellGet‐NetAdapterRsscmdletwillgivethisinformation.
TheRSSProfilecanbesetintheNetworkAdapter'sAdvancedPropertiesPage,
orwiththePowerShellcmdletSet‐NetAdapterRss
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.TheSolarflaredriverwillinsertawarningintheWindows
EventLogifitdetectsthattheadapterispluggedintoaPCIeslotwhichelectrically
hasfewerthanx8lanes.
SolarflareSFN5000andSFN6000seriesadaptersrequireaPCIeGen2x8slotfor
optimaloperation.SolarflareSFN7000andSFN8000seriesadaptersrequireaPCIe
Gen3x8orx16slotforoptimalperformance.TheSolarflaredriverwillinserta
warningintheWindowsEventLogifitdetectsthattheadapterisplacedinasub‐
optimalslot.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 237
Inaddition,thelatencyofcommunicationsbetweenthehostCPUs,systemmemory
andtheSolarflarePCIeadaptermaybePCIeslotdependent.Someslotsmaybe
“closer”totheCPU,andthereforehavelowerlatencyandhigherthroughput:
•Ifpossible,installtheadapterinaslotwhichislocaltothedesiredNUMAnode
•ForWindowsServer2008R2bestperformancewillonlybeobtainedifthe
adapterisclosesttoNUMAnode0(i.e.physicalCPUpackage0).
•SomeWindowsSKUsonlysupportasingleCPUpackage.Iftheadapteris
pluggedintoaPCIeslotattachedtothesecondpackageitwillnotappeartothe
OS.
Pleaseconsultyourserveruserguideformoreinformation.
Memorybandwidth
Manychipsetsusemultiplechannelstoaccessmainsystemmemory.Maximum
memoryperformanceisonlyachievedwhenthechipsetcanmakeuseofall
channelssimultaneously.Thisshouldbetakenintoaccountwhenselectingthe
numberofmemorymodules(DIMMs)topopulateintheserver.Foroptimal
memorybandwidthinthesystem,itislikelythat:
•allDIMMslotsshouldbepopulated
•allNUMAnodesshouldhavememoryinstalled.
Pleaseconsultthemotherboarddocumentationfordetails.
BIOSSettings
DELLSystems
RefertotheBIOSconfigurationguidelinesrecommendedbyDell'swhitepaper
“ConfiguringLow‐LatencyEnvironmentsonDellPowerEdgeServers”availablefrom:
http://i.dell.com/sites/content/shared‐content/data‐sheets/en/Documents/
configuring‐low‐latency‐environments‐on‐dell‐poweredge‐12g‐servers.pdf
HPSystems
RefertotheBIOSconfigurationguidelinesrecommendedbyHP’swhitepaper
“ConfiguringtheHPProLiantServerBIOSforLow‐LatencyApplications”available
from:
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01804533/
c01804533.pdf
Althoughtargetedattuningforreal‐timeoperatingsystems,therecommendations
equallyapplytoWindowsServerplatforms.
Othersystemvendorsmaypublishsimilarrecommendations.IngeneralanyBIOS
settingsguidelinesthataretargetedatincreasingnetworkperformancewhilst
minimizinglatencyandjitterareapplicabletoalloperatingsystems.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 238
Intel®QuickData/NetDMA
OnsystemsthatsupportIntelI/OAT(I/OAccelerationTechnology)featuressuchas
QuickData(a.k.aNetDMA),Solarflarerecommendthattheseareenabledasthey
arerarelydetrimentaltoperformance.
UsingIntel®QuickDataTechnologyallowsdatacopiestobeperformedbythe
systemandnottheoperatingsystem.Thisenablesdatatomovemoreefficiently
throughtheserverandprovidefast,scalable,andreliablethroughput.
ToenableNetDMAtheEnableTCPAvariablemustbesetto1inthe
Tcpip\Parametersregistrykey.Locatethefollowingkeyintheregistry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TheEnableTCPAvaluemustbecreatedifitisnotpresentandsetto1:
EnableTCPA=1
IntelHyper‐ThreadingTechnology
OnsystemsthatsupportIntelHyper‐ThreadingTechnologyusersshouldconsider
benchmarkingorapplicationperformancedatawhendecidingwhethertoadopt
hyper‐threadingonaparticularsystemandforaparticularapplication.Solarflare
haveidentifiedthathyper‐threadingisgenerallybeneficialonsystemsfittedwith
Corei5,Corei7andXeon(Nehalemorlater)CPUs.
TCP/IPOptions
TCPtimestamps,windowscalingandselectiveacknowledgmentsareenabledby
defaultonsupportedplatforms,andincludereceivewindowtuningandcongestion
controlalgorithmsthatautomaticallyadaptto10gigabitconnections.Thereis
thereforenoneedtochangethesesettings.
PowerSavingMode
ModernprocessorsutilizedesignfeaturesthatenableaCPUcoretodropintolow
powerstateswheninstructedbytheoperatingsystemthattheCPUcoreisidle.
WhentheOSschedulesworkontheidleCPUcore(orwhenotherCPUcoresor
devicesneedtoaccessdatacurrentlyintheidleCPUcore’sdatacache)theCPUcore
issignaledtoreturntothefullyonpowerstate.ThesechangesinCPUcorepower
statescreateadditionalnetworklatencyandjitter.Solarflarerecommendtoachieve
thelowestlatencyandlowestjitterthatthe“C1Epowerstate”or“CPUpower
savingmode”isdisabledwithinthesystemBIOS.
IngeneraltheusershouldexaminethesystemBIOSsettingsandidentifysettings
thatfavorperformanceoverpowersaving.Inparticularlookforsettingstodisable:
•Cstates/Processorsleep/idlestates
• EnhancedC1CPUsleepstate(C1E)
•AnydeeperCstates(C3throughtoC6)
•Pstates/Processorthrottling
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 239
•ProcessorTurbomode
•UltraLowPowerState
•PCIeActiveStatePowerManagement(ASPM)
• UnnecessarySMM/SMIfeatures
Thelatencycanbeimprovedbyselectingthehighestperformancepowerplan:
•ConsiderusingtheOptimumperformancepowerplanaddedbytheSolarflare
driverpackageinstaller,which:
‐ DisablesallCPUidlestates
‐ SetstheOSdeviceidlepolicytofavorperformanceoverpowersavings
‐ DisablesPCIeASPM(ActiveStatePowerManagement)
Theinstallerdoesnotenablethisbydefaultas,oncertainsystems,itmight
significantlyincreaseenergyusage.
•Otherwise,selecttheAlwaysOnorHighperformancepowerplan.
ThepowerplanisconfiguredfromtheControlPanel>Hardware>PowerOptions:
Youcanalsousethepowercfg.exeutilitythatisinstalledwithWindows:
• Listallpowerschemesinthecurrentuser'senvironment:
powercfg/LIST
•Makethespecifiedpowerschemeactiveonthecomputer:
powercfg/SETACTIVE<GUID>
Seehttps://technet.microsoft.com/en‐us/library/cc748940%28v=ws.10%29.aspx.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 240
Firewallsandanti‐virussoftware
Dependingonthesystemconfiguration,thefollowingsoftwaremayhavea
significantimpactonthroughputandCPUutilization,inparticularwhenreceiving
multicastUDPtraffic:
•thebuilt‐inWindowsFirewallandBaseFilteringEngine
•otherthird‐partyfirewallornetworksecurityproducts
•anti‐viruscheckers.
Thisisthecaseevenifthesoftwarehasnorulesconfiguredbutisstillactive.
Wherehighthroughputisrequiredonaparticularport,theperformancewillbe
improvedbydisablingthesoftwareonthatport:
NOTE:TheWindows(oranythirdparty)Firewallshouldbedisabledwithcaution.
Thenetworkadministratorshouldbeconsultedbeforemakinganychanges.
• DisabletheWindowsFirewall.
a) SettheStartupTypeoftheWindowsFirewallservicetoDisabled.
b) Stoptheservice.
•OnWindowsServer2008R2disabletheWindowsFilteringPlatform(WFP).
a) SettheStartupTypeoftheBaseFilteringEngine(BFE)servicetoDisabled.
b) Stoptheservice.
Formoreinformation,seehttps://msdn.microsoft.com/en‐us/Library/
Windows/Hardware/dn653358%28v=vs.85%29.aspx.
• Disable(andifpossibleuninstall)anythird‐partyfirewallornetworksecurity
products,andanyanti‐viruscheckers.
Rememberthateventhesimplestanti‐virusproductscaninspectnetwork
traffictolookforvirusesine‐mails.
Configurenetworkapplications
Considertheoptions,loggingandstatisticsprovidedbythenetworkingapplications
thatarebeingused.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 241
Benchmarks
ThroughputBenchmarkusingNtttcp
ThefollowingexampleshowsresultsfromrunningMicrosoft’sntttcp.Itissuggested
thatfirst,LargeReceiveOffload(LRO)orReceiveSegmentCoalescing(RSC)is
enabled.
1Onserverrunntttcpr:
ntttcpr.exe‐rb500000‐a24‐n100000‐l524288‐m
1,1,<server_adapter_IP_interface>
2Onclientrunntttcpstest:
ntttcps.exe‐rb500000‐a24‐n100000‐l524288‐m
1,1,<server_adapter_IP_interface>
C:\>ntttcps.exe‐rb500000‐a24‐n100000‐l524288‐m1,1,<serveradapterIP
interface>
CopyrightVersion2.4
Networkactivityprogressing...
ThreadRealtime(s)Throughput(KB/s)Throughput(Mbit/s)
=================================
044.7671170961.0079367.688
TotalBytes(MEG)Realtime(s)AverageFrameSizeTotalThroughput(Mbit/s)
=============================================
52420.41139244.7671459.8469367.688
TotalBuffersThroughput(Buffers/s)Pkts(sent/intr)Intr(count/s)Cycles/Byte
==================================
99984.0002233.4312729187.480.8
PacketsSentPacketsReceivedTotalRetransmitsTotalErrorsAvg.CPU%
=============================================
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 242
TuningRecommendations
Thefollowingtablesproviderecommendationsfortuningsettingsfordifferent
applicationcharacteristics.
• Throughput‐Table56onpage242
•Latency‐Table57onpage243
Table56:ThroughputTuningSettings
TuningParameter How?
IntelQuickData(Intel
chipsetsonly)
EnableinBIOSandconfigureasdescribedinguide.
Interrupt
Moderation
Leaveatdefault(Enabled).
AdaptiveInterrupt
Moderation
Leaveatdefault(Enabled).
Interrupt
ModerationTime
Leaveatdefault(60µs).
LargeReceive
Offloads
EnableinNetworkAdapterAdvancedProperties.
LargeSendOffloads Leaveatdefault(Enabled).
MaxFrameSize Configuretomaximumsupportedbynetworkin
NetworkAdapter'sAdvancedProperties.
Memorybandwidth Ensurememoryutilizesallmemorychannelsonsystem
motherboard.
OffloadChecksums Leaveatdefault.
PCIExpressLane
Configuration
Ensuretheadapterisinanx8slot(2.0orlater),andthat
currentspeed(notthesupportedspeed)readsbackas
“x8and5GT/s”,or“x8and8GT/s”,or“x8andUnknown”.
PowerSavingMode Leaveatdefault.
ReceiveSegment
Coalescing
Leaveatdefault(Enabled).
ReceiveSideScaling
(RSS)
Leaveatdefault.
RSSNUMANode Leaveatdefault(All).
TCPProtocolTuning Leaveatdefault(installwith“OptimizeWindowsTCP/IP
protocolsettingsfor10Gnetworking”optionselected).
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 243
Table57:LatencyTuningSettings
TuningParameter How?
IntelQuickData(Intel
chipsetsonly)
EnableinBIOSandconfigureasdescribedinguide.
Interrupt
Moderation
DisableinNetworkAdapter’sAdvancedProperties.
AdaptiveInterrupt
Moderation
Leaveatdefault.Thissettingisignoredwheninterrupt
moderationisdisabled.
Interrupt
ModerationTime
Leaveatdefault(60µs).Thissettingisignoredwhen
interruptmoderationisdisabled.
LargeReceive
Offloads
DisableinNetworkAdapter’sAdvancedProperties.
LargeSendOffloads Leaveatdefault(Enabled).
MaxFrameSize Configuretomaximumsupportedbynetworkin
NetworkAdapter'sAdvancedProperties.
Memorybandwidth Ensurememoryutilizesallmemorychannelsonsystem
motherboard.
OffloadChecksums Leaveatdefault(Enabled).
PCIExpressLane
Configuration
Ensuretheadapterisinanx8slot(2.0orlater),andthat
currentspeed(notthesupportedspeed)readsbackas
“x8and5GT/s”,or“x8and8GT/s”,or“x8andUnknown”.
PowerSavingMode DisableC1EandotherCPUsleepmodestopreventOS
fromputtingCPUsintoloweringpowermodeswhenidle.
ReceiveSegment
Coalescing
DisableinNetworkAdapter’sAdvancedProperties.
ReceiveSideScaling Applicationdependent
RSSNUMANode Leaveatdefault(All).
TCPProtocolTuning Leaveatdefault(installwith“OptimizeWindowsTCP/IP
protocolsettingsfor10Gnetworking”optionselected).
TCP/IPChecksum
Offload
Leaveatdefault
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 244
4.29WindowsEventLogErrorMessages
Thefollowingtableslistthevariouserrormessagesthatcanbeaddedtotheevent
log,alongwithadescriptionandactionthatshouldbetaken.
DriverStatusCodes
DeviceStatusCodes
Table58:DriverStatusCodes
Value Description Severity Notes
0x60000001L Thedriverversion
information.
Informational Noaction
required.
0x60000002L Thedriverfailedtoload. Informational
0xA0000004L Thedrivercan’tadda
deviceduetothesystem
beingstartedinsafemode
(SAFEMODE_MINIMAL).
Warning
0xA0000005L Thedrivercouldnot
allocatememoryona
specificNUMAnode.
Warning Formaximum
performanceall
NUMAnodes
shouldbe
populated.Install
additional
memory.
Table59:DeviceStatusCodes
Value Description Severity Action
0x6001000BL TheMTUonthedevice
waschanged.
Informational Noaction
required.
0x6001001BL HardwareMCDIversion Informational Nonerequired.
0xA0010004L Thedevicedoesnothave
sufficientPCIelanesto
reachfullbandwidth.
Warning Movethe
adapterintoa
PCIeslotwith
morelanes.See
PCIExpressLane
Configurations
onpage236.
0xA001000CL Thetransmitwatchdog
fired
Warning
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 245
0xA001000DL Anunexpectedeventwas
receivedfromthedevice.
Warning Noaction
required.
0xA0010010L Anon‐contiguousRXevent
wasreceivedfromthe
device.
Warning
0xA0010011L Thedevicehasexceeded
themaximumsupported
temperaturelimit.
Warning Improvethe
servercooling.
0xA0010013L Thedevicecoolinghas
failed.
Warning
0xA0010014L Oneofthedevicevoltage
suppliesisoutsideofthe
supportedvoltagerange.
Warning Theadapteror
servermaybe
faulty.
0xA0010017L HardwareMCDI
communicationsuffered
anerror.
Warning Nonerequired.
0xA0010019L HardwareMCDIbootfrom
non‐primaryflash.
Possibleflashcorruption.
Warning Runsfupdateor
updateviaSAM.
0xE0010002L PHYfirmwarehasfailedto
start.
Error PossiblePHY
firmware
corruption.Run
sfupdateorSAM
toupdate.
0xE0010005L Thedevicecouldnotbe
addedtothesystem.
Error
0xE0010006L Thedevicecouldnotbe
initializedwithinterrupts
disabled.
Error
0xE0010007L Thedevicecouldnotbe
initializedwithinterrupts
enabled.
Error
0xE0010008L Thedevicecouldnotbe
started.
Error
0xE0010009L Thedevicecouldnotbe
reset.
Error
Table59:DeviceStatusCodes
Value Description Severity Action
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 246
NDISDriverStatusCodes
0xE001000AL TherewasanEFXAPI
failure.
Error
0xE0010012L Thedevicehasexceeded
thecriticaltemperature
limit.
Error Improvethe
servercooling.
0xE0010015L Oneofthedevicevoltage
suppliesisoutsideofthe
criticalvoltagerange.
Error Theadapteror
servermaybe
faulty.
0xE0010016L Anon‐specifiedhardware
monitordevicehas
reportedanerror
condition.
Error
0xE0010018L HardwareMCDI
communicationtimedout.
Error Nonerequired.
Table60:NDISDriverStatusCodes
Value Description Severity Notes
0x60030001L Thedriverhas
encounteredanetwork
adapterreceivedatapath
errorandperformeda
networkadapterresetto
attemptrecovery.Referto
thedriverreleasenotes
anderrataformore
information.
Informational
0xA0010001L Theparameter
BreakOnEntryismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010002L Theparameter
BreakOnEntryspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
Table59:DeviceStatusCodes
Value Description Severity Action
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 247
0xA0010003L TheparameterDebugBits
ismissingfromthe
registry.Usingdefault
value.
Warning
0xA0010004L TheparameterDebugBits
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010005L Theparameter
*FlowControlismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010006L Theparameter
*FlowControlspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010007L Theparameter*IfTypeis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010008L Theparameter*IfType
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010009L Theparameter
*InterruptModerationis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001000AL Theparameter
*InterruptModeration
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001000BL Theparameter
*IPChksumOffv4ismissing
fromtheregistry.Using
defaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 248
0xA001000CL Theparameter
*IPChksumOffv4specified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA001000DL Theparameter
*JumboPacketismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA001000EL Theparameter
*JumboPacketspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA001000FL TheparameterLROIPv4is
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010010L TheparameterLROIPv4
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010011L Theparameter*LSOv2IPv4
ismissingfromthe
registry.Usingdefault
value.
Warning
0xA0010012L Theparameter*LSOv2IPv4
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010013L Theparameter
MaxEventsPerReceive
Interruptismissingfrom
theregistry.Usingdefault
value.
Warning
0xA0010014L Theparameter
MaxEventsPerReceive
Interruptspecifiedinthe
registryisoutofrange.
Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 249
0xA0010015L Theparameter
*MediaTypeismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010016L Theparameter
*MediaTypespecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010017L Theparameter
*NetworkAddressis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010018L Theparameter
*NetworkAddress
specifiedintheregistryis
invalid.Usingdefault
value.
Warning
0xA0010019L Theparameter
*PhysicalMediaTypeis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001001AL Theparameter
*PhysicalMediaType
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001001BL Theparameter
*PriorityVLANTagis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001001CL Theparameter
*PriorityVLANTagspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA001001DL Theparameter
*ReceiveBuffersismissing
fromtheregistry.Using
defaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 250
0xA001001EL Theparameter
*ReceiveBuffersspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA001001FL Theparameter
ReceiveInterrupt
ModerationValueis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010020L Theparameter
ReceiveInterrupt
ModerationValuespecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA0010021L Theparameter
*SpeedDuplexismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010022L Theparameter
*SpeedDuplexspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010023L Theparameter
*TCPChksumOffv4is
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010024L Theparameter
*TCPChksumOffv4
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010025L Theparameter
*TransmitBuffersismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010026L Theparameter
*TransmitBuffersspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 251
0xA0010027L Theparameter
*UDPChksumOffv4is
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010028L Theparameter
*UDPChksumOffv4
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010029L TheparameterVlanIdis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001002AL TheparameterVlanId
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001002BL TheparameterWarnLevel
ismissingfromthe
registry.Usingdefault
value.
Warning
0xA001002CL TheparameterWarnLevel
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001002DL Theparameter*RSSis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001002EL Theparameter*RSS
specifiedintheregistryis
invalid.Usingdefault
value.
Warning
0xA001002FL Theparameter
*IPChecksumOffload
IPv4ismissingfromthe
registry.Usingdefault
value.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 252
0xA0010030L Theparameter
*IPChecksumOffload
IPv4specifiedinthe
registryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010031L Theparameter
*TCPChecksumOffload
IPv4ismissingfromthe
registry.Usingdefault
value.
Warning
0xA0010032L Theparameter
*TCPChecksumOffload
IPv4specifiedinthe
registryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010033L Theparameter
*UDPChecksum
OffloadIPv4ismissingfrom
theregistry.Usingdefault
value.
Warning
0xA0010034L Theparameter
*UDPChecksum
OffloadIPv4specifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010035L Theparameter
*TCPConnection
OffloadIPv4ismissingfrom
theregistry.Usingdefault
value.
Warning
0xA0010036L Theparameter
*TCPConnection
OffloadIPv4specifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010037L Theparameter
*MaxRssProcessorsis
missingfromtheregistry.
Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 253
0xA0010038L Theparameter
*MaxRssProcessors
specifiedintheregistryis
invalid.Usingdefault
value.
Warning
0xA0010039L Theparameter
InterruptModeration
Timeismissingfromthe
registry.Usingdefault
value.
Warning
0xA001003AL Theparameter
InterruptModeration
Timespecifiedinthe
registryisinvalid.Using
defaultvalue.
Warning
0xA001003BL Theparameter
*TCPChecksum
OffloadIPv6ismissingfrom
theregistry.Usingdefault
value.
Warning
0xA001003CL Theparameter
*TCPChecksumOffload
IPv6specifiedinthe
registryisoutofrange.
Usingdefaultvalue.
Warning
0xA001003DL Theparameter
*UDPChecksum
OffloadIPv6ismissingfrom
theregistry.Usingdefault
value.
Warning
0xA001003EL Theparameter
*UDPChecksum
OffloadIPv6specifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA001003FL Theparameter
*WakeOnPatternis
missingfromtheregistry.
Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 254
0xA0010040L Theparameter
*WakeOnPatternspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA0010041L Theparameter
*WakeOnMagicPacketis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010042L Theparameter
*WakeOnMagicPacket
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010043L Theparameter
*DeviceSleepOn
Disconnectismissingfrom
theregistry.Usingdefault
value.
Warning
0xA0010044L Theparameter
*DeviceSleepOn
Disconnectspecifiedinthe
registryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010045L Theparameter
*PMARPOffloadismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010046L Theparameter
*PMARPOffloadspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA0010047L Theparameter
*PMNSOffloadismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010048L Theparameter
*PMNSOffloadspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 255
0xA0010049L Theparameter*LSOv2IPv6
ismissingfromthe
registry.Usingdefault
value.
Warning
0xA001004AL Theparameter*LSOv2IPv6
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001004BL TheparameterLROIPv6is
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001004CL TheparameterLROIPv6
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001004DL Theparameter
FlowControlAuto
Negotiationismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA001004EL Theparameter
FlowControlAuto
Negotiationspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA001004FL Theparameter
AdaptiveInterrupt
Moderationismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA0010050L Theparameter
AdaptiveInterrupt
Moderationspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010051L Theparameter
*NumaNodeIdismissing
fromtheregistry.Using
defaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 256
0xA0010052L Theparameter
*NumaNodeIdspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA0010053L Theparameter*VMQis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010054L Theparameter*VMQ
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010055L Theparameter
*VMQLookaheadSplitis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010056L Theparameter
*VMQLookaheadSplit
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010057L Theparameter
*VMQVlanFilteringis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010058L Theparameter
*VMQVlanFiltering
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010059L Theparameter
RssQueueCountismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA001005AL Theparameter
RssQueueCountspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 257
0xA001005BL Theparameter
RssAlgorithmismissing
fromtheregistry.Using
defaultvalue.
Warning
0xA001005CL Theparameter
RssAlgorithmspecifiedin
theregistryisoutofrange.
Usingdefaultvalue.
Warning
0xA001005DL Theparameter
*NumRSSQueuesis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001005EL Theparameter
*NumRSSQueuesspecified
intheregistryisoutof
range.Usingdefaultvalue.
Warning
0xA001005FL Theparameter*RssProfile
ismissingfromthe
registry.Usingdefault
value.
Warning
0xA0010060L Theparameter*RssProfile
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010061L Theparameter
*RssBaseProcGroupis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010062L Theparameter
*RssBaseProcGroup
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010063L Theparameter
*RssBaseProcNumberis
missingfromtheregistry.
Usingdefaultvalue.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 258
0xA0010064L Theparameter
*RssBaseProcNumber
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010065L Theparameter
*RSSMaxProcGroupis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010066L Theparameter
*RSSMaxProcGroup
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010067L Theparameter
*RssMaxProcNumberis
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA0010068L Theparameter
*RssMaxProcNumber
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA0010069L Theparameter*RscIPv4is
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001006AL Theparameter*RscIPv4
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
0xA001006BL Theparameter*RscIPv6is
missingfromtheregistry.
Usingdefaultvalue.
Warning
0xA001006CL Theparameter*RscIPv6
specifiedintheregistryis
outofrange.Usingdefault
value.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 259
0xA0020001L Thedriverhasdetermined
thatthenetworkadapter
doesnotsupporttransmit
checksumoffloadsand
thereforehasoverridden
the*IPChksumOffv4,
*TCPChksumOffv4and
*UDPChksumOffv4
registryparameters.
Warning
0xA0020002L Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportLarge
SendOffloadand
thereforehasoverridden
the*LSOv2IPv4and
*LSOv2IPv6registry
parameters.
Warning
0xA0020003L Thedriverhasdisabled
LargeReceiveOffload
(overridingtheLROIPv4
registryparameter)asitis
incompatiblewithIEEE
802.1p/802.1Qtagging.In
ordertouseLargeReceive
Offloadtaggingmustbe
disabled.
Warning
0xA0020004L IPv4LargeReceiveOffload
supportwillbeunavailable
whilstIPv4receive
checksumoffloadorTCP
receivechecksumoffload
isdisabled.
Warning
0xA0020005L IPv4LargeSendOffload
supportwillbeunavailable
whilstIPv4transmit
checksumoffloadorTCP
transmitchecksumoffload
isdisabled.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 260
0xA0020006L Thedriverhasdetermined
thatthenetworkadapter's
maximumframesizeisnot
configuredcorrectlyand
thereforehasoverridden
*JumboFramesregistry
parameter.Thisissuemay
beresolvedafterasystem
restart.
Warning
0xA0020008L Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportTCP
ConnectionOffloadand
thereforehasoverridden
the*TCPConnection
OffloadIPv4registry
parameter.
Warning
0xA0020009L ThedriverhasdisabledTCP
ConnectionOffload
(overridingthe
*TCPConnection
OffloadIPv4registry
parameter)asitis
incompatiblewithIEEE
802.1p/802.1Qtagging.In
ordertouseTCP
ConnectionOffload
taggingmustbedisabled.
Warning
0xA002000AL Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportchanging
thecurrentMACaddress
andthereforehas
overriddenthe
*NetworkAddressregistry
parameter.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 261
0xA002000BL ThedriverhasdisabledTCP
ConnectionOffload
(overridingthe
*TCPConnection
OffloadIPv4registry
parameter)asitis
incompatiblewithMTU
valuesgreaterthan1500
bytes.Refertothedriver
releasenotesanderrata
formoreinformation.
Warning
0xA002000CL Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportIPv6
checksumoffloadsand
thereforehasoverridden
the*TCPChksumOffv6and
*UDPChksumOffv6
registryparameters.
Warning
0xA002000DL Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportWakeon
LANandthereforehas
overriddenthe
*WakeOnPattern,
*WakeOnMagicPacketand
*DeviceSleepOn
Disconnectregistry
parameters.
Warning
0xA002000EL Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportprotocol
offloadwhilstthesystemis
inasleepstateand
thereforehasoverridden
the*PMARPOffloadand
*PMNSOffloadregistry
parameters.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 262
0xA002000FL Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportIPv6
LargeSendOffloadand
thereforehasoverridden
the*LSOv2IPv6registry
parameter.
Warning
0xA0020010L IPv6LargeReceiveOffload
supportwillbeunavailable
whilstIPv6TCPreceive
checksumoffloadis
disabled.
Warning
0xA0020011L IPv6LargeSendOffload
supportwillbeunavailable
whilstIPv6TCPtransmit
checksumoffloadis
disabled.
Warning
0xA0020012L Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportVirtual
MachineQueuesand
thereforehasoverridden
the*VMQregistry
parameter.
Warning
0xA0020013L Thedriverhasbeen
allocatedinsufficientMSI‐
Xmessagestosupport
VirtualMachineQueues
andthereforehas
overriddenthe*VMQ
registryparameter.
Warning
0xA0020014L IPv4ReceiveSegment
Coalescingsupportwillbe
unavailablewhilstIPv4
receivechecksumoffload
orTCPreceivechecksum
offloadisdisabled.
Warning
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
SolarflareAdaptersonWindows
Issue20 ©SolarflareCommunications2017 263
0xA0020015L IPv6ReceiveSegment
Coalescingsupportwillbe
unavailablewhilstTCP
receivechecksumoffload
isdisabled.
Warning
0xA0020016L Thedriverhasdetermined
thatthenetworkadapter
doesnotsupportReceive
SideScalingandtherefore
hasoverriddenthe*Rss
registryparameter.
Warning
0xE0000001L Thedrivercouldnot
allocatetheresources
necessaryforoperation.
Error
0xE0000002L Thedriverhasdetermined
thatthenetworkadapteris
notfunctioningproperly.
Error
0xE0000003L Thedriverhas
encounteredaninternal
errorandhasfailed.
Error
0xE0000004L Thedrivercouldnot
connecttotheNDISbus
interfaceandhasfailed.
Error
0xE0000005L Thedrivercouldnot
connecttotheNDISTCP
ConnectionOffload
interfaceandhasfailed.
Error
0xE0030002L Thedriverhas
encounteredan
unrecoverablenetwork
adapterreceivedatapath
error;afullsystemrestart
isrequired.Refertothe
driverreleasenotesand
errataformore
information.
Error
Table60:NDISDriverStatusCodes
Value Description Severity Notes
SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 264
5SolarflareAdaptersonVMware
ThischapterincludesproceduresforinstallationandconfigurationofSolarflare
adaptersonVMware®.FordetailsofSR‐IOVandVirtualizationrefertoSR‐IOV
VirtualizationUsingESXionpage351.
•SystemRequirementsonpage264
•VMwareFeatureSetonpage265
•InstallingSolarflareDriversandUtilitiesonVMwareonpage266
•ConfiguringTeamsonpage267
•ConfiguringVLANsonpage268
•RunningAdapterDiagnosticsonpage269
•SolarflareUtilitiesPackageonpage270
•ConfiguringtheBootROMwithSfbootonpage271
•UpgradingAdapterFirmwarewithsfupdateonpage279
•PerformanceTuningonVMwareonpage281
5.1SystemRequirements
RefertoSoftwareDriverSupportonpage17forsupportedVMwarehostplatforms.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 265
5.2VMwareFeatureSet
Table61liststhefeaturesavailablefromtheVMwarehost.Thefollowingoptions
canalsobeconfiguredontheguestoperatingsystem:
• JumboFrames
•TaskOffloads
•VirtualLANs(VLANs)
Table61:VMwareHostFeatureSet
Jumboframes SupportforMTUs(MaximumTransmissionUnits)from
1500bytesto9000bytes.
•SeeAdapterMTU(MaximumTransmissionUnit)on
page283
Taskoffloads SupportforTCPSegmentationOffload(TSO),Large
ReceiveOffload(LRO),andTCP/UDP/IPchecksum
offloadforimprovedadapterperformanceandreduced
CPUprocessingrequirements.
•SeeTCP/IPChecksumOffloadonpage285
•SeeTCPSegmentationOffload(TSO)onpage285
NetQueue SupportforNetQueue,aperformancetechnologythat
significantlyimprovesperformancein10Gigabit
Ethernetvirtualizedenvironments.
•SeeVMwareESXNetQueueonpage282
Teaming Improveserverreliabilitybycreatingteamsoneither
thehostvSwitch,GuestOSorphysicalswitchtoactasa
singleadapter,providingredundancyagainstsingle
adapterfailure.
•SeeConfiguringTeamsonpage267
VirtualLANs(VLANs) SupportforVLANsonthehost,guestOSandvirtual
switch.
•SeeConfiguringVLANsonpage268
PXEbooting Supportfordisklessbootingtoatargetoperatingsystem
viaPXEboot.
•SeeSfboot:CommandLineOptionsonpage272
•SeeSolarflareBootManageronpage374
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 266
5.3InstallingSolarflareDriversandUtilitiesonVMware
•UsingtheVMwareESXServiceConsoleonpage266
•InstallingonVMwareESX5.0,ESXi5.1,5.5and6.0onpage266
•GrantingaccesstotheNICfromtheVirtualMachineonpage267
•SolarflareUtilitiesPackageonpage270
UsingtheVMwareESXServiceConsole
TheserviceconsoleistheVMwareESXServercommand‐lineinterface.Itprovides
accesstotheVMwareESXServermanagementtools,includesacommandprompt
fordirectmanagementoftheServer,andkeepstrackofallthevirtualmachineson
theserveraswellastheirconfigurations.
InstallingonVMwareESX5.0,ESXi5.1,5.5and6.0
Toinstallorupdatethe.VIBthroughtheCLI:
esxclisoftwarevibinstall‐v<absolutePATHtothe.vib>
Toinstallorupdatetheofflinebundle
esxclisoftwarevibinstall‐d<absolutePATHtothe.zip>
ToinstallthroughtheUpdateManager
ImportthepackageintotheUpdateManagerandaddtoabaseline,thenfollowthe
normalupdateprocess.To installanewpackageontoahostdeploythepackageas
partofaHostExtensiontypebaselineratherthanaHostUpgradetype.
Faultdiagnostics Supportforcomprehensiveadapterandcablefault
diagnosticsandsystemreports.
•SeeRunningAdapterDiagnosticsonpage269
Firmwareupdates SupportforBootROMandPhytransceiverfirmware
upgradesforin‐fieldupgradableadapters.
•SeeUpgradingAdapterFirmwarewithsfupdateon
page279
Table61:VMwareHostFeatureSet
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 267
GrantingaccesstotheNICfromtheVirtualMachine
ToallowguestoperatingsystemsaccesstotheSolarflareNIC,youwillneedto
connectthedevicetoavSwitchtowhichtheguestalsohasaconnection.Youcan
eitherconnecttoanexistingvSwitch,orcreateanewvSwitchforthispurpose.To
createanewvSwitch:
1LogintotheVMwareInfrastructureClient.
2Selectthehostfromtheinventorypanel.
3SelecttheConfigurationtab.
4ChooseNetworkingfromtheHardwareboxontheleftoftheresultingpanel.
5ClickAddNetworkingonthetopright.
6SelectVirtualMachineconnectiontypeandclickNext.
7ChooseCreateaVirtualSwitchorUsevSwitchXasdesired.
8Followtheremainingon‐screeninstructions.
5.4ConfiguringTeams
Ateamallowstwoormorenetworkadapterstobeconnectedtoavirtualswitch
(vSwitch).Themainbenefitsofcreatingateamare:
•Increasednetworkcapacityforthevirtualswitchhostingtheteam.
•Passivefailoverintheeventoneoftheadaptersintheteamfails.
NOTE:TheVMwareESXhostonlysupportsNICteamingonasinglephysicalswitch
orstackedswitches.
Tocreateateam
1Fromthehost,selecttheConfigurationtab.
2SelectNetworkingfromtheHardwaresection.
3SelectPropertiesfortheVirtualSwitchyouwanttocreatetheteamfor.
4SelectthevSwitchfromthedialogboxandclickEdit.
5SelectNICTeaming.
Youcanconfigurethefollowingsettings:
•LoadBalancing
•NetworkFailoverDetection
• NotifySwitches
• Failover
• FailoverOrder
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 268
5.5ConfiguringVLANs
TherearethreemethodsforcreatingVLANsonVMwareESX:
1VirtualSwitchTagging(VST)
2ExternalSwitchTagging(EST)
3VirtualGuestTagging(VGT)
ForESTandVGTtagging,consultthedocumentationfortheswitchorfortheguest
OS.
ToConfigureVirtualSwitchTagging(VST)
WithvSwitchtagging:
•AllVLANtaggingofpacketsisperformedbythevirtualswitch,beforeleaving
theVMwareESXhost.
•Thehostnetworkadaptersmustbeconnectedtotrunkportsonthephysical
switch.
•Theportgroupsconnectedtothevirtualswitchmusthaveanappropriate
VLANIDspecified.
NOTE:VMwarerecommendthatyoucreateoramendVLANdetailsfromthe
physicalconsoleoftheserver,notviatheInfrastructureClient,topreventpotential
disconnections.
1Fromthehost,selecttheConfigurationtab.
2SelectNetworkingfromtheHardwaresection.
3SelectPropertiesfortheVirtualSwitchyouwanttocreatetheteamfor.
4SelectaPortGroupandclickEdit.
5EnteravalidVLANID(0equalsnoVLAN).
6ClickOK.
FurtherReading
•NICteaminginVMwareESXServer:
http://kb.vmware.com/selfservice/microsites/
search.do?cmd=displayKC&docType=kc&externalId=1004088&sliceId=1&doc
TypeID=DT_KB_1_1&dialogID=40304190&stateId=0%200%2037866989
•VMwareESXServerhostrequirementsforlinkaggregation:
http://kb.vmware.com/selfservice/microsites/
search.do?language=en_US&cmd=displayKC&externalId=1001938
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 269
•VLANConfigurationonVirtualSwitch,PhysicalSwitch,andvirtualmachines:
http://kb.vmware.com/selfservice/microsites/
search.do?language=en_US&cmd=displayKC&externalId=1003806
5.6RunningAdapterDiagnostics
YoucanuseEthtooltorunadapterdiagnostictests.Testscanberunoffline(default)
oronline.Offlinerunsthefullsetoftests,possiblycausingnormaloperation
interruptionduringtesting.Onlineperformsalimitedsetoftestswithoutaffecting
normaladapteroperation.
Asrootuser,enterthefollowingcommand:
ethtool‐‐testvmnicXoffline|online
Thetestsrunbythecommandareasfollows:
Table62: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
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 270
5.7SolarflareUtilitiesPackage
TheSolarflareLinuxandVMwareESXUtilitiesSourcepackage(SF‐105095‐LS)is
availablefromtheSolarflaresupportdownloadsite:https://
support.solarflare.com/‐(Downloads>Linux>Misc).
Theutilities(sfboot,sfupdate,sfkey,sfctool)canbebuiltonastandardLinuxOS
serveri.e.RHEL,beforethebinaryutilitiesareextractedfromtheRPMpackageand
copiedtotheESXihost.
1DownloadpackageSF‐105095‐LStoatempdirectory(e.g/tmp)onastandard
Linuxmachine:
SF‐105095‐LS‐Solarflare_Linux_and_VMware_ESX_Utilities_Source.zip
2UnzipandbuildthebinaryRPMinthetempdirectoryfromthesourcepackage:
#cd/tmp
#unzipSF‐105095‐LS‐Solarflare_Linux_and_VMware_ESX_Utilities_Source.zip
#rpmbuild‐‐rebuildsfutils‐<version>.src.rpm
The“Wrote…”lineattheendofthebuildprocessidentifiesthelocationofthe
binaryRPM:
Wrote:/root/rpmbuild/RPMS/x86_64/sfutils‐<version>.x86_64.rpm
3Identifywherethebinarytoolswouldbeinstalled(butdon’tactuallyinstall
them):
#rpm‐qlp/root/rpmbuild/RPMS/x86_64/sfutils‐<version>.x86_64.rpm
/usr/sbin/sfaoepackage
/usr/sbin/sfboot
/usr/sbin/sfctool
/usr/sbin/sfkey
/usr/sbin/sfupdate
4Fromthebinaryextracttheutilitytools(sfupdateexample):
#rpm2cpio/root/rpmbuild/RPMS/x86_64/sfutils‐<version>.x86_64.rpm\
|cpio‐ivd./usr/sbin/sfupdate
NOTEthe.(dot)beforethe/usr/sbin/sfupdatetocreatethedirectories
andcopythefilewithinthecurrentdirectory.
chanXeventq.poll Verifiestheadapter’seventhandlingcapabilitiesbyposting
asoftwareeventoneacheventqueuecreatedbythedriver
andcheckingitisdeliveredcorrectly.
Thedriverutilizesmultipleeventqueuestospreadtheload
overmultipleCPUcores(RSS).
phy.bist ExaminesthePHYbyinitializingitandcausinganyavailable
built‐inselfteststorun.
Table62:AdapterDiagnosticTests
DiagnosticTest Purpose
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 271
5CopythebinaryutilitiestotheESXimachineandrunthem.
BydefaultremotecommandexecutionisdisabledonanESXihostsoSSHaccess
mustbeenabledfromtheconsoleorfromthevSphereclienttoallowremotelogin
andsecurecopy‐refertothefollowingdocumentationforSSHenabling
procedures:
https://pubs.vmware.com/vsphere‐51/
index.jsp?topic=%2Fcom.vmware.vcli.getstart.doc%2Fcli_jumpstart.3.6.html
5.8ConfiguringtheBootROMwithSfboot
•Sfboot:CommandUsageonpage271
•Sfboot:CommandLineOptionsonpage272
•Sfboot:Examplesonpage278
SfbootisacommandlineutilityforconfiguringSolarflareadapterBootROM
options,includingoptionsforPXEandUEFIbooting.Usingsfbootisanalternative
tousingCtrl+BtoaccesstheBootRomagentduringserverstartup.
SeeSolarflareBootManageronpage374formoreinformationontheBootRom
agent.
Sfboot:CommandUsage
LogintotheVMwareServiceConsoleasroot,andenterthefollowingcommand:
sfboot[‐‐adapter=vmnicX][options][parameters]
Notethatwithout‐‐adapter,thesfbootcommandappliestoalladaptersthatare
presentinthetargethost.
Theformatfortheparametersare:
<parameter>=<value>
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 272
Sfboot:CommandLineOptions
Table63liststheoptionsforsfboot.exe,Table64liststheavailableglobal
parameters,andTable65liststheavailableper‐adapterparameters.Notethat
commandlineoptionsarecaseinsensitiveandmaybeabbreviated.
NOTE:Abbreviationsinscriptsshouldbeavoided,sincefutureupdatestothe
applicationmayrenderabbreviatedscriptsinvalid.
Table63:SfbootOptions
Option Description
‐?,‐h,‐‐help Displayscommandlinesyntaxandprovidesadescriptionofeach
sfbootoption.
‐V,‐‐version Showsdetailedversioninformationandexits.
‐‐nologo Hidetheversionandcopyrightmessageatstartup.
‐v,‐‐verbose Showsextendedoutputinformationforthecommandentered.
‐y,‐‐yes Updatewithoutprompting.
‐s,‐‐quiet
Aliases:‐‐silent
Suppressesalloutput,includingwarningsanderrors;nouser
interaction.Youshouldquerythecompletioncodetodeterminethe
outcomeofcommandswhenoperatingsilently(seePerformance
TuningonWindowsonpage228).
‐‐log<filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specify‐‐silenttosuppresssimultaneousoutputtoscreen,
ifrequired.
‐‐computer<computer_name> Performstheoperationonaspecifiedremotecomputer.
Administratorrightsontheremotecomputerisrequired.
‐‐list ListsallavailableSolarflareadapters.Thisoptionshowstheifname
andMACaddress.
Note:thisoptionmaynotbeusedinconjunctionwithanyother
option.Ifthisoptionisusedwithconfigurationparameters,those
parameterswillbesilentlyignored.
‐i,‐‐adapter=<vmnicX> PerformstheactionontheidentifiedSolarflarenetworkadapter.
TheadapteridentifiervmnicXcanbethenameorMACaddress,as
outputbythe‐‐listoption.If‐‐adapterisnotincluded,the
actionwillapplytoallinstalledSolarflareadapters.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 273
ThefollowingglobalparametersinTable64areusedtocontroltheconfigurable
parametersfortheBootROMdriverwhenrunningpriortotheoperatingsystem
booting.
‐‐clear Resetsalloptionstotheirdefaultvalues.Ifanadapterisspecified,
optionsforthegivenadapterarereset,butglobaloptions(shownin
Table64)arenotreset.Notethat‐‐clearcanalsobeusedwith
parameters,allowingyoutoresettodefaultvalues,andthenapply
theparametersspecified.
‐r‐‐repair Restoreconfigurationsettingstofirmwaredefaults.
Table63:SfbootOptions
Option Description
Table64:SfbootGlobalParameters
Parameter Description
boot‐image=
all|optionrom|uefi|disabled
Specifieswhichbootfirmwareimagesareserved‐uptothe
BIOSduringstart‐up.Thisparametercannotbeusedifthe
‐‐adapteroptionhasbeenspecified.
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.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 274
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.
insecure‐filters=
enabled|disabled
Ifenabledbypassfiltersecurityonnon‐privileged
functions.ThisisforSFN7000andSFN8000seriesadapters
only.Thisreducessecurityinvirtualizedenvironments.The
defaultisdisabled.Whenenabledafunction(PForVF)can
insertfiltersnotqualifiedbytheirownpermanentMAC
address.ThisisarequirementwhenusingOnloadorwhen
usingbondedinterfaces.
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.
Table64:SfbootGlobalParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 275
tx‐dc‐size=8|16|32|64 Specifiesthesizeofthedescriptorcacheforeachtransmit
queue.ThisisforSFN7000andSFN8000seriesadapters
only.Thedefaultis:
•32iftheport‐modesupportsthemaximumnumberof
connectorsfortheadapter
•64iftheport‐modesupportsareducednumberof
connectors.
change‐mac=
default|enabled|disabled
ThisisforSFN7000andSFN8000seriesadaptersonly.
ChangetheunicastMACaddressfornon‐privileged
functionsonthisport.Thisisaglobaloptionandappliesto
allphysicalportsontheNIC.
vi‐count=<vicount> Setsthetotalnumberofvirtualinterfacesthatwillbe
availableontheNIC.
event‐merge‐timeout=
<timeoutinnanoseconds>
SpecifiesthetimeoutinnanosecondsforRXeventmerging.
Atimeoutof0meansthateventmergingisdisabled.
Table64:SfbootGlobalParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 276
Thefollowingper‐adapterparametersinTable65areusedtocontrolthe
configurableparametersfortheBootROMdriverwhenrunningpriortothe
operatingsystembooting.
Table65: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|uefi|disabled Setstheadapterboottype–effectiveonnextboot.
pxe–PXE(PrebooteXecutionEnvironment)booting
disabled–Disableadapterbooting
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 277
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.
Table65:SfbootPer‐adapterParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 278
Sfboot:Examples
•Showthecurrentbootconfigurationforalladapters:
sfboot
Solarflarebootconfigurationutility[v3.0.3]
CopyrightSolarflareCommunications2006‐2010,Level5Networks2002‐2005
eth1:
BootimageOptionROMandUEFI
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
MSI‐Xinterruptlimit32
eth2:
BootimageOptionROMandUEFI
LinkspeedNegotiatedautomatically
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.
Table65:SfbootPer‐adapterParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 279
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
MSI‐Xinterruptlimit32
5.9UpgradingAdapterFirmwarewithsfupdate
•Sfupdate:CommandUsageonpage279
•Sfupdate:CommandLineOptionsonpage279
•Sfupdate:Examplesonpage281
SfupdateisacommandlineutilityusedtomanageandupgradetheSolarflare
adapterBootROM,Phyandadapterfirmware.Embeddedwithinthesfupdate
executableisfirmwareimagesforvariousSolarflareadapters‐theexactupdates
availableviasfupdatearethereforedependonyouradapter.
Sfupdate:CommandUsage
LogintotheVMwareServiceConsoleasroot,andenterthefollowingcommand:
sfupdate[‐‐adapter=vmnicX][options]
where:
•vmnicXistheinterfacenameoftheSolarflareadapteryouwanttoupgrade.
Specifyingtheadapterisoptional‐ifitisnotincludedthecommandisapplied
toallSolarflareadaptersinthemachine.
•optionisoneofthecommandoptionslistedinTable66.
Theformatfortheoptionsare:
<option>=<parameter>
Runningthecommandsfupdatewithnoadditionalparameterswillshowthe
currentfirmwareversionforallSolarflareadaptersandwhetherthefirmware
withinsfupdateismoreuptodate.ToupdatethefirmwareforallSolarflare
adaptersrunthecommandsfupdate‐‐write
Solarflarerecommendthatyouusesfupdateinthefollowingway:
1Runsfupdatetocheckthatthefirmwareonallyouradaptersareuptodate.
2Runsfupdate‐‐writetoupdatethefirmwareonalladapters.
Sfupdate:CommandLineOptions
Table66liststheoptionsforsfupdate.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 280
Table66:SfupdateOptions
Option Description
‐h,‐‐help Showshelpfortheavailableoptionsandcommandlinesyntax.
‐v,‐‐verbose Verboseoutputmode.
‐s,‐‐silent Suppressalloutputexcepterrors.Usefulforscripting.
‐V,‐‐version DIsplayversionnumberinformationandexit.
‐i,‐‐adapter=vmnicX Specifiesthetargetadapterwhenmorethanoneadapterisinstalled
inthelocalhost.
vmnicX=AdapterinterfacenameorMACaddress(asobtainedwith
‐‐list).
‐‐list ShowstheadapterID,adapternameandMACaddressofeach
adapterinstalledinthelocalhost,oronthetargetwhen‐‐
computerisspecified.
‐‐write Writesthefirmwarefromtheimagesembeddedinsfupdate.Touse
anexternalimage,specify‐‐image=<filename>inthecommand.
‐‐writefailsiftheembeddedimageisthesameoraprevious
versiontothatintheadapter.Toforceawriteinthiscase,specify‐
‐forceinthecommand.
‐‐force Forceupdateofallfirmware,eveniftheinstalledfirmwareversion
isthesameormorerecent.
Ifrequired,usethisoptionwith‐‐write.
‐‐image=<filename> Specifiesaspecificfirmwareimage.
Thisoptionisnotnormallyrequiredandisonlynecessaryifyouneed
toprovidewritingthesfupdateembeddedimagefile.
‐‐ipxe‐image=<filename> InstallaniPXEimagefromthegivenfile,replacingtheSolarflare
bootROMimage.sfupdatewillnotautomaticallyreplacetheiPXE
imageinsubsequentflashupdatesunlessthe‐‐restore‐bootrom
optionisused.
‐‐restore‐bootrom ReplaceaniPXEimageinflashwiththestandardSolarflareBoot
ManagerPXEimageincludedinsfupdate.
‐y,‐‐yes Promptsforuserconfirmationbeforewritingthefirmware.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 281
Sfupdate:Examples
• ListallSolarflareadaptersinstalledonthehostwiththeinstalledfirmware:
sfupdate
Solarflarefirmwareupdateutility[v3.0.3]
CopyrightSolarflareCommunications2006‐2010,Level5Networks2002‐2005
eth1‐MAC:00‐0F‐53‐01‐39‐70
Firmwareversion:v3.0.3
PHYtype:QT2025C
PHYversion:v2.0.2.5
Controllertype:SolarflareSFC4000
Controllerversion:v3.0.3.2127
bootROMversion:v3.0.3.2127
ThePHYfirmwareisuptodate
ThebootROMfirmwareisuptodate
Thecontrollerfirmwareisuptodate
eth2‐MAC:00‐0F‐53‐01‐39‐71
Firmwareversion:v3.0.2
PHYtype:QT2025C
PHYversion:v2.0.2.5
ThePHYfirmwareisuptodate
5.10PerformanceTuningonVMware
•Introductiononpage281
•TuningSettingsonpage282
•OtherConsiderationsonpage286
Introduction
TheSolarflarefamilyofnetworkadaptersaredesignedforhigh‐performance
networkapplications.Theadapterdriverispre‐configuredwithdefault
performancesettingsthathavebeendesignedtogivegoodperformanceacrossa
broadclassofapplications.Inmanycases,applicationperformancecanbe
improvedbytuningthesesettingstobestsuittheapplication.
Therearethreemetricsthatshouldbeconsideredwhentuninganadapter:
• Throughput
•Latency
•CPUutilization
Differentapplicationsmaybemoreorlessaffectedbyimprovementsinthesethree
metrics.Forexample,transactional(request‐response)networkapplicationscanbe
verysensitivetolatencywhereasbulkdatatransferapplicationsarelikelytobe
moredependentonthroughput.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 282
Thepurposeofthissectionistohighlightadapterdriversettingsthataffectthe
performancemetricsdescribed.Thisguidecoversthetuningofallmembersofthe
Solarflarefamilyofadapters.Performancebetweenadaptersshouldbeidentical,
withtheexceptionoflatencymeasurements.
Latencywillbeaffectedbythetypeofphysicalmediumused:CX4,XFP,10GBase‐T
orSFP+.Thisisbecausethephysicalmediainterfacechip(PHY)usedontheadapter
canintroduceadditionallatency.
TuningSettings
InstallVMwareToolsintheGuestPlatform
InstallingVMwaretoolswillgivegreatlyimprovednetworkingperformanceinthe
guest.IfVMwareToolsarenotinstalled,ESXemulatesaPC‐Lancedeviceinthe
guest.IfVMwareToolsareinstalled,theguestwillseeavirtualadapteroftype
vmxnet.
TocheckthatVMwareToolsareinstalled:
1FromtheVMwareInfrastructureClient,poweronthevirtualmachineand
clicktheSummarytab.
2IntheGeneralpanel,checkthestatusofVMwareTools.
ToinstallVMwareTools:
1Poweronthevirtualmachine
2FromtheInventory>VirtualMachinemenu,selectInstall/UpgradeVMware
Tools.
ThiswillmountavirtualCD‐ROMintheguestOS.IftheguestOSisWindows,itcan
autoruntheCDandinstalltools(ifnot,navigatetotheCD‐ROMdeviceandrunthe
setupprogramyourself).IftheguestisaLinuxOS,youmustmounttheCD,install
thetools,andconfigurethem.Forexample,iftheguestisRedHat:
#mount/dev/cdrom/mnt
#rpm–i/mnt/VMwareTools*.rpm
#vmware‐tools‐config.pl
VMwareESXNetQueue
SolarflareadapterssupportsVMware’sNetQueuetechnology,whichaccelerates
networkperformancein10GigabitEthernetvirtualizedenvironments.NetQueueis
enabledbydefaultinVMwareversions.Thereisusuallynoreasonnottoenable
NetQueue.
NOTE:VMwareNetQueueacceleratesbothreceiveandtransmittraffic.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 283
BindingNetQueuequeuesandVirtualMachinestoCPUs
Dependingontheworkload,NetQueuecanshowimprovedperformanceifeachof
thequeues’associatedinterruptandthevirtualmachinearepinnedtothesame
CPU.Thisisparticularlytrueofworkloadswheresustainedhighbandwidthisevenly
distributedacrossmultiplevirtualmachines(suchasyoumightdowhen
benchmarking).TopinaVirtualMachinetooneormoreCPUs:
1LogintotheVMwareInfrastructureClient.
2Expandthehostandselectthevirtualmachinetopinfromtheinventorypanel.
3SelecttheSummarytabforthatvirtualmachine.
4ClickEditSettings.
5FromtheresultingdialogboxselecttheResourcestab
6ClickAdvancedCPUontheleft.
7SelecttheCPU(s)towhichthevirtualmachineistobebound(ontherighthand
sideofthedialogbox).
Tobindaqueue’sinterrupttoaCPU,fromtheVMwareESXconsoleOSenter:
#echomove$IRQVEC$CPU>/proc/vmware/intr‐tracker
(Where$IRQVECistheinterruptvectorinhex,and$CPUistheCPUnumberin
decimal.)
Todeterminethevaluefor$IRQVECenter:
#cat/proc/vmware/interrupts
LocatetheinterruptsassociatedwiththeSolarflareadapter(e.g.vmnic2).Interrupts
arelistedinorder:thefirstinterruptwillbeforthedefaultqueue,thesecond
interruptforthequeuededicatedtothefirstvirtualmachinetohavebeenstarted,
thethirdinterruptforthequeuededicatedtothesecondvirtualmachinetohave
beenstarted,andsoon.
Iftherearemorevirtualmachine’sthanCPUsonthehost,optimalperformanceis
obtainedbypinningeachvirtualmachineandassociatedinterrupttothesameCPU.
IftherearefewervirtualmachinesthanCPUs,optimalresultsareobtainedby
pinningthevirtualmachineandassociatedinterruptrespectivelytotwocores
whichshareanL2cache.
AdapterMTU(MaximumTransmissionUnit)
ThedefaultMTUof1500bytesensuresthattheadapteriscompatiblewithlegacy
10/100MbpsEthernetendpoints.HoweverifalargerMTUisused,adapter
throughputandCPUutilizationcanbeimproved.CPUutilizationisimproved
becauseittakesfewerpacketstosendandreceivethesameamountofdata.
Solarflareadapterssupportframesizesupto9216bytes(thisdoesnotincludethe
Ethernetpreambleorframe‐CRC).
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 284
SincetheMTUshouldideallybematchedacrossallendpointsinthesameLAN
(VLAN),andsincetheLANswitchinfrastructuremustbeabletoforwardsuch
packets,thedecisiontodeployalargerthandefaultMTUrequirescareful
consideration.ItisrecommendedthatexperimentationwithMTUbedoneina
controlledtestenvironment.
TochangetheMTUofthevSwitch,fromtheVMwareConsoleOSenter:
#esxcfg‐vswitch‐‐mtu<size><vSwitch>
ToverifytheMTUsettings,aswellasobtainingalistofvSwitchesinstalledonthe
host,enter:
#esxcfg‐vswitch‐‐list
ThechangeinMTUsizeofthevSwitchwillpersistacrossrebootsoftheVMwareESX
host.
InterruptModeration(InterruptCoalescing)
Interruptmoderationcontrolsthenumberofinterruptsgeneratedbytheadapter
byadjustingtheextenttowhichreceivepacketprocessingeventsarecoalesced.
Interruptmoderationmaycoalescemorethanonepacket‐receptionortransmit‐
completioneventintoasingleinterrupt.
Bydefault,adaptivemoderationisenabled.Adaptivemoderationmeansthatthe
networkdriversoftwareadaptstheinterruptmoderationsettingaccordingtothe
trafficandworkloadsitsees.
Alternatively,youcansetthemoderationintervalmanually.Youwouldnormally
onlydothisifyouareinterestedinreducinglatency.To dothisyoumustfirstdisable
adaptivemoderationwiththefollowingcommand,wherevmnicXistheinterface
name.
ethtool‐C<vmnicX>adaptive‐rxoff
NOTE:adaptive‐rxmayalreadyhavebeendisabled.ConsultyourVMware
documentationfordetails.
Interruptmoderationcanbechangedusingethtool,wherevmnicXistheinterface
nameandintervalisthemoderationsettinginmicroseconds(μs).Specifying0as
theintervalparameterwillturninterruptmoderationoff:
ethtool–C<vmnicX>rx‐usecs‐irq<interval>
Verificationofthemoderationsettingsmaybeperformedbyrunningethtool–c
Thisparameteriscriticalfortuningadapterlatency.Increasingthemoderationvalue
willincreaselatency,butreduceCPUutilizationandimprovepeakthroughput,ifthe
CPUisfullyutilized.Decreasingthemoderationvalueorturningitoffwilldecrease
latencyattheexpenseofCPUutilizationandpeakthroughput.However,formany
transactionrequest‐responsetypenetworkapplications,thebenefitofreduced
latencytooverallapplicationperformancecanbeconsiderable.Suchbenefitsmay
outweighthecostofincreasedCPUutilization.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 285
NOTE:Theinterruptmoderationtimedictatestheminimumgapbetweentwo
consecutiveinterrupts.Itdoesnotmandateadelayonthetriggeringofaninterrupt
onthereceptionofeverypacket.Forexample,aninterruptmoderationsettingof
30µswillnotdelaythereceptionofthefirstpacketreceived,buttheinterruptfor
anyfollowingpacketswillbedelayeduntil30µsafterthereceptionofthatfirst
packet.
TCP/IPChecksumOffload
ChecksumoffloadmovescalculationandverificationofIPHeader,TCPandUDP
packetchecksumstotheadapter.Thedriverbydefaulthasallchecksumoffload
featuresenabled.Therefore,thereisnoopportunitytoimproveperformancefrom
thedefault.
Checksumoffloadiscontrolledusingethtool:
ReceiveChecksum:
#/sbin/ethtool–K<vmnicX>rx<on|off>
TransmitChecksum:
#/sbin/ethtool–K<vmnicX>tx<on|off>
Verificationofthechecksumsettingsmaybeperformedbyrunningethtoolwiththe
–koption.Solarflarerecommendyoudonotdisablechecksumoffload.
Foradviceonconfiguringchecksumoffloadintheguest,consulttherelevant
Solarflaresectionforthatguest,orthedocumentationfortheguestoperating
system.
TCPSegmentationOffload(TSO)
TCPSegmentationoffload(TSO)offloadsthesplittingofoutgoingTCPdatainto
packetstotheadapter.TCPsegmentationoffloadbenefitsapplicationsusingTCP.
NonTCPprotocolapplicationswillnotbenefit(butwillnotsuffer)fromTSO.
EnablingTCPsegmentationoffloadwillreduceCPUutilizationonthetransmitside
ofaTCPconnection,andsoimprovepeakthroughput,iftheCPUisfullyutilized.
SinceTSOhasnoeffectonlatency,itcanbeenabledatalltimes.ThedriverhasTSO
enabledbydefault.Therefore,thereisnoopportunitytoimproveperformance
fromthedefault.
NOTE:TSOcannotbecontrolledviathehostonVMwareESX.Itcanonlybe
controlledviatheguestOperatingSystem.
TCPLargeReceiveOffload(LRO)
TCPLargeReceiveOffload(LRO)isafeaturewherebytheadaptercoalescesmultiple
packetsreceivedonaTCPconnectionintoasinglecalltotheoperatingsystemTCP
Stack.ThisreducesCPUutilization,andsoimprovespeakthroughputwhentheCPU
isfullyutilized.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 286
LROshouldnotbeenabledifyouareusingthehosttoforwardpacketsfromone
interfacetoanother;forexampleifthehostisperformingIProutingoractingasa
layer2bridge.
LROissupported,andenabledbydefault,onVMwareversionslaterthanESX3.5.
TCPProtocolTuning
TCPPerformancecanalsobeimprovedbytuningkernelTCPsettings.Settings
includeadjustingsendandreceivebuffersizes,connectionbacklog,congestion
control,etc.
Typicallyitissufficienttotunejustthemaxbuffervalue.Itdefinesthelargestsize
thebuffercangrowto.Suggestedalternatevaluesaremax=500000(1/2Mbyte).
Factorssuchaslinklatency,packetlossandCPUcachesizeallinfluencetheaffectof
themaxbuffersizevalues.Theminimumanddefaultvaluescanbeleftattheir
defaultsminimum=4096anddefault=87380.
ForadviceontuningtheguestTCPstackconsultthedocumentationfortheguest
operatingsystem.
ReceiveSideScaling(RSS)
SolarflareadapterssupportReceiveSideScaling(RSS).RSSenablespacketreceive‐
processingtoscalewiththenumberofavailableCPUcores.RSSrequiresaplatform
thatsupportsMSI‐Xinterrupts.RSSisenabledbydefault.
WhenRSSisenabledthecontrollerusesmultiplereceivequeuesintowhichto
deliverincomingpackets.Thereceivequeueselectedforanincomingpacketis
choseninsuchawayastoensurethatpacketswithinaTCPstreamareallsentto
thesamereceivequeue–thisensuresthatpacket‐orderingwithineachstreamis
maintained.EachreceivequeuehasitsowndedicatedMSI‐Xinterruptwhichideally
shouldbetiedtoadedicatedCPUcore.ThisallowsthereceivesideTCPprocessing
tobedistributedamongsttheavailableCPUcores,providingaconsiderable
performanceadvantageoveraconventionaladapterarchitectureinwhichall
receivedpacketsforagiveninterfaceareprocessedbyjustoneCPUcore.
RSSwillbeenabledwheneverNetQueueisnotandSolarflarerecommendusing
NetQueueonVMwareESXhosts.
OtherConsiderations
PCIExpressLaneConfigurations
ThePCIExpress(PCIe)interfaceusedtoconnecttheadaptertotheservercan
functionatdifferentwidths.Thisisindependentofthephysicalslotsizeusedto
connecttheadapter.Thepossiblewidthsaremultiplesx1,x2,x4,x8andx16lanes
of(2.5GbpsforPCIeGen.1,5.0GbpsforPCIeGen.2)ineachdirection.Solarflare
Adaptersaredesignedforx8laneoperation.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 287
Onsomeservermotherboards,choiceofPCIeslotisimportant.Thisisbecause
someslots(includingonesthatarephysicallyx8orx16lanes)mayonlyelectrically
supportx4lanes.Inx4laneslots,SolarflarePCIeadapterswillcontinuetooperate,
butnotatfullspeed.TheSolarflaredriverwillwarnyouifitdetectstheadapteris
pluggedintoaPCIeslotwhichelectricallyhasfewerthanx8lanes.
ForSFN5000seriesadapters,whichrequireaPCIeGen.2slotforoptimaloperation,
awarningwillbegiveniftheyareinstalledinaPCIeGen.1slot.Warningmessages
canbeviewedindmesgfrom/var/log/messages.
Memorybandwidth
Manychipsets/CPUsusemultiplechannelstoaccessmainsystemmemory.
Maximummemoryperformanceisonlyachievedwhentheservercanmakeuseof
allchannelssimultaneously.Thisshouldbetakenintoaccountwhenselectingthe
numberofDIMMstopopulateintheserver.Consultyourmotherboard
documentationfordetails.
Intel®QuickData
Intel®QuickDataTechnologyallowsVMwareESXtodatacopybythechipsetinstead
oftheCPU,tomovedatamoreefficientlythroughtheserverandprovidefast,
scalable,andreliablethroughput.
I/OATcanbeenabledonthehostandonguestoperatingsystems.Foradviceon
enablingI/OATintheguest,consulttherelevantSolarflaresectionforthatguest,or
thedocumentationfortheguestoperatingsystem.I/OATmustbeenabledonthe
hostifitistobeusedintheguests.
ToenableI/OATontheVMwareESXhost:
OnsomesystemsthehardwareassociatedwithI/OATmustfirstbeenabledinthe
BIOS
LogintotheConsoleOSontheVMwareESXhost,andenter:
#esxcfg‐advcfg‐s1/Net/TcpipUseIoat
ReboottheVMwareESXhost
ToverifyI/OATisenabled,fromtheConsoleOSenter:
#vmkload_mod‐l|grep‐iioat
NOTE:ThefollowingVMwareKBarticleshouldbereadwhenenablingI/OAT:
http://kb.vmware.com/selfservice/microsites/
search.do?language=en_US&cmd=displayKC&externalId=1003712
SolarflareServerAdapterUserGuide
SolarflareAdaptersonVMware
Issue20 ©SolarflareCommunications2017 288
ServerMotherboard,ServerBIOS,ChipsetDrivers
Tuningorenablingothersystemcapabilitiesmayfurtherenhanceadapter
performance.Readersshouldconsulttheirserveruserguide.Possibleopportunities
includetuningPCIememorycontroller(PCIeLatencyTimersettingavailableinsome
BIOSversions).
SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 289
6SolarflareAdaptersonFreeBSD
ThischaptercoversthefollowingtopicsontheFreeBSDplatform:
•SystemRequirementsonpage289
•FreeBSDPlatformFeatureSetonpage290
•InstallingSolarflareDriversonpage290
•UnattendedInstallationonpage292
•ConfiguringtheSolarflareAdapteronpage294
•SettingUpVLANsonpage295
•FreeBSDUtilitiesPackageonpage296
•ConfiguringtheBootROMwithsfbootonpage297
•UpgradingAdapterFirmwarewithsfupdateonpage303
•PerformanceTuningonFreeBSDonpage305
•ModuleParametersonpage315
•KernelandNetworkAdapterStatisticsonpage317
6.1SystemRequirements
RefertoSoftwareDriverSupportonpage17fordetailsofsupportedFreeBSD
distributions.
NOTE:FreeBSDincludesapreviousversionoftheSolarflareadapterdriverthat
doesnotsupportallfeaturesofthisversion.Toupdatethesupplieddriver,see
InstallingSolarflareDriversonpage290.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 290
6.2FreeBSDPlatformFeatureSet
Table67liststhefeaturessupportedbySolarflareadaptersonFreeBSD.
6.3InstallingSolarflareDrivers
TheFreeBSDdriversforSolarflareareavailableinasourcepackage.
•ApackageisavailableforFreeBSD10.0and10.1:
‐ thispackagemightperformcorrectlywithotherFreeBSDkernels,buthas
notbeentestedwiththem
‐ forfurtherdetailsseetheReleaseNotes.
NOTE:TheSolarflareadaptershouldbephysicallyinstalledinthehostcomputer
beforeyouattempttoinstalldrivers.Youmusthaverootpermissionstoinstallthe
adapterdrivers.
Table67:FreeBSDFeatureSet
Jumboframes SupportforMTUs(MaximumTransmissionUnits)to
9000bytes.
•SeeConfiguringJumboFramesonpage295
Taskoffloads SupportforTCPSegmentationOffload(TSO),Large
ReceiveOffload(LRO),andTCP/UDP/IPchecksum
offloadforimprovedadapterperformanceand
reducedCPUprocessingrequirements.
•SeeConfiguringTaskOffloadingonpage295
ReceiveSideScaling(RSS) SupportforRSSmulti‐coreloaddistribution
technology.
•SeeReceiveSideScaling(RSS)onpage310
VirtualLANs(VLANs) SupportformultipleVLANsperadapter.
•SeeSettingUpVLANsonpage295
PXEandbooting Supportfordisklessbootingtoatargetoperating
systemviaPXEorUEFIboot.
•SeeConfiguringtheBootROMwithsfbooton
page297
•SeeSolarflareBootManageronpage374
Firmwareupdates SupportforBootROM,PHYtransceiverandadapter
firmwareupgrades.
•SeeUpgradingAdapterFirmwarewith
sfupdateonpage303
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 291
Thissourcecanbeused:
•Tocompileandinstalladriveronadevelopmentmachine.
Thedevelopmentmachinemusthavethefollowinginstalled:
‐ developmenttools
‐ theportssystem,anditsMakefiles
‐ thekernelsource.
•Tocreateabinarydriverpackage,forinstallingonothertargetmachines.
Atargetmachine:
‐ musthavethesamekernelandarchitectureasthedevelopmentmachine
thatbuiltthepackage
‐ doesnotrequireanyofthedevelopmenttoolsorsource.
Toinstallthedriver,usepkgaddorpkg_add.
Thefollowinginstructionsassumethatthesourcepackagehasbeendownloadedto
the/tmpdirectory.
1Ensureyouaretherootuser.Ifnot:
su‐
2ToavoidusingthepreviousdriverthatisdistributedwiththeOS,renameit:
mv/boot/kernel/sfxge.ko/boot/kernel/sfxge.ko_default
‐ Ifdesired,itcaninsteadberemoved:
rm/boot/kernel/sfxge.ko
3Unpackthedownloadedsource:
cd/tmp
tarxvfsfxge‐freebsd‐<version_no>.txz
Forexample:
cd/tmp
tarxvfsfxge‐freebsd‐4.5.3.1002.txz
4Changedirectoryintothesource:
cdsfxge‐freebsd‐<version_no>
Forexample:
cdsfxge‐freebsd‐4.5.3.1002
5Buildthepackage:
makepackage
‐ Ifyoudonothavetheportssysteminstalledyouwillseethiserror:
Theportssystemmustbeinstalledfirst.
‐ Youcaninstalltheportssystembyrunning:
portsnapfetchextract
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 292
6Installthepackage:
makeinstall
‐ thedriver(foruseonthismachine)isinstalledin/boot/modules/
sfxge.ko
‐ thebinarydriverpackage(foruseonothermachines)isinstalledinthe
builddirectoryinwork/package/sfxge‐kmod‐<version_no>.txz,andin
/usr/ports/packages/All/sfxge‐kmod‐<version_no>.txz
7Loadthedriver:
kldload/boot/modules/sfxge.ko
ForinformationonconfiguringthisnetworkinterfaceseeConfiguringtheSolarflare
Adapteronpage294.
6.4UnattendedInstallation
UnattendedinstallationsofFreeBSDcanbeperformedbyPXEbootingoverthe
network,andusingthebsdinstallcommand.Setthisupasfollows:
• EnsurethatDHCPisavailable,withPXEbootoptions.
• EnsurethataTFTPserverisavailable.
• EnsurethataFreeBSDserverisavailable.
ThisisrequiredonlytogeneratetheFreeBSDPXEbootimage:
‐ Downloadthemfsbsdutility(availablefromhttp://mfsbsd.vx.sk/).
InstallitontheFreeBSDserver.1
‐ DownloadtheISOimagefortherequiredFreeBSDrelease.
MountthisbootimageontheFreeBSDserver.
‐ Configureandcustomizethebootimage.
ChangeanyPXEbootsettingsasnecessary.
Modifythe/etc/installerconfigfileinthebootimagetoaddany
post‐installtasks.
‐ UsethemfsbsdutilitytobuildthePXEbootimage,usingthemodified
bootimageassource.
•CopythePXEbootimagetotheTFTPserver
AddaFreeBSDoptiontoitspxelinuxbootmenu.
•PXEbootthetargetserverandselecttheFreeBSDimage.
•TheFreeBSDserverthatwasusedtogeneratetheFreeBSDPXEbootimagecan
nowbere‐used.
1. ThemfsbsdutilityrunsonlyunderFreeBSD.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 293
FreeBSDinstallandbootingisdocumentedasfollows:
•ForinformationonbootingaFreeBSDsystemoverthenetwork,see:
https://www.freebsd.org/cgi/man.cgi?query=diskless&sektion=8
•Forgeneralinformationonusingbsdinstall,see:
https://www.freebsd.org/doc/handbook/bsdinstall.html
•Forareferencedescriptionofthebsdinstallcommand,see:
https://www.freebsd.org/cgi/man.cgi?query=bsdinstall&sektion=8
especiallytheSCRIPTINGsection.
Table68showsanexampletimelineforanunattendedinstallation.
Table68: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
FreeBSDkernelimage.
pxelinuxconfiguration
Kernel,kernelcommand
FreeBSDkernel/
installer
Installerretrieves
configuration.
FreeBSDimage
Installationoccurs Machinereboots /etc/installerconfigfile
TargetFreeBSDkernel kernelreconfigures
networkadapters.
DHCPserver.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 294
6.5ConfiguringtheSolarflareAdapter
Thedriverswillbeloadedaspartoftheaspartoftheinstallation.Howeverthe
adapterwillnotbeconfigured(addingIPaddressandnetmask).
EachSolarflarenetworkadapterinterfacewillbenamedsfxge<n>where<n>isa
uniqueidentifier.TherewillbeoneinterfaceperphysicalportontheSolarflare
adapter.
Toconfiguretheinterfaceandbringituptoallowdatatopass,enterthefollowing:
ifconfigsfxge<n>inet<IPv4address>netmask<netmask>up
Thisconfigurestheinterfaceandinitializesitwiththeupcommand.
NOTE:Thismethodofconfiguringistemporary.Ifyourebootyourcomputerthe
settingswillbelost.Tomakethesesettingspermanent,createentriesinthe
configurationfileasdescribedbelow.
UsingIPv6
ToconfigureusingIPv6,createanIPv6interfacesfxge<n>interfacewithalinklocal
IPv6addressbyentering:
ifconfigsfxge<n>inet6<IPv6address>prefixlen<IPv6prefixlength>
Thisusesautomaticlink‐localaddressconfiguration,whichisenabledbydefaultin
FreeBSD.ItwillgiveanIPv6interfacenameofsfxge<n>:1
UsingaConfigurationFilewithIPv4
Configurationissetinthe/etc/rc.conffile.TherearethreeoptionswithIPv4:
•UsingastaticIPv4address.Tousethisoption,add:
ifconfig_sfxge<n>="inet<IPv4address>netmask<netmask>"
•Usingahostname.Tousethisoption,add:
ifconfig_sfxge<n>="inet<hostname>"
andmodify/etc/hostsand/etc/netmasks
•UsingDHCP.Tousethisoption,add:
ifconfig_sfxge<n>="DHCP"
UsingConfigurationfileswithIPv6
Configurationissetinthe/etc/rc.conffile:
•ForautomaticconfigurationbyStateLessAddressAutoConfiguration(SLAAC),
add:
ifconfig_sfxge<n>_ipv6="inet6accept_rtadv"
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 295
ConfiguringTaskOffloading
Solarflareadapterssupporttransmit(Tx)andreceive(Rx)checksumoffload,aswell
asTCPsegmentationoffload.Toensuremaximumperformancefromtheadapter,
alltaskoffloadsshouldbeenabled,whichisthedefaultsettingontheadapter.For
moreinformation,seePerformanceTuningonFreeBSDonpage305.
ConfiguringJumboFrames
Solarflareadapterssupportaframesize(MTU)from1500bytesto9000bytes.
ThedefaultmaximumdriverMTUsizeis1500bytes.Forexample,tosetanew
framesize(MTU)of9000bytes,enterthefollowingcommand:
ifconfigsfxge<n>inetmtu9000
ToviewthecurrentMTU,enter:
#ifconfigsfxge<n>
sfxge0:flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>metric0mtu1500
...
IfyouwanttohaveanMTUconfiguredwhentheinterfaceisbroughtup,addanmtu
parametertothesinglelineofinterfaceconfigurationdatainthe/etc/rc.conf
file.Forexample:
ifconfig_sfxge<n>="inet<IPv4address>netmask<netmask>mtu<MTUsize>"
6.6SettingUpVLANs
VLANsofferamethodofdividingonephysicalnetworkintomultiplebroadcast
domains.Inenterprisenetworks,thesebroadcastdomainsusuallymatchwithIP
subnetboundaries,sothateachsubnethasitsownVLAN.TheadvantagesofVLANs
include:
•Performance
•Easeofmanagement
•Security
•Trunks
•Youdon'thavetoconfigureanyhardwaredevice,whenphysicallymovingyour
servertoanotherlocation.
TohaveasingleinterfaceexistonmultipleVLANs(iftheportontheconnected
switchissetto“trunked”mode)seethefollowingdocumentation:
http://people.freebsd.org/~arved/vlan/vlan_en.html
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 296
6.7FreeBSDUtilitiesPackage
TheSolarflareFreeBSDUtilitiespackageissuppliedasasourcepackageora64bit
binarypackage,andisavailablefromhttps://support.solarflare.com/.Itcontains
thefollowingutilities:
Bydefault,sfbootandsfupdateareinstalledto/usr/local/sbin,andsfreport
isinstalledto/usr/local/bin.
Buildingandinstallingthesourcepackage
Tobuildandinstallthesourcepackage:
1Unpackthesourcepackage:
tar‐xf<sourcepackagename>
2Gotoitsdirectory:
cd<sourcepackagedir>
3Buildandinstallabinarypackagefromthesource:
makeinstall
Alternatively,tobuildandinstallinseparatesteps:
a) Buildabinarypackagefromthesource:
makepackage
b) Installtheresultingbinarypackage:
pkginstall./work/pkg/sfutils‐<version>.txz
Installingthe64bitbinarypackage
1Installthebinarypackage:
pkginstall<pathtopackagefile>
Table69:UtilitiesPackage
UtilityFile Description
sfupdate Acommandlineutilitythatcontainsanadapterfirmwareversion
whichcanupdateSolarflareadapterfirmware.
sfboot AcommandlineutilityforconfiguringSolarflareadapterBootROM
options,includingPXEandUEFIbooting.
sfreport Acommandlineutilitythatgeneratesadiagnosticlogfileproviding
diagnosticdataabouttheserverandSolarflareadapters.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 297
6.8ConfiguringtheBootROMwithsfboot
•Sfboot:CommandUsageonpage297
•Sfboot:CommandLineOptionsonpage297
•Sfboot:Examplesonpage303
SfbootisacommandlineutilityforconfiguringSolarflareadapterBootROM
options,includingPXEandUEFIbooting.UsingsfbootisanalternativetousingCtrl
+BtoaccesstheBootRomagentduringserverstartup.
SeeSolarflareBootManageronpage374formoreinformationontheBootRom
agent.
Sfboot:CommandUsage
Thegeneralusageforsfbootisasfollows(asroot):
sfboot[‐‐adapter=sfxge<n>][options][parameters]
Notethatwithout‐‐adapter,thesfbootcommandappliestoalladaptersthatare
presentinthetargethost.
Theformatfortheparametersare:
<parameter>=<value>
Sfboot:CommandLineOptions
Table70liststheoptionsforsfboot,Table71liststheavailableglobalparameters,
andTable72liststheavailableper‐adapterparameters.
Table70:SfbootOptions
Option Description
‐h,‐‐help Displayscommandlinesyntaxandprovidesadescriptionofeach
sfbootoption.
‐V,‐‐version Showsdetailedversioninformationandexits.
‐v,‐‐verbose Showsextendedoutputinformationforthecommandentered.
‐s,‐‐silent Suppressesalloutput,includingwarningsanderrors;nouser
interaction.Youshouldquerythecompletioncodetodeterminethe
outcomeofcommandswhenoperatingsilently.
‐‐log<filename> Logsoutputtothespecifiedfileinthecurrentfolderoranexisting
folder.Specify‐‐silenttosuppresssimultaneousoutputtoscreen,
ifrequired.
‐‐computer<computer_name> Performstheoperationonaspecifiedremotecomputer.
Administratorrightsontheremotecomputerisrequired.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 298
ThefollowingglobalparametersinTable71areusedtocontroltheconfigurable
parametersfortheBootROMdriverwhenrunningpriortotheoperatingsystem
booting.
‐‐list ListsallavailableSolarflareadapters.Thisoptionshowsthe
adapter’sIDnumber,ifnameandMACaddress.
Note:thisoptionmaynotbeusedinconjunctionwithanyother
option.Ifthisoptionisusedwithconfigurationparameters,those
parameterswillbesilentlyignored.
‐d,‐‐adapter=<sfxge<n>> PerformstheactionontheidentifiedSolarflarenetworkadapter.
TheadapteridentifiersfxgecanbetheadapterIDnumber,ifname
orMACaddress,asoutputbythe‐‐listoption.If‐‐adapterisnot
included,theactionwillapplytoallinstalledSolarflareadapters.
‐‐clear Resetsalloptionstotheirdefaultvalues.Ifanadapterisspecified,
optionsforthegivenadapterarereset,butglobaloptions(shownin
Table71)arenotreset.Notethat‐‐clearcanalsobeusedwith
parameters,allowingyoutoresettodefaultvalues,andthenapply
theparametersspecified.
Table70:SfbootOptions
Option Description
Table71:SfbootGlobalParameters
Parameter Description
boot‐image=
all|optionrom|uefi|disabled
Specifieswhichbootfirmwareimagesareserved‐uptothe
BIOSduringstart‐up.Thisparametercannotbeusedifthe
‐‐adapteroptionhasbeenspecified.
port‐mode=
default|1x10G|2x10G|4x10G|
2x40G
Configuretheportmodetouse.ThisisforSFN7000and
SFN8000seriesadaptersonly.Thevaluesspecifythe
connectorsavailableafterusinganysplittercables.The
usablevaluesareadapter‐dependent:
• 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.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 299
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.
insecure‐filters=
enabled|disabled
Ifenabledbypassfiltersecurityonnon‐privileged
functions.ThisisforSFN7000andSFN8000seriesadapters
only.Thisreducessecurityinvirtualizedenvironments.The
defaultisdisabled.Whenenabledafunction(PForVF)can
insertfiltersnotqualifiedbytheirownpermanentMAC
address.ThisisarequirementwhenusingOnloadorwhen
usingbondedinterfaces.
mac‐spoofing=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.
Table71:SfbootGlobalParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 300
Thefollowingper‐adapterparametersinTable72areusedtocontrolthe
configurableparametersfortheBootROMdriverwhenrunningpriortothe
operatingsystembooting.
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.
Table71:SfbootGlobalParameters
Parameter Description
Table72: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
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 301
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|uefi|disabled Setstheadapterboottype–effectiveonnextboot.
pxe–PXE(PrebooteXecutionEnvironment)booting
disabled–Disableadapterbooting
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.
Table72:SfbootPer‐adapterParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 302
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.
pf‐vlans=<tag>[,<tag>[,...]]|none CommaseparatedlistofVLANtagsforeachPFintherange
0‐4094‐seesfboot‐‐helpfordetails.
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.
Table72:SfbootPer‐adapterParameters
Parameter Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 303
Sfboot:Examples
•Showthecurrentbootconfigurationforalladapters:
sfboot
Solarflarebootconfigurationutility[v3.0.5]
CopyrightSolarflareCommunications2006‐2010,Level5Networks2002‐2005
sfxge0:
BootimageDisabled
MSI‐Xinterruptlimit32
sfxge1:
BootimageDisabled
MSI‐Xinterruptlimit32
• ListallSolarflareadaptersinstalledonthelocalhost:
sfboot‐‐list
Solarflarebootconfigurationutility[v3.0.5]
CopyrightSolarflareCommunications2006‐2010,Level5Networks2002‐2005
sfxge0‐00‐0F‐53‐01‐38‐40
sfxge1‐00‐0F‐53‐01‐38‐41
6.9UpgradingAdapterFirmwarewithsfupdate
ToUpdateAdapterFirmware
Reinstallthesfutilspackage,asdescribedinFreeBSDUtilitiesPackageon
page296.
Sfupdate:CommandUsage
Thegeneralusageforsfupdateisasfollows(asroot):
sfupdate[‐‐adapter=sfxge<n>][options]
where:
•sfgxe<n>istheinterfacenameoftheSolarflareadapteryouwanttoupgrade.
•optionisoneofthecommandoptionslistedinTable73.
Theformatfortheoptionsare:
‐‐<option>=<parameter>
Runningthecommandsfupdatewithnoadditionalparameterswillshowthe
currentfirmwareversionforallSolarflareadaptersandwhetherthefirmware
withinsfupdateismoreuptodate.ToupdatethefirmwareforallSolarflare
adaptersrunthecommandsfupdate‐‐write
Solarflarerecommendthatyouusesfupdateinthefollowingway:
1Runsfupdatetocheckthatthefirmwareonallyouradaptersareuptodate.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 304
2Runsfupdate‐‐writetoupdatethefirmwareonalladapters.
Sfupdate:CommandLineOptions
Table73liststheoptionsforsfupdate.
Sfupdate:Examples
•Displayfirmwareversionsforalladapters:
sfupdate
sfupdate:SolarflareFirmwareUpdateUtility[v3.0.5.2164]
CopyrightSolarflareCommunications2006‐2010,Level5Networks2002‐2005
Networkadapterdriverversion:v3.0.5.2163
sfxge0‐MAC:00:0F:53:01:38:90
Firmwareversion:v3.0.5
BootROMversion:v3.0.5.2163
Table73:SfupdateOptions
Option Description
‐h,‐‐help Showshelpfortheavailableoptionsandcommandlinesyntax.
‐v,‐‐verbose Enableverboseoutputmode.
‐s,‐‐silent Suppressalloutputexceptforerrors.Usefulforscripts.
‐V,‐‐version Displayversioninformationandexit.
‐i,‐‐adapter=sfxge<n> Specifiesthetargetadapterwhenmorethanoneadapterisinstalledinthe
machine.
sfxge<n>=AdapterifnameorMACaddress(asobtainedwith‐‐list).
‐‐list ShowstheadapterID,adapternameandMACaddressofeachadapter
installedinthemachine.
‐‐write Re‐writesthefirmwarefromtheimagesembeddedinthesfupdatetool.
Tore‐writeusinganexternalimage,specify
‐‐image=<filename>inthecommand.
‐‐writefailsiftheembeddedimageisthesameorapreviousversion.To
forceawriteinthiscase,specifytheoption‐‐force.
‐‐force Forceupdateofallfirmware,eveniftheinstalledfirmwareversionisthe
sameormorerecentthantheimagesembeddedintheutility.
‐‐image=(filename) Updatethefirmwareusingtheimagecontainedinthespecifiedfile,rather
thantheimageembeddedintheutility.Usewiththe‐‐writeand,if
needed,‐‐forceoptions.
‐y,‐‐yes Promptsforuserconfirmationbeforere‐writingthefirmware.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 305
PHYversion:v2.0.2.5
Controllerversion:v3.0.5.2161
TheBootROMfirmwareisuptodate
ThePHYfirmwareisuptodate
TheimagecontainsamorerecentversionoftheController[v3.0.5.2163]
vs[v3.0.5.2161]
Usethe‐w|‐‐writeoptiontoperformanupdate
sfxge1‐MAC:00:0F:53:01:38:91
Firmwareversion:v3.0.5
BootROMversion:v3.0.5.2163
PHYversion:v2.0.2.5
Controllerversion:v3.0.5.2161
TheBootROMfirmwareisuptodate
ThePHYfirmwareisuptodate
TheimagecontainsamorerecentversionoftheController[v3.0.5.2163]
vs[v3.0.5.2161]
Usethe‐w|‐‐writeoptiontoperformanupdate
6.10PerformanceTuningonFreeBSD
•Introductiononpage305
•Tuningsettingsonpage306
•OtherConsiderationsonpage311
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.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 306
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,wheresfxge<n>istheinterface
nameand<size>istheMTUsizeinbytes:
#ifconfigsfxge<n>mtu<size>
VerificationoftheMTUsettingmaybeperformedbyrunningifconfigwithno
optionsandcheckingtheMTUvalueassociatedwiththeinterface.Thechangein
MTUsizecanbemadetopersistacrossrebootsbyeditingthe/etc/rc.conffile
andaddinganmtuparametertothesinglelineofinterfaceconfigurationdata.For
example:
ifconfig_sfxge<n>="inet<IPv4address>netmask<netmask>mtu<size>"
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 307
InterruptModeration(InterruptCoalescing)
Interruptmoderationreducesthenumberofinterruptsgeneratedbytheadapterby
coalescingmultiplereceivedpacketeventsand/ortransmitcompletionevents
togetherintoasingleinterrupt.
Theinterruptmoderationintervalsetstheminimumtime(inmicroseconds)
betweentwoconsecutiveinterrupts.Coalescingoccursonlyduringthisinterval:
•Whenthedrivergeneratesaninterrupt,itstartstimingthemoderation
interval.
•Anyeventsthatoccurbeforethemoderationintervalexpiresarecoalesced
togetherintoasingleinterrupt,thatisraisedonlywhentheintervalexpires.
Anewmoderationintervalthenstarts,duringwhichnointerruptisraised.
•Aneventthatoccursafterthemoderationintervalhasexpiredgetsitsown
dedicatedinterrupt,thatisraisedimmediately.
Anewmoderationintervalthenstarts,duringwhichnointerruptisraised.
Interruptmoderationsettingsarecriticalfortuningadapterlatency:
• Increasingtheinterruptmoderationintervalwill:
‐ generatelessinterrupts
‐ reduceCPUutilization(becausetherearelessinterruptstoprocess)
‐ increaselatency
‐ improvepeakthroughput.
• Decreasingtheinterruptmoderationintervalwill:
‐ generatemoreinterrupts
‐ increaseCPUutilization(becausetherearemoreinterruptstoprocess)
‐ decreaselatency
‐ reducepeakthroughput.
• Turningoffinterruptmoderationwill:
‐ generatethemostinterrupts
‐ givethehighestCPUutilization
‐ givethelowestlatency
‐ givethebiggestreductioninpeakthroughput.
Formanytransactionrequest‐responsetypenetworkapplications,thebenefitof
reducedlatencytooverallapplicationperformancecanbeconsiderable.Such
benefitstypicallyoutweighthecostofincreasedCPUutilization.Itisrecommended
that:
• Interruptmoderationisdisabledforapplicationsthatrequirebestlatencyand
jitterperformance,suchasmarketdatahandling.
• Interruptmoderationisenabledforhighthroughputsingle(orfew)connection
TCPstreamingapplications,suchasiSCSI.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 308
Interruptmoderationischangeddynamicallyusingsysctl.
Tosettheinterruptmoderation,wheresfxge<n>istheinterfacename,andthe
<interval>isinmicroseconds(μs):
sysctldev.sfxge.<n>.int_mod=<interval>
Toturnoffinterruptmoderation,setanintervalofzero(0):
sysctldev.sfxge.<n>.int_mod=0
Thechangeininterruptmoderationcanbemadetopersistacrossrebootsbyediting
thefile/etc/sysctl.confandaddingdev.sfxge.<n>.int_mod=<interval>on
anewline.
NOTE:TheperformancebenefitsofTCPLargeReceiveOffloadarelimitedif
interruptmoderationisdisabled.SeeTCPLargeReceiveOffload(LRO)onpage309.
TCP/IPChecksumOffload
ChecksumoffloadmovescalculationandverificationofIPHeader,TCPandUDP
packetchecksumstotheadapter.Thedriverhasallchecksumoffloadfeatures
enabledbydefault.Therefore,thereisnoopportunitytoimproveperformance
fromthedefault.
Checksumoffloadischangeddynamicallyusingifconfig,withthefollowing
parameters:
•rxcsum,txcsum,rxcsum6,txcsum6
EnableRxandTxchecksumoffloadforIPv4andIPv6
•‐rxcsum,‐txcsum,‐rxcsum6,‐txcsum6
DisableRxandTxchecksumoffloadforIPv4andIPv6
Toenablechecksumoffload,wheresfxge<n>istheinterfacename:
#ifconfigsfxge<n>rxcsumtxcsumrxcsum6txcsum6
Todisablechecksumoffload:
#ifconfigsfxge<n>‐rxcsum‐txcsum‐rxcsum6‐txcsum6
Verificationofthechecksumoffloadsettingmaybeperformedbyrunning
ifconfigwithnooptionsandcheckingthechecksumoffloadvalueassociatedwith
theinterface.Thechangeinchecksumoffloadcanbemadetopersistacrossreboots
byeditingthe/etc/rc.conffileandaddingtheappropriateparameterstothe
singlelineofinterfaceconfigurationdata.Forexample:
ifconfig_sfxge<n>="inet<IPv4address>netmask<netmask>rxcsumtxcsumrxcsum6txcsum6"
NOTE:Solarflarerecommendyoudonotdisablechecksumoffload.
TCPSegmentationOffload(TSO)
TCPSegmentationOffload(TSO)offloadsthesplittingofoutgoingTCPdatainto
packetstotheadapter.TSObenefitsapplicationsusingTCP.Applicationsusing
protocolsotherthanTCPwillnotbeaffectedbyTSO.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 309
TheFreeBSDTCP/IPstackprovidesalargeTCPsegmenttothedriver,whichsplits
thedataintoMSSsize,eachwithadjustedsequencespaceandahardware
calculatedchecksum.
EnablingTSOwillreduceCPUutilizationonthetransmitsideofaTCPconnection
andimprovepeakthroughput,iftheCPUisfullyutilized.SinceTSOhasnoeffecton
latency,itcanbeenabledatalltimes.ThedriverhasTSOenabledbydefault.
Therefore,thereisnoopportunitytoimproveperformancefromthedefault.
TSOischangeddynamicallyusingifconfig.
ToenableTSO,wheresfxge<n>istheinterfacename:
#ifconfigsfxge<n>tso
TodisableTSO:
#ifconfigsfxge<n>‐tso
VerificationoftheTSOsettingmaybeperformedbyrunningifconfigwithno
optionsandcheckingtheTSOvalueassociatedwiththeinterface.ThechangeinTSO
canbemadetopersistacrossrebootsbyeditingthe/etc/rc.conffileandadding
theappropriateparametertothesinglelineofinterfaceconfigurationdata.For
example:
ifconfig_sfxge<n>="inet<IPv4address>netmask<netmask>tso"
TCPandIPchecksumoffloadsmustbeenabledforTSOtowork.
NOTE:Solarflarerecommendthatyoudonotdisablethissetting.
TCPLargeReceiveOffload(LRO)
TCPLargeReceiveOffload(LRO)isafeaturewherebytheadaptercoalescesmultiple
packetsreceivedonaTCPconnectionintoasinglelargerpacketbeforepassingthis
ontothenetworkstackforreceiveprocessing.ThisreducesCPUutilizationand
improvespeakthroughputwhentheCPUisfullyutilized.TheeffectivenessofLRO
isboundedbytheinterruptmoderationdelay,andislimitedifinterruptmoderation
isdisabled(seeInterruptModeration(InterruptCoalescing)onpage307).Enabling
LROdoesnotitselfnegativelyimpactlatency.
TheSolarflarenetworkadapterdriverenablesLRObydefault.
LROischangeddynamicallyusingifconfig.
ToenableLRO,wheresfxge<n>istheinterfacename:
#ifconfigsfxge<n>lro
TodisableLRO:
#ifconfigsfxge<n>‐lro
VerificationoftheLROsettingmaybeperformedbyrunningifconfigwithno
optionsandcheckingtheLROvalueassociatedwiththeinterface.ThechangeinLRO
canbemadetopersistacrossrebootsbyeditingthe/etc/rc.conffileandadding
theappropriateparametertothesinglelineofinterfaceconfigurationdata.For
example:
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 310
ifconfig_sfxge<n>="inet<IPv4address>netmask<netmask>lro"
NOTE:LROshouldNOTbeenabledwhenusingthehosttoforwardpacketsfrom
oneinterfacetoanother.Forexample,ifthehostisperformingIProuting.
TCPProtocolTuning
TCPPerformancecanalsobeimprovedbytuningkernelTCPsettings.Settings
includeadjustingsendandreceivebuffersizes,connectionbacklog,congestion
control,etc.
Initialbufferingsettingsshouldprovidegoodperformance.Howeverforcertain
applications,tuningbuffersettingscansignificantlybenefitthroughput.Tochange
buffersettings,adjustthetcp_rmemandtcp_wmemusingthesysctlcommand:
• 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.
Seehttps://wiki.freebsd.org/NetworkPerformanceTuningformoredetails.
ReceiveSideScaling(RSS)
SolarflareadapterssupportReceiveSideScaling(RSS).RSSenablespacketreceive‐
processingtoscalewiththenumberofavailableCPUcores.RSSrequiresaplatform
thatsupportsMSI‐Xinterrupts.
WhenRSSisenabledthecontrollerusesmultiplereceivequeuestodeliverincoming
packets.Thereceivequeueselectedforanincomingpacketischosentoensurethat
packetswithinaTCPstreamareallsenttothesamereceivequeue–thisensures
thatpacket‐orderingwithineachstreamismaintained.Eachreceivequeuehasits
owndedicatedMSI‐XinterruptwhichideallyshouldbetiedtoadedicatedCPUcore.
ThisallowsthereceivesideTCPprocessingtobedistributedamongsttheavailable
CPUcores,providingaconsiderableperformanceadvantageoveraconventional
adapterarchitectureinwhichallreceivedpacketsforagiveninterfaceareprocessed
byjustoneCPUcore.
BydefaultthedriverenablesRSSandconfiguresoneRSSReceivequeueperCPU
core.ThenumberofRSSReceivequeuesischangedusingkenvtomodifythekernel
environmentvariablehw.sfxge.<n>.max_rss_channels.Thedrivermustbe
reloadedafterthechangeusingthekldloadcommand.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 311
Toset<m>RSSReceivequeues,wheresfxge<n>istheinterfacename:
kenvhw.sfxge.<n>.max_rss_channels=<m>
kldload/boot/modules/sfxge.ko
Sometimes,itcanbedesirabletodisableRSSwhenrunningsinglestream
applications,sinceallinterfaceprocessingmaybenefitfromtakingplaceonasingle
CPU.Todoso,setasingleRSSReceivequeue:
kenvhw.sfxge.<n>.max_rss_channels=1
kldload/boot/modules/sfxge.ko
ThechangeinRSSReceivequeuescanbemadetopersistacrossrebootsbyediting
thefile/boot/loader.confandaddinghw.sfxge.<n>.max_rss_channels=<m>
onanewline.
IfnoMSI/MSI‐Xinterruptsareavailablethenthedriverwillfall‐backtouseasingle
legacyinterrupt.RSSwillbeunavailableforthatport.
NOTE:RSSalsoworksforUDPpackets.ForUDPtraffictheSolarflareadapterwill
selecttheReceiveCPUbasedonIPsourceanddestinationaddresses.Solarflare
adapterssupportIPv4andIPv6RSS.
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.
Inaddition,thelatencyofcommunicationsbetweenthehostCPUs,systemmemory
andtheSolarflarePCIeadaptermaybePCIeslotdependent.Someslotsmaybe
“closer”totheCPU,andthereforehavelowerlatencyandhigherthroughput.If
possible,installtheadapterinaslotwhichislocaltothedesiredNUMAnode
Pleaseconsultyourserveruserguideformoreinformation.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 312
CPUPowerManagement
ThepowerdservicecontrolstheCPUclockspeeddynamicallyaccordingtocurrent
processingdemand.Forlatencysensitiveapplications,wheretheapplication
switchesbetweenhavingpacketstoprocessandhavingperiodsofidletimewaiting
toreceiveapacket,dynamicclockspeedcontrolmayincreasepacketlatency.
Solarflarerecommenddisablingthepowerdserviceifminimumlatencyisthemain
consideration.
Tostoppowerd,type:
/etc/rc.d/powerdstop
Todisablepowerdacrossreboots,ensurethissettingispresentin/etc/rc.conf:
powerd_enable="NO"
Memorybandwidth
Manychipsetsusemultiplechannelstoaccessmainsystemmemory.Maximum
memoryperformanceisonlyachievedwhenthechipsetcanmakeuseofall
channelssimultaneously.Thisshouldbetakenintoaccountwhenselectingthe
numberofmemorymodules(DIMMs)topopulateintheserver.Foroptimal
memorybandwidthinthesystem,itislikelythat:
•allDIMMslotsshouldbepopulated
•allNUMAnodesshouldhavememoryinstalled.
Pleaseconsultthemotherboarddocumentationfordetails.
ServerMotherboard,ServerBIOS,ChipsetDrivers
Tuningorenablingothersystemcapabilitiesmayfurtherenhanceadapter
performance.Readersshouldconsulttheirserveruserguide.Possibleopportunities
includetuningPCIememorycontroller(PCIeLatencyTimersettingavailableinsome
BIOSversions).
TuningRecommendations
Thefollowingtablesproviderecommendationsfortuningsettingsfordifferent
applications.
Throughput‐Table74
Latency‐Table75
Forwarding‐Table76
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 313
RecommendedThroughputTuning
Table74showsrecommendedtuningsettingsforthroughput:
RecommendedLatencyTuning
Table75showsrecommendedtuningsettingsforlatency:
Table74:ThroughputTuningSettings
TuningParameter How?
MTUSize Configuretomaximumsupportedbynetwork:
ifconfigsfxge<n>mtu<size>
Interruptmoderation Leaveatdefault(Enabled).
TCP/IPChecksumOffload Leaveatdefault(Enabled).
TCPSegmentationOffload Leaveatdefault(Enabled).
TCPLargeReceiveOffload Leaveatdefault(Enabled).
TCPProtocolTuning Leaveatdefault
ReceiveSideScaling(RSS) Applicationdependent
BufferAllocationMethod Leaveatdefault.Someapplicationsmay
benefitfromspecificsetting.
PCIExpressLaneConfiguration Ensuretheadapterisinanx8slot(2.0orlater),
andthatcurrentspeed(notthesupported
speed)readsbackas“x8and5GT/s”,or“x8and
8GT/s”,or“x8andUnknown”.
CPUPowerManagement Leaveenabled
Memorybandwidth Ensurememoryutilizesallmemorychannels
onsystemmotherboard
Table75:LatencyTuningSettings
TuningParameter How?
MTUSize Configuretomaximumsupportedbynetwork:
ifconfigsfxge<n>mtu<size>
Interruptmoderation Disablewith:
sysctldev.sfxge.<n>.int_mod=0
TCP/IPChecksumOffload Leaveatdefault(Enabled).
TCPSegmentationOffload Leaveatdefault(Enabled).
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 314
RecommendedForwardingTuning
Table76showsrecommendedtuningsettingsforforwarding:
TCPLargeReceiveOffload Disablewith:
ifconfigsfxge<n>‐lro
TCPProtocolTuning Leaveatdefault,butchangingdoesnotimpact
latency
ReceiveSideScaling Applicationdependent
BufferAllocationMethod Leaveatdefault.Someapplicationsmay
benefitfromspecificsetting.
PCIExpressLaneConfiguration Ensuretheadapterisinanx8slot(2.0orlater),
andthatcurrentspeed(notthesupported
speed)readsbackas“x8and5GT/s”,or“x8and
8GT/s”,or“x8andUnknown”.
CPUPowerManagement Disablewith:
/etc/rc.d/powerdstop
Memorybandwidth Ensurememoryutilizesallmemorychannels
onsystemmotherboard
Table76:ForwardingTuningSettings
TuningParameter How?
MTUSize Configuretomaximumsupportedbynetwork:
ifconfigsfxge<n>mtu<size>
Interruptmoderation Configureanexplicitinterruptmoderation
intervalwith:
sysctldev.sfxge.<n>.int_mod=150
TCP/IPChecksumOffload Leaveatdefault(Enabled).
TCPSegmentationOffload Leaveatdefault(Enabled).
TCPLargeReceiveOffload Disablewith:
ifconfigsfxge<n>‐lro
TCPProtocolTuning Leaveatdefault
ReceiveSideScaling(RSS) Leaveatdefault
Table75:LatencyTuningSettings
TuningParameter How?
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 315
6.11ModuleParameters
Table77liststheavailableparametersintheSolarflareFreeBSDdrivermodule:
•allparametershaveahw.sfxge.prefix
•forexample,thefullnameoftheparametershownasrx_ringis
hw.sfxge.rx_ring:
BufferAllocationMethod Leaveatdefault.Someapplicationsmay
benefitfromspecificsetting.
PCIExpressLaneConfiguration Ensuretheadapterisinanx8slot(2.0orlater),
andthatcurrentspeed(notthesupported
speed)readsbackas“x8and5GT/s”,or“x8and
8GT/s”,or“x8andUnknown”.
CPUPowerManagement Leaveenabled
Memorybandwidth Ensurememoryutilizesallmemorychannels
onsystemmotherboard
Table76:ForwardingTuningSettings
TuningParameter How?
Table77:DriverModuleParameters
Parameter Description Possible
Value
Default
Value
rx_ring SizeofRxandTxrings(maximumnumberof
descriptors)perqueue.
Valuesusedbythedriver(defaultorspecified
whenmoduleisloaded)canbeobtainedusing
thesamesysctl.
512,
1024,
2048,
4096
1024
tx_ring SizeofRxandTxrings(maximumnumberof
descriptors)perqueue.
Valuesusedbythedriver(defaultorspecified
whenmoduleisloaded)canbeobtainedusing
thesamesysctl.
512,
1024,
2048
1024
lro.table_size SizeoftheLROhashtable.Mustbeapowerof
2.
uint 128
lro.chain_max MaximumlengthofchainsintheLROhash
table.
uint 20
lro.idle_ticks Time(injiffies)afterwhichanidleconnection's
LROstateisdiscarded.
uint 101
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 316
lro.slow_start_packets Numberofpacketsthatmustpassin‐order
beforestartingLRO.
uint 20000
lro.loss_packets Numberofpacketsthatmustpassin‐order
followinglossbeforerestartingLRO.
uint 20
tx_dpl_get_max Maximumnumberofpacketsqueuedinthe
softwareget‐listforatransmitqueue.
Theget‐listisusedtogetpacketstobeput
ontotheTxring.Itshouldbebigenoughto
avoiddropsoflocallygeneratedTCPpackets
whenmany(1000+)streamsarerunningin
parallel.Accessingthislistrequiresthe
transmitqueuelock.
Ifapacketisdroppedbecausethislimithas
beenexceeded,thesendergetsanENOBUFS
error,andthetx_get_overflowcounter
grows.
uint 65536
tx_dpl_get_non_tcp_max Maximumnumberofnon‐TCPpacketsqueued
inthesoftwareget‐listforatransmitqueue.
Thisparametercanrestrictutilizingthequeue
fornon‐TCP(e.g.UDP)packets,whichcan
easilyoverflowanyqueuebecausethereisno
back‐pressure.
Ifapacketisdroppedbecausethislimithas
beenexceeded,thesendergetsanENOBUFS
error,andthetx_get_non_tcp_overflow
countergrows.
uint 1024
tx_dpl_put_max Maximumnumberofpacketsqueuedinthe
softwareput‐listforatransmitqueue.
Theput‐listisusedtoputpacketstemporarily
whenthetransmitqueuelockcannotbe
obtained.Thepacketsaremovedtotheget‐list
assoonasthetransmitqueuelockisacquired
andthequeueisserved.
Ifapacketisdroppedbecausethislimithas
beenexceeded,thesendergetsanENOBUFS
error,andthetx_put_overflowcounter
grows.
uint 1024
Table77:DriverModuleParameters
Parameter Description Possible
Value
Default
Value
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 317
6.12KernelandNetworkAdapterStatistics
TheLinuxcommandsysctlwilldisplayanextensiverangeofstatisticsoriginated
fromtheMAContheSolarflarenetworkadapter.Todisplaystatisticsusethe
followingcommand:
sysctldev.sfxge.<n>.stats
wheresfgxe<n>istheinterfacename.
Tablesbelowlistthecompleteoutputfromthesysctldev.sfxge.<n>.stats
command.See:
•Table78onpage317
•Table79onpage320
•Table80onpage321.
Perportstatistics(Table80onpage321)arefromthephysicaladapterport.Other
statisticsarefromthespecifiedPCIefunction.
NOTE:sysctldev.sfxge.<n>.statsoutputdependsonthefeaturessupported
bytheadaptertype.
tso_fw_assisted WhethertoassistTSOusingthefirmware.
ApplicabletoSFN7000andSFN8000series
adaptersonly.
0|1 1
<n>.max_rss_channels ThenumberofRSSReceivequeuesfor
interfacesfxge<n>.SeeReceiveSideScaling
(RSS)onpage310.Theactualnumbermaybe
lowerduetoavailabilityofMSI‐Xinterrupts.
Thereisamaximumof32MSI‐Xinterrupts
acrossallnetworkdevices.
Ifnovalueisset(thedefault),thenumberis
limitedonlybythenumberofCPUsandMSI‐X
interrupts.
unit —
Table77:DriverModuleParameters
Parameter Description Possible
Value
Default
Value
Table78:Eventqueuestatistics
Field Description
ev_all Totalnumberofevents.
ev_rx Numberofpacketsreceivedbydriver.
ev_rx_ok Numberofreceivedpacketsnotdiscarded.
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 318
ev_rx_recovery Notsupported.
ev_rx_frm_trunc Numberofpacketstruncatedbecausean
internalFIFOisfull.
AsapacketisreceiveditisfedbytheMACinto
a128KFIFO.IfforanyreasonthePCIinterface
cannotkeeppaceandisunabletoemptythe
FIFOatasufficientrate,theMACwillbeunable
tofeedmoreofthepackettotheFIFO.Inthis
eventtheMACwilltruncatethepacketmarking
itassuch,anddiscardtheremainder.Thedriver
onseeinga'partial'packetwhichhasbeen
truncatedwilldiscardit.
ev_rx_tobe_disc Numberofpacketsmarkedbytheadaptertobe
discardedbecauseofoneofthefollowing:
• mismatchedunicastaddressandunicast
promiscuousmodeisnotenabled
•packetisapauseframe
•packethaslengthdiscrepancy
•internalFIFOoverflowcondition
•length<60bytes.
ev_rx_pause_frm_err Numberofpausepacketsreceived.
ev_rx_buf_owner_id_err Eventcausedbyinternaldrivererror.
ev_rx_ipv4_hdr_chksum_err NumberofpacketsreceivedwithIPheader
checksumerror.
ev_rx_tcp_udp_chksum_err NumberofpacketsreceivedwithTCP/UDP
checksumerror.
ev_rx_eth_crc_err NumberofpacketsreceivedwhoseCRCdidnot
matchtheinternallygeneratedCRCvalue.
ev_rx_ip_frag_err NumberofIPfragmentsreceived(notethisis
notanerror).
ev_rx_mcast_pkt NumberofIPmulticastpacketsreceived.
ev_rx_mcast_hash_match NumberofIPmulticastpacketsreceivedwhich
havematchedtheIPmulticastmatchfilter.
ev_rx_tcp_ipv4 NumberofTCP/IPv4packetsreceived.
Table78:Eventqueuestatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 319
ev_rx_tcp_ipv6 NumberofTCP/IPv6packetsreceived.
ev_rx_udp_ipv4 NumberofUDP/IPv4packetsreceived.
ev_rx_udp_ipv6 NumberofUDP/IPv6packetsreceived.
ev_rx_other_ipv4 NumberofIPv4packetsreceivedwhicharenot
TCPorUDP.
ev_rx_other_ipv6 NumberofIPv6packetsreceivedwhicharenot
TCPorUDP.
ev_rx_non_ip NumberofpacketsreceivedwhicharenotIP.
ev_rx_overrun Numberofreceivedpacketsdroppedby
receiverbecauseofFIFOoverrun.
ev_tx Numberoftransmittedpackets.
ev_tx_wq_ff_full Numberoftransmittedpacketsdropped
becauseofFIFOoverrun.
ev_tx_pkt_err Numberoftransmittedpacketsdropped
becauseofdrivererror.
ev_tx_pkt_too_big Numberoftransmittedpacketsdropped
becauseofdrivererror.
ev_tx_unexpected Numberoftransmittedpacketsdropped
becauseofdrivererror.
ev_global Internaldriverevent.
ev_global_phy Internaldriverevent.
ev_global_mnt Internaldriverevent.
ev_global_rx_recovery Internaldriverevent.
ev_driver Internaldriverevent.
ev_driver_srm_upd_done Internaldriverevent.
ev_driver_tx_descq_fls_done Internaldriverevent.
ev_driver_rx_descq_fls_done Internaldriverevent.
ev_driver_rx_descq_fls_failed Internaldriverevent.
ev_driver_rx_dsc_error Internaldriverevent.
ev_driver_tx_dsc_error Internaldriverevent.
Table78:Eventqueuestatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 320
ev_drv_gen Internaldriverevent.
ev_mcdi_response Internaldriverevent.
Table79:Driverstatistics
Field Description
lro_merges NumberofpacketsabsorbedbyLRO.
lro_bursts NumberofburstsspottedbyLRO.
lro_slow_start Numberofpacketsnotmergedbecause
connectionmaybeinslow‐start.
lro_misorder Numberofout‐of‐orderpacketsseenintracked
streams.
lro_too_many Incrementedwhenthedriveristryingtotrack
toomanystreams.
lro_new_stream Numberofdistinctstreamsthedriverhas
tracked.
lro_drop_idle Numberofstreamsdiscardedbecausethey
wentidle.
lro_drop_closed NumberofstreamsthathaveseenaFINorRST.
tso_bursts NumberoftimesTSOtransmitinvokedbythe
kernel.
tso_packets NumberofpacketssentviatheTSOtransmit
path.
tso_long_headers Numberofpacketswithheaderstoolongfor
standardblocks.
tx_collapses Numberofpacketswithtoomanyfragments
collapsed.
tx_drops Numberofpacketsdroppedbythedriver
becauseof:
•transmitqueueininappropriatestate
•memoryallocationorDMAmapping
failuresrequiredtohandlepacketwith
longheaderbyTSO
• mbufcollapsefailure.
Table78:Eventqueuestatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 321
tx_get_overflow Numberofpacketsearlydroppedbythedriver
becauseofsoftwaretransmitqueueoverflow
(seehw.sfxge.tx_dpl_get_maxand
hw.sfxge.tx_dpl_put_maxinTable77on
page315).
tx_put_overflow Numberofpacketsearlydroppedbythedriver
becauseofsoftwaretransmitqueueoverflow
(seehw.sfxge.tx_dpl_get_maxand
hw.sfxge.tx_dpl_put_maxinTable77on
page315).
tx_get_non_tcp_overflow Numberofnon‐TCPpacketsearlydroppedby
thedriverbecauseofsoftwaretransmitqueue
limitfornon‐TCPpackets(see
hw.sfxge.tx_dpl_get_non_tcp_maxin
Table77onpage315).
tx_netdown_drops Numberofpacketsearlydroppedbythedriver
becauseoflinkisdown.
tso_pdrop_too_many NumberofTSOpacketspartiallydroppedby
thedriverbecauseTSOgeneratestoomany
segments(mostlikelybecauseoftinyMSS).
tso_pdrop_no_rsrc NumberofTSOpacketspartiallydroppedby
thedriverbecausethepacketheaderistoobig
andrequiresper‐segmentmemoryallocation
andDMAmappingwhichfailed.
Table80:Portstatistics
Field Description
rx_octets Numberofbytesreceived.Notincludecollided
bytes.
rx_pkts Numberofpacketsreceived.
rx_unicst_pkts Numberofunicastpacketsreceived.
rx_multicst_pkts Numberofmulticastpacketsreceived.
rx_brdcst_pkts Numberofbroadcastedpacketsreceived.
rx_pause_pkts Numberofpauseframesreceivedwithvalid
pauseop_code.
Table79:Driverstatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 322
rx_le_64_pkts Numberofpacketsreceivedwherethelengthis
lessthanorequalto64bytes.
rx_65_to_127_pkts Numberofpacketsreceivedwherethelengthis
between65and127bytes.
rx_128_to_255_pkts Numberofpacketsreceivedwherethelengthis
between128and255bytes.
rx_256_to_511_pkts Numberofpacketsreceivedwherethelengthis
between256and511bytes.
rx_512_to_1023_pkts Numberofpacketsreceivedwherethelengthis
between512and1023bytes.
rx_1024_to_15xx_pkts Numberofpacketsreceivedwherethelengthis
between1024and1518bytes(1522withVLAN
tag).
rx_ge_15xx_pkts Numberofpacketsreceivedwherethelengthis
between1518bytes(1522withVLANtag)and
9000bytes.
rx_errors Numberofpacketsreceivedwitherrors.
rx_fcs_errors NumberofpacketsreceivedwithFCSerrors.
rx_drop_events Numberofpacketsdroppedbyreceiver.
rx_false_carrier_errors Countoftheinstancesoffalsecarrierdetected.
Falsecarrierisactivityonthereceivechannel
thatdoesnotresultinapacketreceiveattempt
beingmade.
rx_symbol_errors Porterrorcondition.
rx_align_errors Porterrorcondition.
rx_internal_errors Porterrorcondition.
rx_jabber_pkts Porterrorcondition.
rx_lane0_char_err Porterrorcondition.
rx_lane1_char_err Porterrorcondition.
rx_lane2_char_err Porterrorcondition.
rx_lane3_char_err Porterrorcondition.
rx_lane0_disp_err Porterrorcondition.
Table80:Portstatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 323
rx_lane1_disp_err Porterrorcondition.
rx_lane2_disp_err Porterrorcondition.
rx_lane3_disp_err Porterrorcondition.
rx_match_fault Numberofpacketsreceivedwhichdidnot
matchanyfilter.
rx_nodesc_drop_cnt Numberofpacketsdroppedbythenetwork
adapterbecauseofalackofRXdescriptorsin
theRXqueue.
PacketscanbedroppedbytheNICwhenthere
areinsufficientRXdescriptorsintheRXqueue
toallocatetothepacket.Thisproblemoccursif
thereceiverateisveryhighandthenetwork
adapterreceivecycleprocesshasinsufficient
timebetweenprocessingtorefillthequeue
withnewdescriptors.
Anumberofdifferentstepscanbetriedto
resolvethisissue:
• DisabletheirqbalancedaemonintheOS
• Distributethetrafficloadacrossthe
availableCPU/coresbysetting
rss_cpus=cores.RefertoReceiveSide
Scalingsection
•Increasereceivequeuesizeusingethtool.
tx_octets Numberofbytestransmitted.
tx_pkts Numberofpacketstransmitted.
tx_unicst_pkts Numberofunicastpacketstransmitted.
Includesflowcontrolpackets.
tx_multicst_pkts Numberofmulticastpacketstransmitted.
tx_brdcst_pkts Numberofbroadcastpacketstransmitted.
tx_pause_pkts Numberofpauseframestransmittedwithvalid
pauseop_code.
tx_le_64_pkts Numberofframestransmittedwherethe
lengthislessthanorequalto64bytes.
tx_65_to_127_pkts Numberofframestransmittedwherethe
lengthisbetween65and127bytes
Table80:Portstatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 324
tx_128_to_255_pkts Numberofframestransmittedwherethe
lengthisbetween128and255bytes
tx_256_to_511_pkts Numberofframestransmittedwherethe
lengthisbetween256and511bytes
tx_512_to_1023_pkts Numberofframestransmittedwherelengthis
between512and1023bytes
tx_1024_to_15xx_pkts Numberofframestransmittedwherethe
lengthisbetween1024and1518bytes(1522
withVLANtag).
tx_ge_15xx_pkts Numberofframestransmittedwherelengthis
between1518bytes(1522withVLANtag)and
9000bytes.
tx_errors Porterrorcondition.
tx_sgl_col_pkts Porterrorcondition.
tx_mult_col_pkts Porterrorcondition.
tx_ex_col_pkts Porterrorcondition.
tx_late_col_pkts Porterrorcondition.
tx_def_pkts Porterrorcondition.
tx_ex_def_pkts Porterrorcondition.
Table80:Portstatistics
Field Description
SolarflareServerAdapterUserGuide
SolarflareAdaptersonFreeBSD
Issue20 ©SolarflareCommunications2017 325
Netstatstatistics
TheLinuxcommandnetstatalsodisplayssomeofthesestatistics.Theyare
periodicallyupdatedfromtheportanddriverstatistics.SeeTable81:
Table81:Netstatstatistics
Field Value
Ipkts rx_pkts
Ierrs rx_errors
Idrop 0
Ibytes rx_octets
Opkts tx_pkts
Oerrs tx_errors+tx_drops+get_overflow+get_non_tcp_overflow+
put_overflow+netdown_drops+tso_pdrop_too_many+
tso_pdrop_no_rsrc
Obytes tx_octets
Coll tx_sgl_col_pkts+tx_mult_col_pkts+tx_ex_col_pkts+
tx_late_col_pkts
SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 326
7SR‐IOVVirtualizationUsingKVM
7.1Introduction
ThischapterdescribesSR‐IOVandvirtualizationusingLinuxKVMandSolarflare
SFN7000orSFN8000seriesadapters.
SR‐IOVenabledonSolarflareadaptersprovidesacceleratedcut‐through
performanceandisfullycompatiblewithhypervisorbasedservicesand
managementtools.TheadvanceddesignofSolarflareSFN7000andSFN8000series
adaptersincorporatesanumberoffeaturestosupportSR‐IOV.Thesefeaturescan
besummarizedasfollows:
•PCIeVirtualFunctions(VF).
APCIephysicalfunction,PF,cansupportaconfigurablenumberofPCIevirtual
functions.Intotal240VFscanbeallocatedbetweenthePFs.Theadaptercan
alsosupportatotalof2048MSI‐Xinterrupts.
•Layer2SwitchingCapability.
Alayer2switchconfiguredinfirmwaresupportsthetransportofnetwork
packetsbetweenPCIphysicalfunctions(PF),Virtualfunctions(VF)andthe
externalnetwork.Thisallowsreceivedpacketstobereplicatedacrossmultiple
PFs/VFsandallowspacketstransmittedfromonePFtobereceivedonanother
PForVF.
Figure48:PerAdapter‐ConfigurationOptions
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 327
SupportedPlatforms
Host
•RedHatEnterpriseLinux6.5‐7.0KVM
GuestVM
•RedHatEnterpriseLinux5.x,6.xand7.x
AccelerationofguestVirtualMachines(VM)runningother(non‐Linux)operating
systemsarenotcurrentlysupported,howeverotherschemes,forexample,aKVM
directbridgedconfigurationusingtheWindowsvirtio‐netdrivercouldbeused.
Driver/Firmware
Featuresdescribedinthechapterrequirethefollowing(minimum)Solarflaredriver
andfirmwareversions.
#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).
Platformsupport‐SR‐IOV
BIOS
TouseSR‐IOVmodes,SR‐IOVmustbeenabledintheplatformBIOSwheretheactual
BIOSsettingcandifferbetweenmachines,butmaybeidentifiedasSR‐IOV,IOMMU
orVT‐dandVT‐xonanIntelplatform.
ThefollowinglinksidentifyLinuxRedHatdocumentationforSR‐IOVBIOSsettings.
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/7/
html/Virtualization_Deployment_and_Administration_Guide/index.html
https://access.redhat.com/documentation/en‐US/Red_Hat_Enterprise_Linux/6/
html/Virtualization_Administration_Guide/sect‐Virtualization‐Troubleshooting‐
Enabling_Intel_VT_and_AMD_V_virtualization_hardware_extensions_in_BIOS.ht
ml
TheremaybeotherBIOSoptionswhichshouldbeenabledtosupportSR‐IOV,for
exampleonDELLserversthefollowingBIOSoptionmustalsobeenabled:
IntegratedDevices,SR‐IOVGlobalEnable
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 328
UsersareadvisedtoconsulttheservervendorBIOSoptionsdocumentation.
KernelConfiguration
OnanIntelplatform,theIOMMUmustbeexplicitlyenabledbyappending
intel_iommu=ontothekernellineinthe/boot/grub/grub.conffile.The
equivalentsettingonanAMDsystemisamd_iommu=on.
Solarflarerecommendsthatusersalsoenablethepci=reallockernelparameter
inthe/boot/grub/grub.conffile.Thisallowsthekerneltoreassignaddressesto
PCIeapertures(i.e.bridges,ports)inthesystemwhentheBIOSdoesnotallow
enoughPCIaperturesforthemaximumnumberofsupportedVFs.
KVM‐InterruptRe‐Mapping
TousePCIeVFpassthrough,theservermustsupportinterruptre‐mapping.Ifthe
targetserverdoesnotsupportinterruptre‐mappingitisnecessarytosetthe
followingoptioninausercreatedfilee.g.kvm_iommu_map_guest.confinthe/
etc/modprobe.ddirectory:
[RHEL6]optionskvmallow_unsafe_assigned_interrupts=1
[RHEL7]optionsvfio_iommu_type1allow_unsafe_assigned_interrupts=1
AlternativeRouting‐IDInterpretation(ARI)
TheARIextensiontothePCIExpressBaseSpecificationextendsthecapacityofa
PCIeendpointbyincreasingthenumberofaccessiblefunctions(PF+VF)from8,up
to256.WithoutARIsupport‐whichisafeatureoftheserverhardwareandBIOS,a
serverhostingavirtualizedenvironmentwillbelimitedto8functions.Solarflare
SFN7000andSFN8000seriesadapterscanexposeupto16PFsand240VFsper
adapter.
Usersshouldconsulttheappropriateservervendordocumentationtoensurethat
thehostserversupportsARI.
SupportedAdapters
AllSolarflareSFN7000andSFN8000seriesadaptersfullysupportSR‐IOV.Features
describedinthischapterarenotsupportedbySolarflareSFN5000orSFN6000series
adapterswhichsupportalimitedSR‐IOVimplementation.
Thesfbootutilityallowstheusertoconfigure:
•ThenumberofPFsexposedtohostand/orVirtualMachine(VM).
•ThenumberVFsexposedtohostand/orVirtualMachine(VM).
•ThenumberofMSI‐XinterruptsassignedtoeachPForVF.
TheSolarflareimplementationusesasingledriver(sfc.ko)thatbindstobothPFsand
VFs.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 329
sfboot‐ConfigurationOptions
Adapterconfigurationoptionsaresetusingthesfbootutilityv4.5.0orlaterfrom
theSolarflareLinuxUtilitiespackage(SF‐107601‐LSissue28orlater).Thefirmware
variantmustbesettofull‐feature/Virtualization.
#sfbootfirmware‐variant=full‐feature
Tocheckthecurrentadapterconfigurationrunthesfbootcommand:
#sfboot
Solarflarebootconfigurationutility[v4.5.0]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐2005
eth5:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport1
MSI‐Xinterruptlimit32
NumberofVirtualFunctions2
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtagsNone
SwitchmodeSRIOV
Forsomeconfigurationoptionchangesusingsfboot,theservermustbepower
cycled(poweroff/poweron)beforethechangesareeffective.sfbootwilldisplaya
warningwhenthisisrequired.
Table82identifiessfbootSR‐IOVconfigurableoptions.
Table82:sfboot‐SR‐IOVoptions
Option DefaultValue Description
pf‐count=<n> 1NumberofPCIePFsperphysicalport.
MACaddressassignmentsmay
change,afternextreboot,following
changeswiththisoption.
pf‐vlans None AcommaseparatedlistofVLANtags
foreachPF.
sfbootpf‐vlans=0,100,110,120
ThefirsttagisassignedtothefirstPF,
thereaftertagsareassignedtoPFsin
(lowest)MACaddressorder.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 330
mac‐spoofing disabled Ifenabled,non‐privilegedfunctions
maycreateunicastfiltersforMAC
addressesthatarenotassociatedwith
themselves.
Thisshouldbeusedwhenusing
bondedinterfaceswhereabondslave
inheritsthebondmasterhardware
address.
msix‐limit=<n> 32 NumberofMSI‐Xinterruptsassigned
toeachPF.Theadaptersupportsa
maximum2048interrupts.The
specifiedvalueforaPFmustbea
powerof2.
switch‐mode=<mode> default Specifiesthemodeofoperationthat
theportwillbeusedin:
default‐singlePFcreated,zeroVFs
created.
sriov‐SR‐IOVenabled,singlePF
created,VFsconfiguredwithvf‐
count.
partitioning‐PFsconfiguredwith
pf‐count,VFsconfiguredwithvf‐
count.SeeNICPartitioningonpage74
fordetails.
partitioning‐with‐sriov‐SR‐IOV
enabled,PFsconfiguredwithpf‐
count,VFsconfiguredwithvf‐count.
SeeNICPartitioningonpage74for
details.
pfiov‐PFIOVenabled,PFsconfigured
withpf‐count,VFsnotsupported.
Layer2switchingbetweenPFs.
vf‐count=<n> 240 NumberofvirtualfunctionsperPF.
Table82:sfboot‐SR‐IOVoptions
Option DefaultValue Description
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 331
7.2SR‐IOV
InthesimplestofSR‐IOVsupportedconfigurationseachphysicalportisexposedas
asinglePF(adapterdefault)andupto240VFs.
TheSolarflarenetdriver(sfc.ko)willdetectthatPF/VFsarepresentfromthesfboot
configurationandautomaticallyconfigurethevirtualadaptersandvirtualportsas
required.
Adapterfirmwarewillalsoconfigurethefirmwareswitchingfunctionsallowing
packetstopassbetweenPFandVFsorfromVFtoVF.
Figure49:SR‐IOV‐SinglePF,MultipleVFs
vf‐msix‐limit=<n> 8NumberofMSI‐XinterruptsperVF.
Theadaptersupportsamaximum
2048interrupts.Thespecifiedvalue
foraPFmustbeapowerof2.
insecure_filters=
<enabled|disabled>
disabled Whenenabled,afunction(PForVF)
caninsertfiltersnotqualifiedbyits
ownpermanentMACaddress.
Table82:sfboot‐SR‐IOVoptions
Option DefaultValue Description
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 332
• WithnoVLANconfiguration,thePFsandVFsareinthesameEthernetlayer2
broadcastdomaini.e.apacketbroadcastfromthePFwouldbereceivedbyall
VFs.VLANtagscanoptionallybeassignedtoVFsusingstandardlibvirt
commands.
•TheL2switchsupportsreplicationofreceived/transmittedbroadcastpackets
toallfunctions.
•TheL2switchwillreplicatereceived/transmittedmulticastpacketstoall
functionsthathavesubscribed.
•TheMUXERfunctionisafirmwareenabledlayer2switchingfunctionfor
transmitandreceivetraffic.
Intheexampleabovetherearenovirtualmachines(VM)created.Network
interfacesforthePFandeachVFwillappearinthehost.AnsfcNICdriverloadedin
thehostwillidentifythePFandeachVFasindividualnetworkinterfaces.
SR‐IOVConfiguration
EnsureSR‐IOVandtheIOMMUareenabledonthehostserverkernelcommandline
‐RefertoPlatformsupport‐SR‐IOVonpage327.
1Theexampleconfigures1PFperport(default),2VFsperPF):
sfbootswitch‐mode=sriovpf‐count=1vf‐count=2
Solarflarebootconfigurationutility[v4.5.0]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐
2005
eth8:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport1
MSI‐Xinterruptlimit32
NumberofVirtualFunctions2
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtagsNone
SwitchmodeSRIOV
2CreateVFs‐seeEnablingVirtualFunctionsonpage348.
3Theservershouldbecoldrebootedfollowingchangesusingsfboot.Following
thereboot,ThePFandVFswillbevisibleinthehostusingtheifconfig
commandandlspci(theoutputbelowisfromadual‐portadapter.VFsare
showninboldtext):
#lspci‐d1924:
03:00.0Ethernetcontroller:SolarflareCommunicationsSFC9120(rev01)
03:00.1Ethernetcontroller:SolarflareCommunicationsSFC9120(rev01)
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 333
03:00.2Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
03:00.3Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
03:00.4Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
03:00.5Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
4Toidentifywhichphysicalportagivennetworkinterfaceisusing:
#cat/sys/class/net/eth<N>/device/physical_port
5ToidentifywhichPFagivenVFisassociatedwithusethefollowingcommand
(inthisexamplethereare4VFsassignedtoPFeth4):
#iplinkshow
19:eth4:<NO‐CARRIER,BROADCAST,MULTICAST,UP>mtu1500qdiscmqstateDOWNqlen1000
link/ether00:0f:53:21:00:61brdff:ff:ff:ff:ff:ff
vf0MAC76:c1:36:0a:be:2b
vf1MAC1e:b8:a8:ea:c7:fb
vf2MAC52:6e:32:3d:50:85
vf3MACb6:ad:a0:56:39:94
MACaddressesbeginning00:0f:53areSolarflaredesignatedhardwareaddresses.
MACaddressesassignedtoVFsintheaboveexampleoutputhavebeenrandomly
generatedbythehost.MACaddressesvisibletothehostwillbereplacedbylibvirt‐
generatedMACaddressesinaVM.
7.3KVMNetworkArchitectures
ThissectionidentifiesSR‐IOVandtheLinuxKVMvirtualizationinfrastructure
configurationstoconsumeadapterportPhysicalFunctions(PF)andVirtual
Functions(VF).
•KVMlibvirtBridgedonpage333
•KVMDirectBridgedonpage337
•KVMLibvirtDirectPassthroughonpage340
•KVMLibvirtNetworkHostdevonpage343
•GeneralConfigurationonpage348
•EnablingVirtualFunctionsonpage348
Whenmigrationisnotaconsideration,Solarflarerecommendsthenetwork‐
hostdevconfigurationforhighestthroughputandlowestlatencyperformance
KVMlibvirtBridged
ThetraditionalmethodofconfiguringnetworkinginKVMvirtualizedenvironments
usesthepara‐virtualized(PV)driver,virtio‐net,inthevirtualmachineandthe
standardLinuxbridgeinthehost.
Thebridgeemulatesalayer2learningswitchtoreplicatemulticastandbroadcast
packetsinsoftwareandsupportsthetransportofnetworktrafficbetweenVMsand
thephysicalport.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 334
ThisconfigurationusesstandardLinuxtoolsforconfigurationandneedsonlya
virtualizedenvironmentandguestoperatingsystem.
Performance(latency/throughput)willnotbeasgoodasanetwork‐hostdev
configurationbecausenetworktrafficmustpassviathehostkernel.
Figure50:KVM‐libvirtbridged
KVMlibvirtbridged‐Configuration
1EnsuretheSolarflareadapterdriver(sfc.ko)isinstalledonthehost.
2Inthehost,configurethePF:
#sfbootswitch‐mode=defaultpf‐count=1
Thesfbootsettingsshownabovearethedefault(shippingstate)settingsfor
theSFN7000seriesadapter.Acoldrebootoftheserverisonlyrequiredwhen
changesaremadeusingsfboot.
3Createvirtualmachines:
VMscanbecreatedfromthestandardLinuxvirt‐managerGUIinterfaceor
theequivalentvirshcommandlinetool.Asroot,runthecommandvirt‐
managerfromaterminaltostarttheGUIinterface.AVMcanalsobecreated
fromanexistingVMXMLfile.
ThefollowingprocedureassumestheVMiscreated.Theexampleprocedure
willcreateabridge‘br1’andnetwork‘host‐network’toconnecttheVMtothe
Solarflareadapterviathebridge.
4Defineabridgein/etc/sysconfig/network‐scripts/ifcfg‐br1
DEVICE=br1
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 335
5AssociatethebridgewiththerequiredSolarflarePF(HWADDDR)inaconfigfilein
/etc/sysconfig/network‐scripts/ifcfg‐eth4(thisexampleuseseth4):
DEVICE=eth4
TYPE=Ethernet
HWADDR=00:0F:53:21:00:60
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br1
6Bringupthebridge:
#servicenetworkrestart
7Thebridgewillbevisibleinthehostusingtheifconfigcommand:
#ifconfig‐a
br1Linkencap:EthernetHWaddr00:0F:53:21:00:60
inet6addr:fe80::20f:53ff:fe21:60/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:170errors:0dropped:0overruns:0frame:0
TXpackets:6errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:55760(54.4KiB)TXbytes:468(468.0b)
8DefineanetworkinanXMLfilei.e.host‐network.xml:
<network>
<name>host‐network</name>
<forwardmode='bridge'/>
<bridgename="br1"/>
</network>
9Defineandstartthenetworkusingvirshnet‐<option>commands:
#virshnet‐definehost‐network.xml
Networkhost‐networkdefinedfromhost‐network.xml
#virshnet‐starthost‐network
Networkhost‐networkstarted
#virshnet‐autostarthost‐network
Networkhost‐networkmarkedasautostarted
#virshnet‐list‐‐all
NameStateAutostartPersistent
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
defaultactiveyesyes
host‐networkactiveyesyes
10 Onthehostmachine,edittheVMXMLfile:
#virshedit<vmname>
11 AddthenetworkcomponenttotheVMXMLfile:
<interfacetype='network'>
<sourcenetwork='host‐network'/>
<modeltype='virtio'/>
</interface>
12 RestarttheVMaftereditingtheXMLfile.
#virshstart<vmname>
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 336
13 ThebridgedinterfaceisvisibleintheVMwhenviewedfromtheGUIVirtual
MachineManager:
Figure51:VirtualMachineManager‐Showingthenetwork/bridged
interface
XMLDescription
ThefollowingextractisfromtheVMXMLfileaftertheconfigurationprocedurehas
beenapplied(linenumbershavebeenaddedforeaseofdescription):
1.<interfacetype='bridge'>
2.<macaddress='52:54:00:96:0a:8a'/>
3.<sourcebridge='br1'/>
4.<modeltype='virtio'/>
5.<addresstype='pci'domain='0x0000'bus='0x00'slot='0x07'function='0x0'/>
6.</interface>
1Interfacetypemustbespecifiedbytheuseras‘bridge’.
2TheMACaddress.Ifnotspecifiedbytheuserthiswillbeautomaticallyassigned
arandomMACaddressbylibvirt.
3Thesourcebridgeascreatedinconfigurationstep4above.
4Modeltypemustbespecifiedbytheuseras‘virtio’.
5ThePFPCIeaddress(asknownbytheguest)willbeaddedautomaticallyby
libvirt.
ForfurtherinformationaboutthedirectbridgedconfigurationandXMLformats,
refertothefollowinglinks:http://libvirt.org/
formatdomain.html#elementsNICSBridge
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 337
KVMDirectBridged
InthisconfigurationmultiplemacvtapinterfacesareboundoverthesamePF.For
eachVMcreated,libvirtwillautomaticallyinstantiateamacvtapdriverinstanceand
themacvtapinterfaceswillbevisibleonthehost.
WheretheKVMlibvirtbridgedconfigurationusesthestandardLinuxbridge,adirect
bridgedconfigurationbypassesthisprovidinganinternalbridgingfunctionand
increasingperformance.
Whenusingmacvtapthereisnolinkstatepropagationtotheguestwhichisunable
toidentifyifaphysicallinkisupordown.
Macvtapdoesnotcurrentlyforwardmulticastjoinsfromthegueststothe
underlyingnetworkdriverwiththeresultthatallmulticasttrafficreceivedbythe
physicalportisforwardedtoallguests.Duetothislimitationthisconfigurationis
notrecommendedfordeploymentsthatuseanon‐trivialamountofmulticast
traffic.
GuestmigrationisfullysupportedasthereisnophysicalhardwarestateintheVM
guests.AguestcanbemigratedtoahostusingadifferentVForahostwithoutan
SR‐IOVcapableadapter.
Figure52:KVM‐directbridged
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 338
KVMdirectBridged‐Configuration
1EnsuretheSolarflareadapterdriver(sfc.ko)isinstalledonthehost.
2Inthehost,configurethePF.
#sfbootswitch‐mode=defaultpf‐count=1
Thesfbootsettingsshownabovearethedefault(shippingstate)settingsfor
theSFN7000seriesadapter.Acoldrebootoftheserverisonlyrequiredwhen
changesaremadeusingsfboot.
3Createvirtualmachines:
VMscanbecreatedfromthestandardLinuxvirt‐managerGUIinterfaceor
theequivalentvirshcommandlinetool.Asroot,runthecommandvirt‐
managerfromaterminaltostarttheGUIinterface.AVMcanalsobecreated
fromanexistingVMXMLfile.
ThefollowingprocedureassumestheVMiscreated.Theexampleprocedure
willcreateaninterfaceconfigurationfileandconnecttheVMdirectlytothe
Solarflareadapter.
4CreateaconfigurationfilefortherequiredSolarflarePF(HWADDR)inaconfigfile
in/etc/sysconfig/network‐scripts/ifcfg‐eth4(thisexampleuseseth4):
DEVICE=eth4
TYPE=Ethernet
HWADDR=00:0F:53:21:00:60
BOOTPROTO=none
ONBOOT=yes
5Bringuptheinterface:
#servicenetworkrestart
6Onthehostmachine,edittheVMXMLfile:
#virshedit<vmname>
7AddtheinterfacecomponenttotheVMXMLfile:
<interfacetype='direct'>
<sourcedev='eth4'mode='bridge'/>
<modeltype=’virtio’/>
</interface>
8RestarttheVMaftereditingtheXMLfile.
#virshstart<vmname>
9ThebridgedinterfaceisvisiblewhenviewedfromtheGUIVirtualMachine
Manager:
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 339
Figure53:VirtualMachineManager‐Showingthedirectbridgedinterface
XMLDescription
ThefollowingextractisfromtheVMXMLfileaftertheconfigurationprocedurehas
beenapplied(linenumbershavebeenaddedforeaseofdescription):
1.<interfacetype='direct'>
2.<macaddress='52:54:00:db:ab:ca'/>
3.<sourcedev='eth4'mode='bridge'/>
4.<modeltype='virtio'/>
5.<addresstype='pci'domain='0x0000'bus='0x00'slot='0x07'function='0x0'/>
6.</interface>
1Interfacetypemustbespecifiedbytheuseras‘direct’.
2TheMACaddress.Ifnotspecifiedbytheuserthiswillbeautomaticallyassigned
arandomMACaddressbylibvirt.
3Thesourcedevistheinterfaceidentifierfromthehost‐addedbytheuser.The
usershouldalsospecifythemodewhichmustbe‘bridge’.
4Ifnotspecifiedbytheuser,themodeltypewillbeautomaticallyassignedby
libvirtwhentheguestisstarted.Usevirtioforbestperformance.
5ThePFPCIeaddress(asknownbytheguest)willbeaddedautomaticallyby
libvirt
ForfurtherinformationaboutthedirectbridgedconfigurationandXMLformats,
refertothefollowinglink:
http://libvirt.org/formatdomain.html#elementsNICSBridge
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 340
KVMLibvirtDirectPassthrough
Usingalibvirtdirect‐passthroughconfiguration,VFsareusedinthehostOSto
providenetworkaccelerationforguestVMs.Theguestcontinuestousea
paravirtualizeddriverandisunawarethisisbackedwithaVFfromthenetwork
adapter.
Figure54:SR‐IOVVFsusedinthehostOS
•TheSolarflarenetdriverisboundoverthetopofeachVF.
•EachmacvtapinterfaceisimplicitlycreatedbylibvirtoverasingleVFnetwork
interfaceandisnotvisibletothehostOS.
•Eachmacvtapinstancebuildsoveradifferentnetworkinterface‐sothereisno
implicitmacvtapbridge.
•Macvtapdoesnotcurrentlyforwardmulticastjoinsfromthegueststothe
underlyingnetworkdriverwiththeresultthatallmulticasttrafficreceivedby
thephysicalportisforwardedtoallguests.Duetothislimitationthis
configurationisnotrecommendedfordeploymentsthatuseanon‐trivial
amountofmulticasttraffic.
•Guestmigrationisfullysupportedasthereisnophysicalhardwarestateinthe
VMguests.AguestcanbereconfiguredtoahostusingadifferentVForahost
withoutanSR‐IOVcapableadapter.
•TheMACaddressfromtheVFispassedthroughtothepara‐virtualizeddriver.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 341
•BecausethereisnoVFpresentinaVM,OnloadandotherSolarflare
applicationssuchasSolarCapturecannotbeusedintheVM.
KVMLibvirtDirectPassthrough‐Configuration
1EnsuretheSolarflareadapterdriver(sfc.ko)isinstalledonthehost.
2Inthehost,configuretheswitch‐mode,PFandVFs:
#sfbootswitch‐mode=sriovpf‐count=1vf‐count=4
Acoldrebootoftheserverisrequiredwhenchangesaremadeusingsfboot.
3CreateVFsinthehost(exampleusesPFeth4):
echo2>/sys/class/net/eth4/device/sriov_numvfs
cat/sys/class/net/eth4/device/sriov_totalvfs
ForLinuxversionsearlierthanRHEL6.5seeEnablingVirtualFunctionson
page348.
4PFsandVFswillbevisibleusingthelspcicommand(VFsinbold):
#lspci‐D‐d1924:
0000:03:00.0Ethernetcontroller:SolarflareCommunicationsSFC9120
0000:03:00.1Ethernetcontroller:SolarflareCommunicationsSFC9120
0000:03:00.2Ethernetcontroller:SolarflareCommunicationsDevice1903
0000:03:00.3Ethernetcontroller:SolarflareCommunicationsDevice1903
0000:03:00.4Ethernetcontroller:SolarflareCommunicationsDevice1903
0000:03:00.5Ethernetcontroller:SolarflareCommunicationsDevice1903
VFswillalsobelistedusingtheifconfigcommand(abbreviatedoutput
below,fromadualportadapter,shows2xPFand4xVF.(pf‐count=1vf‐
count=2).VFsareshowninbold).
eth4Linkencap:EthernetHWaddr00:0F:53:21:00:60
eth5Linkencap:EthernetHWaddr00:0F:53:21:00:61
eth6Linkencap:EthernetHWaddrAE:82:AB:C9:67:49
eth7Linkencap:EthernetHWaddr86:B4:C8:9E:27:D6
eth8Linkencap:EthernetHWaddr72:0B:C7:21:E1:59
eth9Linkencap:EthernetHWaddrD2:B7:68:54:35:A5
5Createvirtualmachines:
VMscanbecreatedfromthestandardLinuxvirt‐managerGUIinterfaceor
theequivalentvirshcommandlinetool.Asroot,runthecommandvirt‐
managerfromaterminaltostarttheGUIinterface.AVMcanalsobecreated
fromanexistingVMXMLfile.
ThefollowingprocedureassumestheVMiscreated.Theexampleprocedure
willcreateaninterfaceconfigurationfileforeachVFtobepassedthroughto
theVM.
6ForeachVFtobepassedthroughtoaVM,createaconfigurationfileinthe
/etc/sysconfig/network‐scriptsdirectoryi.e.ifcfg‐eth6:
DEVICE=eth6
TYPE=Ethernet
HWADDR=AE:82:AB:C9:67:49
BOOTPROTO=none
ONBOOT=yes
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 342
Theaboveexampleisthefileifcfg‐eth6andidentifiestheMACaddress
assignedtotheVF.OnefileisrequiredforeachVF.
7Onthehostmachine,edittheVMXMLfile:
#virshedit<vmname>
8AddtheinterfacecomponenttotheVMXMLfilee.g:
<interfacetype='direct'>
<sourcedev='eth6'mode='passthrough'/>
<modeltype='virtio'/>
</interface>
OneinterfacetypecomponentisrequiredforeachVF.
9RestarttheVMaftereditingtheXMLfile.
#virshstart<vmname>
ThepassedthroughVFinterfaceisvisiblewhenviewedfromtheGUIVirtual
MachineManager
Figure55:VirtualMachineManager‐Showingthepassthroughinterface
XMLDescription
Thefollowing(example)extractisfromtheVMXMLfileafteraVFhasbeenpassed
throughtotheguestusingtheprocedureabove(linenumbershavebeenaddedfor
easeofdescription):
1.<interfacetype='direct'>
2.<macaddress='52:54:00:96:40:28'/>
3.<sourcedev='eth6'mode='passthrough'/>
4.<modeltype='virtio'/>
5.<addresstype='pci'domain='0x0000'bus='0x00'slot='0x07'function='0x0'/>
6.</interface>
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 343
1AdescriptionofhowtheVFinterfaceismanaged‐addedbytheuser.
2TheMACaddress.Ifnotspecifiedbytheuserthiswillbeautomaticallyassigned
arandomMACaddressbytheguestOS.TheusercanspecifyaMACaddress
wheneditingtheXMLfile.
3ThesourcedevistheVFinterfaceidentifier‐addedbytheuser.Theuser
shouldalsospecifythemodewhichmustbe‘passthrough’.
4Ifnotspecifiedbytheuser,themodeltypewillbeautomaticallyassignedby
libvirtwhentheguestisstarted.
5TheVFPCIeaddress(asknownbytheguest)willbeaddedautomaticallyby
libvirt.
ForfurtherinformationaboutthedirectpassthroughconfigurationandXML
formats,refertothefollowinglink:http://libvirt.org/
formatdomain.html#elementsNICSDirect
KVMLibvirtNetworkHostdev
NetworkHostdevexposesVFsdirectlyintoguestVMsallowingthedatapathtofully
bypassthehostOSandthereforeprovidesmaximumaccelerationfornetwork
traffic.
Figure56:SR‐IOVVFspassedtoguests
•Thehostdevconfigurationdeliversthehighestthroughputandlowestlatency
performance.Becausetheguestisdirectlylinkedtothevirtualfunction
thereforedirectlyconnectedtotheunderlyinghardware.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 344
•MigrationisnotsupportedinthisconfigurationbecausetheVMhasknowledge
ofthenetworkadapterhardware(VF)presentintheserver.
•TheVFisvisibleintheguest.ThisallowsapplicationsusingtheVFinterfaceto
beacceleratedusingOpenOnloadortouseotherSolarflareapplicationssuch
asSolarCapture.
•TheSolarflarenetdriver(sfc.ko)needstobeinstalledintheguest.
KVMLibvirtnetworkhostdev‐Configuration
1CreatetheVMfromtheLinuxvirt‐managerGUIinterfaceorthevirsh
commandlinetool.
2InstallSolarflarenetworkdriver(sfc.ko)intheguestandhost.
3CreatetherequirednumberofVFs:
#sfbootswitch‐mode=sriovvf‐count=4
Acoldrebootoftheserverisrequiredforthistobeeffective.
4FortheselectedPF‐configuretherequirednumberofVFse.g:
#echo4>/sys/class/net/eth8/device/sriov_numvfs
5VFswillnowbevisibleinthehost‐useifconfigandthelscpicommandto
identifytheEthernetinterfacesandPCIeaddresses(VFsshownbelowinbold
text):
#lspci‐D‐d1924:
0000:03:00.0Ethernetcontroller:SolarflareCommunicationsSFC9120(rev01)
0000:03:00.1Ethernetcontroller:SolarflareCommunicationsSFC9120(rev01)
0000:03:00.2Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
0000:03:00.3Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
0000:03:00.4Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
0000:03:00.5Ethernetcontroller:SolarflareCommunicationsDevice1903(rev01)
6UsingthePCIeaddress,unbindtheVFstobepassedthroughtotheguestfrom
thehostsfcdrivere.g.:
#echo0000:03:00.5>/sys/bus/pci/devices/0000\:03\:00.5/driver/unbind
7CheckthattherequiredVFinterfaceisnolongervisibleinthehostusing
ifconfig.
8Onthehost,stopthevirtualmachine:
#virshshutdown<vmname>
9Onthehost,editthevirtualmachineXMLfile:
#virshedit<vmname>
10 ForeachVFthatistobepassedtotheguest,addthefollowing<interface
type>sectiontothefileidentifyingtheVFPCIeaddress(uselscpitoidentify
PCIeaddress):
<interfacetype='hostdev'managed='yes'>
<source>
<addresstype='pci'domain='0x0000'bus='0x03'slot='0x00'function='0x5'/>
</source>
</interface>
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 345
11 RestartthevirtualmachineinthehostandVFinterfaceswillbevisibleinthe
guest:
#virshstart<vmname>
Thefollowing(example)extractisfromtheVMXMLfileafteraVFhasbeenpassed
throughtotheguestusingtheprocedureabove(linenumbershavebeenaddedfor
easeofdescription):
1.<interfacetype='hostdev'managed='yes'>
2.<macaddress='52:54:00:d1:ec:85'/>
<source>
3.<addresstype='pci'domain='0x0000'bus='0x03'slot='0x00'function='0x5'/>
</source>
4.<aliasname='hostdev0'/>
5.<addresstype='pci'domain='0x0000'bus='0x00'slot='0x07'function='0x0'/>
</interface>
XMLDescription
1AdescriptionofhowtheVFinterfaceismanaged‐addedbyuser.
Whenmanaged=yes,theVFisdetachedfromthehostbeforebeingpassedto
theguestandtheVFwillbeautomaticallyreattachedtothehostafterthe
guestexits.
Ifmanaged=no,theusermustcallvirNodeDeviceDetach(orusethecommand
virshnodedev‐detach)beforestartingtheguestorhot‐pluggingthedevice
andcallvirNodeDeviceReAttach(orusecommandvirshnodedev‐
reattach)afterhot‐unplugorafterstoppingtheguest.
2TheVFMACaddress.Ifnotspecifiedbytheuserthiswillbeautomatically
assignedarandomMACaddressbylibvirtTheusercanspecifyaMACaddress
wheneditingtheXMLfile.
3TheVFPCIeaddress,thisistheaddressoftheVFinterfaceasitisidentifiedin
thehost.ThisshouldbeenteredbytheuserwheneditingtheXMLfile.
4Ifnotspecifiedbytheuserthealiasnamewillbeautomaticallyassignedby
libvirtTheusercansupplyanaliaswheneditingtheXMLfile.
5TheVFPCIeaddress(asknownbytheguest)willbeaddedautomaticallyby
libvirt.
ForfurtherinformationaboutthehostdevconfigurationandXMLformats,referto
thefollowinglink:
http://libvirt.org/formatdomain.html#elementsNICSHostdev
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 346
7.4PF‐IOV
PhysicalFunctionI/OVirtualizationallowsPFstobepassedtoaVM.Althoughthis
configurationisnotwidelyused,itisincludedhereforcompleteness.Thismode
providesnoadvantageover“NetworkHostdev”andthereforeSolarflare
recommendsthatcustomersdeploy“NetworkhostdevinsteadofPF‐IOV.PF‐IOV
doesnotuseSR‐IOVanddoesnotrequireSR‐IOVhardwaresupport.
EachphysicalportispartitionedintoanumberofPFswitheachPFpassedtoa
differentVirtualMachine(VM).EachVMsupportsaTCP/IPstackandSolarflare
adapterdriver(sfc.ko).
ThismodeallowsswitchingbetweenPFsviatheLayer2switchfunctionconfigured
infirmware.
Figure57:PFIOV
•Upto16PFsand16MACaddressesaresupportedperadapter.
• WithnoVLANconfiguration,allPFsareinthesameEthernetlayer2broadcast
domaini.e.apacketbroadcastfromanyonePFwouldbereceivedbyallother
PFs.
•PFVLANtagscanoptionallybeassignedwhencreatingPFsusingthesfboot
utility.
•Thelayer2switchsupportsreplicationofreceived/transmittedbroadcast
packetstoallPFsandtotheexternalnetwork.
•Thelayer2switchsupportsreplicationofreceived/transmittedmulticast
packetstoallsubscribers.
•VFsarenotsupportedinthismode.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 347
PF‐IOVConfiguration
ThesfbootutilityfromtheSolarflareLinuxUtilitiespackage(SF‐107601‐LS)isused
topartitionphysicalinterfacestotherequirednumberofPFs.
•Upto16PFsand16MACaddressesaresupportedperadapter.
•ThePFsettingappliestoallphysicalports.Portscannotbeconfigured
individually.
•vf‐countmustbezero.
1Topartitionallports(exampleconfigures4PFsperport):
#sfbootswitch‐mode=pfiovpf‐count=4
Solarflarebootconfigurationutility[v4.3.1]
CopyrightSolarflareCommunications2006‐2014,Level5Networks2002‐
2005
eth5:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport4
MSI‐Xinterruptlimit32
NumberofVirtualFunctions0
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
VLANtagsNone
SwitchmodePFIOV
2Arebootoftheserverisrequiredforthechangestobeeffective.
3FollowingrebootthePFswillbevisibleusingtheifconfigoripcommands‐
eachPFwillhaveauniqueMACaddress.Thelspcicommandwillalsoidentify
thePFs:
#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)
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 348
7.5GeneralConfiguration
EnablingPhysicalFunctions
UsethesfbootutilityfromtheSolarflareLinuxUtilitiespackagetocreatePFs.Up
to16PFand16MACaddressesaresupportedperadapter.
sfbootpf‐count=<N>
PFVLANtagscanalsobeassignedusingsfboot.
sfbootpf‐count=4,pf‐vlan=100,110,200,210
ThefirstVLANtagisassignedtothefirstfunction,thereafterthetagsareappliedto
PFsinMACaddressorder.
EnablingVirtualFunctions
OnRHEL6.5andlaterversions,VFcreationiscontrolledthroughsysfs.Usethe
followingcommands(example)tocreateandviewcreatedVFs.
echo2>/sys/class/net/eth8/device/sriov_numvfs
cat/sys/class/net/eth8/device/sriov_totalvfs
OnkernelsnothavingthiscontrolviasysfstheSolarflarenetdrivermoduleoption
max_vfscanbeusedtoenableVFs.Themax_vfsvalueappliestoalladaptersand
canbesettoasingleintegeri.e.alladapterphysicalfunctionswillhavethesame
numberofVFs,orcanbesettoacommaseparatedlisttohavedifferentnumbers
ofVFsperPF.
Thedrivermoduleparametershouldbeenabledinauser‐createdfile(e.g.
sfc.conf)inthe/etc/modprobe.ddirectoryandthesfcdrivermustbereloaded
followingchanges.
optionssfcmax_vfs=4
optionssfcmax_vfs=2,4,8
Whenspecifiedasacommaseparatedlist,thefirstVFcountisassignedtothePF
withthelowestindexi.e.thelowestMACaddress,thenthePFwiththenexthighest
MACaddressetc.IfthesfcdriveroptionisusedtocreateVFs,reloadthedriver:
modprobe‐rsfc
modprobesfc
VLANtagscanbedynamicallyassignedtoVFsusinglibvirtcommands,orusing
theipcommand:
iplinkvfNUM[macLLADDR][vlanVLANID]
ToensureVLANtagspersistafterreboot,thesecanbeconfiguredintheVMXML
file.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 349
UsingOpenOnloadinaVirtualMachine
OnloadusersshouldrefertotheOnloadUserGuide(SF‐104474‐CD)forfurther
informationaboutusingOnloadinaKVM.
WhenOnloadandthesfcnetdriverhavebeeninstalledintheguest,thesfcdriver
moduleoptionnum_visisusedtoallocatetherequirednumberofvirtual
interfaces.OneVIisneededforeachOnloadstackusingaVF.
Drivermoduleoptionsshouldbeenabledinausercreatedfile(e.g.sfc.conf)inthe
/etc/modprobe.ddirectory.
optionssfcnum_vis=<num>
Reloadthedriveraftersetting/changingthisvalue:
#onload_toolreload
7.6FeatureSummary
Table83:FeatureSummary
Default SRIOV Partitioning Partitioning
+SRIOV
PFIOV
NumberofPFs(per
adapter)
numports numports ≥numports
≤16
≥numports
≤16
≥numports
≤16
AllPFs(perport)must
beonuniqueVLANs
N/A N/A Yes Yes No
NumVFs(peradapter) 0>0,≤240 0>0,≤240 0
ModesuitableforPF
PCIepassthrough
No No No No Yes
ModesuitableforVF
PCIepassthrough
No Yes No Yes No
sfbootsettings switch‐mode
=default
switch‐mode
=sriov
switch‐mode
=partitioning
switch‐mode
=partitioning
‐with‐sriov
switch‐mode
=pfiov
pf‐count=1 pf‐count=1 pf‐count>1 pf‐count>1 pf‐count>1
vf‐count=0 vf‐count>0 vf‐count=0 vf‐count>0 vf‐count=0
L2switchingbetween
PFandassociatedVFs
N/A Yes N/A Yes N/A
L2switchingbetween
PFsonthesame
physicalport
N/A N/A No No Yes
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingKVM
Issue20 ©SolarflareCommunications2017 350
7.7Limitations
UsersareadvisedtorefertotheSolarflarenetdriverreleasenotesfordetailsofall
limitations.
PerPortConfiguration
Forinitialreleases,allPFsonaphysicalporthavethesameexpansionROM
configurationwherePXE/UEFIsettingsarestored.ThismeansthatallPFswillPXE
bootornonewillattempttoPXEboot.UsersshouldensurethataDHCPserver
respondstothefirstMACaddress.
ThePF(pf‐count)configurationisaglobalsettingandappliestoallphysicalportson
anadapter.Itisnotcurrentlypossibletoconfigureportsindividually.
PTP
PTPcanonlyrunontheprimaryphysicalfunctionofeachphysicalportandisnot
supportedonVFinterfaces.
SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 351
8SR‐IOVVirtualizationUsingESXi
ThischapterincludesproceduresforinstallationandconfigurationofSolarflare
adaptersforSR‐IOVandVirtualizationdeploymentusingVMware®ESXi.Fordetails
ofinstallationandconfigurationonVMware®platformsrefertoSolarflareAdapters
onVMwareonpage264.
8.1Introduction
ThischapterdescribesSR‐IOVandDirectPathI/OusingtheVMwareESXihypervisor
andSolarflareSFN7000andSFN8000seriesadapters.
SR‐IOVenabledonSolarflareadaptersprovidesacceleratedcut‐through
performanceandiscompatiblewithhypervisorbasedservicesandmanagement
tools.TheadvanceddesignofSolarflareSFN7000andSFN8000seriesadapters
incorporatesanumberofspecificfeatureswhendeployingtheadapterinto
virtualizedenvironments.
•PCIePhysicalFunctions(PF)
BypartitioningtheNIC,eachphysicalnetworkportcanbeexposedtothehost
asupto16PCIePhysicalFunctions(PF)witheachhavingauniqueinterface
nameanduniqueMACaddress.
•PCIeVirtualFunctions(VF)
APCIephysicalfunction,PF,cansupportaconfigurablenumberofPCIevirtual
functions.Intotal240VFscanbeallocatedbetweenthePFs.Theadaptercan
alsosupportatotalof2048MSI‐Xinterrupts.
Figure58:PerAdapter‐ConfigurationOptions
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 352
FeaturesSupported
OnESXiSolarflareadapterssupportthefollowingdeployments:
RecommendedReading
TheinstructionsinthischapterfollowtheproceduresforVFandPFpassthroughas
documentedintheVMwareNetworkingUserGuideforESXi5.5.
PlatformCompatibility
SR‐IOVandDirectPathI/Oarenotsupportedonallserverplatformsandusersare
advisedtocheckservercompatibility.
DirectPathI/O‐PFPassthroughdoesnotrequireplatformSR‐IOVsupport.
•CheckforSR‐IOVsupportintheVMwarecompatibilitywebpage:
http://www.vmware.com/resources/compatibility/search.php
•EnsuretheBIOShasallSR‐IOV/Virtualizationoptionsenabled.
•OnaserverwithSR‐IOVcorrectlyconfigured,identifyifVirtualFunctions(VF)
canbeexposedtothehostOS.Refertosfbootoptionsbelowfortheprocedure
toconfigureVFsontheSolarflareadapter.
BIOS
TouseSR‐IOVmodes,SR‐IOVmustbeenabledintheplatformBIOSwheretheactual
BIOSsettingcandifferbetweenmachines,butmaybeidentifiedasSR‐IOV,IOMMU
orVT‐dandVT‐xonanIntelplatform.
TheremaybeotherBIOSoptionswhichshouldbeenabledtosupportSR‐IOV,for
exampleonDELLserversthefollowingBIOSoptionmustalsobeenabled:
IntegratedDevices,SR‐IOVGlobalEnable
UsersareadvisedtoconsulttheservervendorBIOSoptionsdocumentation.
Table84:ESXiVirtualizationFeatures
Feature GuestOS
VFPassthrough Linux6.5to7.x
PFPassthrough(DirectPathI/O) Linux6.5to7.x
WindowsServer2012R2
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 353
SupportedPlatformOS
Host
•VMwareESXi5.5and6.0
• Solarflarev4.7(orlater)netdrivers
GuestVM
•RedHatEnterpriseLinux6.5to7.x
• WindowsServer2012R2
• Solarflarev4.5(orlater)netdrivers
AccelerationofVirtualMachines(VM)runningguestoperatingsystemsnotlisted
abovearenotcurrentlysupported.
SupportedAdapters
AllSolarflareSFN7000andSFN8000seriesadaptersfullysupportSR‐IOV.Features
describedinthischapterarenotsupportedbySolarflareSFN5000orSFN6000series
adapters.
SolarflareDriver/Firmware
Featuresdescribedinthechapterrequirethefollowing(minimum)Solarflaredriver
andfirmwareversions.
#ethtool‐ivmnic<N>
driver:sfc
version:4.7.0.1031
firmware‐version:4.7.0.1020rx0tx0
Theadaptermustbeusingthefull‐featurefirmwarevariantwhichcanbeselected
usingthesfbootutilityandconfirmedwithrx0tx0appearingaftertheversion
numberintheoutputfromethtoolasshownabove.
Thefirmwareupdateutility(sfupdate)andbootROMconfigurationtool(sfboot)
areavailableintheSolarflareLinuxUtilitiespackage(SF‐107601‐LSissue36or
later).
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 354
8.2ConfigurationProcedure‐SR‐IOV
UsethefollowingproceduretoconfiguretheadapterandserverforSR‐IOV.
•InstalltheSolarflareDriverontheESXihostonpage354
•InstallSolarflareUtilitiesontheESXihostonpage355
•InstallSolarflareDriversintheGuestonpage354
•ConfigureVFsontheHost/Adapteronpage357
•VirtualMachineonpage358
•vSwitchandPortGroupConfigurationonpage360
•VFPassthroughonpage364
8.3ConfigurationProcedure‐DirectPathI/O
UsethefollowingproceduretoconfiguretheadapterandserverforPFpassthrough.
•InstalltheSolarflareDriverontheESXihostonpage354
•InstallSolarflareUtilitiesontheESXihostonpage355
•InstallSolarflareDriversintheGuestonpage354
•PartitiontheAdapteronpage370
•VirtualMachineonpage358
•MakePFPassthroughDevicesavailabletotheGuestonpage371
•AssignPFPassthroughDevicestotheVMonpage372
•ListingDevicesinaWindowsGuestonpage373
8.4InstallSolarflareDriversintheGuest
ForbothVFandPFpassthroughconfigurations,theSolarflareadapterdrivermust
beinstalledinthevirtualmachineguestOS.
DriversareavailablefromtheSolarflaredownloadsiteforLinuxandWindows
guests:https://support.solarflare.com/.
Driverinstallationproceduresonaguestarethesameasinstallationforahost.
8.5InstalltheSolarflareDriverontheESXihost
SolarflareVMwareESXidriversareavailablefrom:https://support.solarflare.com/.
RefertoInstallingSolarflareDriversandUtilitiesonVMwareonpage266for
instructionstoinstallVIBdriverpackagesthroughtheCLI.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 355
8.6InstallSolarflareUtilitiesontheESXihost
Solarflareutilities‐includingsfboot,sfupdateandsfkeyaredistributedinthe
SolarflareLinuxUtilitiespackage(SF‐107601‐LSissue36orlater)from:
https://support.solarflare.com/.
RefertoSolarflareUtilitiesPackageonpage270forinstructionstoinstallthe
utilitiesontheESXihostserver.
NOTE:TheSolarflaredrivermustbeinstalledbeforeusingsfbootoranyofthe
utilities.
sfboot‐ConfigurationOptions
Thesfbootutilityallowstheusertoconfigure:
•ThenumberofPFsexposedperporttohostand/orVirtualMachine(VM).
•ThenumberVFsexposedperporttohostand/orVirtualMachine(VM).
•ThenumberofMSI‐XinterruptsassignedtoeachPForVF.
• FirmwareVariantandswitchmode.
Tocheckthecurrentadapterconfigurationrunthesfbootcommand:
#sfboot
Solarflarebootconfigurationutility[v4.7.0]
CopyrightSolarflareCommunications2006‐2015,Level5Networks2002‐2005
vmnic6:
BootimageDisabled
PhysicalFunctionsonthisport1
PFMSI‐Xinterruptlimit32
VirtualFunctionsoneachPF4
VFMSI‐Xinterruptlimit16
Portmode2x10G
FirmwarevariantFullfeature/virtualization
InsecurefiltersEnabled
MACspoofingDisabled
VLANtagsNone
SwitchmodeSR‐IOV
RXdescriptorcachesize32
TXdescriptorcachesize16
TotalnumberofVIs2048
RatelimitsNone
Eventmergetimeout8740nanoseconds
AnalternativebootableISOimageoftheSolarflareUtilitiesisavailablefromthe
SolarflaredownloadsiteunderDownloads>Linux>Misc.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 356
FirmwareVariant
Thefirmwarevariantmustbesettofull‐feature/virtualization.
#sfboot‐‐adapter=vmnic6firmware‐variant=full‐feature
SR‐IOV(VFPassthrough)sfbootSettings
Thefollowingexamplecreates4VFsforeachphysicalport.
#sfbootswitch‐mode=sriovpf‐count=1vf‐count=4
Whenusedwithoutthe‐‐adapteroption,thecommandappliestoalladapters
DirectPathI/O(PFPassthrough)sfbootSettings
ThefollowingexamplepartitionstheNICsothateachphysicalportisexposedas4
PCIePFs.
#sfbootswitch‐mode=partitioningpf‐count=4vf‐count=0
Forsomeconfigurationoptionchangesusingsfboot,theservermustbepower
cycled(poweroff/poweron)beforethechangesareeffective.sfbootwilldisplaya
warningwhenthisisrequired.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 357
8.7ConfigureVFsontheHost/Adapter
ThefollowinghostprocedureisusedtoexposeVFsfromtheSolarflareadapter.
1SetthesfcdrivermoduleparameterfortherequirednumberofVFs:
esxclisystemmoduleparametersset‐msfc‐pmax_vfs=4
esxclisystemmoduleparameterslist‐msfc
2UsesfboottocreateVFsontheadapter:
sfbootswitch‐mode=sriovvf‐count=4
Theservermustberestarted(poweroff/poweron)forthesechangestotake
effect.
3Followingrestart‐listVFsexposedinthehost:
#lspci|grepSolarflare
0000:04:00.0Networkcontroller:SolarflareSFC9120[vmnic6]
0000:04:00.1Networkcontroller:SolarflareSFC9120[vmnic7]
0000:04:00.2Networkcontroller:Solarflare[PF_0.4.0_VF_0]
0000:04:00.3Networkcontroller:Solarflare[PF_0.4.0_VF_1]
0000:04:00.4Networkcontroller:Solarflare[PF_0.4.0_VF_2]
0000:04:00.5Networkcontroller:Solarflare[PF_0.4.0_VF_3]
0000:04:00.6Networkcontroller:Solarflare[PF_0.4.1_VF_0]
0000:04:00.7Networkcontroller:Solarflare[PF_0.4.1_VF_1]
0000:04:01.0Networkcontroller:Solarflare[PF_0.4.1_VF_2]
0000:04:01.1Networkcontroller:Solarflare[PF_0.4.1_VF_3]
Theexampleaboveisadual‐portadapter.Eachphysicalportisexposedas1PF
and4VFs(PFsareshowninboldtext).
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 358
8.8VirtualMachine
TheproceduresintheChapterassumetheVMhasalreadybeencreated.Users
shouldconsulttheVMwaredocumentationtocreatetheVM.Therecommended
methodistousetheVMwarevSphereWebClient:
TheVMmustbecompatiblewithversion10(orlater).
VMCompatibility
TheVMmustbecompatiblewithESXi5.5(orlater).WhentheVMisnotcompatible,
thefollowingprocedureviathevSphereWebClientwillupgradecompatibility:
•LocatetheVMfromthelistedhostsintheWebClient.
•RightclicktheVM>EditSettings
• UndertheVirtualHardwaretab>Upgrade
•Checkthe“ScheduleVMCompatibilityUpgrade”checkbox
• SelectESXi5.5andlaterfromthedropdownlist
•ClickOKtoclosethedialog
• Shutdownandrestarttheguest
AftertheVMhasbeenshutdownandrestarted,thecompatibilitywillbedisplayed
undertheSettingstab:
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 359
8.9ListAdapters‐WebClient
Tolistavailableadapters.
NavigatetotheHost>Networking>PhysicalAdapters
Selectinganadapterandclickingtheedit(pencil)iconallowsadaptersettingstobe
edited.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 360
8.10vSwitchandPortGroupConfiguration
UsingthevSphereWebClient,navigatetothehost.
RightclickandselectAllvCenterActions>AddNetworkingtodisplaytheAdd
Networkingwizard.
SelectVirtualMachinePortGroupforaStandardSwitch,clickNext.
InSelecttargetdevice‐selectanexistingstandardswitchorcreateanewswitch,
clickNext.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 361
Whencreatinganewstandardswitch,clickthe+iconunderAssignedadapters.
Selecttherequiredphysicaladapter(s)which,asuplinks,willconnectthevswitch
withanetwork.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 362
LabeltheportgroupandassignanetworklabelandVLANIDifrequired.VFswill
laterbeassignedtothesameportgroupandwillbeabletosend/receivetraffic
throughtheuplinkadapter(s).
ReviewsettingsandclickFinishtocomplete.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 363
ThevSwitchandassociateduplinkadapter(s)topologycanbeviewedasfollows:
Selectthehost>Managetab>Networking>Virtualswitches
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 364
8.11VFPassthrough
ThefollowingprocedureusestheVMwarevSphereWebClienttoconfigureSR‐IOV
VFpassthrough.
TheprocedureisdocumentedintheVMwareNetworkingUserGuideforESXi5.5.
Assumptions
Theprocedureassumesthefollowingtasksarecomplete:
•AVMhasbeencreatedandtheguestOSinstalled.
•ASolarflareSFN7000orSFN8000seriesadapterisphysicallyinstalledonthe
host.
•TheSolarflareVMwarenetdriverpackageisinstalledonthehost.
•ASolarflarenetdriverisinstalledintheVM.
•TheSolarflareadapterexposesVFstothehostOS.
•OnthehostavswitchhasbeencreatedandthePF(s)fromtheSolarflare
adapterareselectedasuplinks.
EnableSR‐IOVontheHostAdapter
1InthevSphereWebClient,navigatetothehost.
2SelecttheManagetab>Networking>PhysicalAdapterstolistallavailable
hostadapters.
3SelecttherequiredSolarflareadapter,thenselectthepencil(edit)icon.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 365
4FromtheadapterEditSettingsdialogenableSRIOVandspecifythenumberof
VFswhichcanbeusedbytheVM.
NOTE:Thenumberofvirtualfunctionsshouldnotexceedthevaluesetbythe
max‐vfsSolarflaredriveroption.
5Thehostmustberestartedfollowingadaptersettingschanges.Selectand
rightclockthehostintheWebClientwindowforrebootoptions.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 366
AssignaVFasaSR‐IOVPassthroughadaptertotheVM
1InthevSphereWebClient,navigatetotheVM.
2PowerOFFtheVM.
3SelecttheManagetab>Settings>VMHardware,thenclicktheEditbuttonto
displaytheVM‐EditSettingswindow.
4ToaddaVF,selectNetworkfromtheNewdevicedropdownlistandclickthe
Addbutton.
5ExpandtheNewNetworksection:
6ConnecttheVMtoaportgroupidentifyingthenetworktheVFistoconnectto.
Ifthereisnouplinkassociatedwiththeportgroup,VFsattachedtothesame
portgroupcansentbetweenthemselves,butnottoanynetwork.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 367
7SelectAdapterTypeasSR‐IOVpassthrough.
8Selectthephysicaladapterassociatedwiththeportgroupandwhichwillback
thepassthroughvirtualmachineadapter.ESXiwillselectanunusedVF
associatedwiththisadapter.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 368
9FromtheEditSettingswindow,expandtheMemorysectionandcheckthe
Reserveallguestmemory(Alllocked)checkbox.
ReservingallmemoryisrequiredforbothSR‐IOVandDirectPathconfigurations
becausetheadapterPF/VFmustbeabletoDMAtotheguestmemorywhich
needstobepresentinphysicalRAM.
10 FromtheEditSettingswindow,clicktheOKbuttontoclose.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 369
11 WiththeVMselected,clicktheManagetabandtheVMHardwareoptionto
viewhardwareconfiguration.TheSolarflareadapterPFandVFarelistedinthis
window.
ListingPassthroughDevicesinaLinuxGuest
WhentheVMhasbeenrestartedthepassedthroughVFdevicesarevisibleinthe
Linuxguestusingbothlspciandtheifconfigcommands.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 370
8.12DirectPathI/O
DirectPathI/OallowsaVMaccesstoPFonplatformshavinganIOMMU.Platform
supportforSR‐IOVisnotrequired.
SolarflareSFN7000andSFN8000seriesadapterscanbepartitionedintomultiple
PCIePFs,supportingupto16PCIephysicalfunctions.
FordetailsofNICPartitioningseeNICPartitioningonpage74.
PartitiontheAdapter
TheSolarflareNICcanbepartitionedtoexposeupto16PFsusingthesfboot
commandfromtheESXihostcommandlineinterface:
#sfboot‐‐adapter=vmnic6vf‐count=0pf‐count=4switch‐mode=partitioning
Theservermustbecold‐powercycled.Whentheserverrestarts,PFswillbevisible
inthehost:
#lspci‐vvv|grepSolarflare
0000:07:00.0EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic8]
0000:07:00.1EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic9]
0000:07:00.2EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic4]
0000:07:00.3EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic5]
0000:07:00.4EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic10]
0000:07:00.5EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic11]
0000:07:00.6EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic12]
0000:07:00.7EthernetcontrollerNetworkcontroller:SolarflareSFC9140[vmnic13]
Intheaboveexampleadual‐portadapterispartitionedtoexpose4PFsperphysical
port.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 371
MakePFPassthroughDevicesavailabletotheGuest
ThisprocedureusesthevSphereWebClientandfollowstheprocedurefromthe
vmwaredocumentationforDirectPathI/O:
VMwareNetworkingUserGuideforESXi5.5
1Navigatetothehost.SelecttheManagetab>Settingsoption.
2UndertheHardwaresection,selectPCIDevices.
3RightclickanydevicelistedandselectEditfromthepop‐upmenu.Orclickthe
edit(pencil)icon.
4FromtheAllPCIDeviceswindow,tickthecheck‐boxoftherequiredPFdevices:
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 372
CAUTION:ThePrimaryPFfromeachphysicalportcannotbepassedthroughtoa
guest.PF0,havingconfigurationprivileges,isusedbythesfcdriverinthe
hypervisorandshouldnotbepassedtoaVM.
NOTE:Whenselectingnewdevicesthesewillbemarkedas“Available(pending)”.
Thehostmustberestartedtoeffectthechanges.
AssignPFPassthroughDevicestotheVM
1LocateandselecttheVMinthevSphereWebClient.
2PowerOFFtheVM.
3SelecttheManagetab,selectSettingsthenVMHardware,thenclicktheEdit
buttontoopentheVMEditSettingswindow.
4SelecttheVirtualHardwaretabandthentheMemoryoption:
5FortheMemoryoption,settheLimitto“Unlimited”.
6Next,selectPCIDevicefromtheNewdevicedrop‐downlist,thenclicktheAdd
button.
7SelecttherequiredSolarflarePFdevicetobepassedthrough.
SolarflareServerAdapterUserGuide
SR‐IOVVirtualizationUsingESXi
Issue20 ©SolarflareCommunications2017 373
8Repeat‐selectingNewDevicethenAddforeachPFtobepassedthrough.
9ClicktheOKbuttonwhendone.
10 PowerONtheVM.
ListingDevicesinaWindowsGuest
StarttheSolarflareAdapterManagerGUIbyselectingStart>selectarrowicon>
fromthedesktopandselecttheConfigureadaptersonthisPC.
ThiswillstartSAM,afterarefresh,SelectedPFswillbevisibleasSolarflareadapters.
SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 374
9SolarflareBootManager
9.1Introduction
SolarflareadapterssupportthefollowingPrebootExecutionEnvironment(PXE)
optionsenablingdisklesssystemstobootfromaremotetargetoperatingsystem:
• SolarflareBootManager(basedongPXE)‐thedefaultPXEclientinstalledonall
Solarflareadapters.
•UEFInetworkboot.
•iPXE‐supportedonSolarflareXtremeScale™SFN8000(andlaterseries)
adapters.
TheSolarflareBootManagercomplieswiththePXE2.1specification.
BootManagerExposed
SolarflareadaptersareshippedwithbootROMsupport‘exposed’,thatistheBoot
Managerrunsduringthemachinebootupstageallowingtheusertoenterthesetup
screens(viaCtrl+B)andenablePXEsupportwhenthisisrequired.
TheBootManagercanalsobeinvokedusingtheSolarflaresuppliedsfbootutility.
Forinstructionsonthesfbootmethodrefertothesfbootcommandsinthe
relevantOSspecificsectionsofthisuserguide.
Usingthesfbootutility,theboot‐imageoptionsidentifywhichbootimagesare
exposedontheadapterduringboottime.Theboot‐image=uefioptionallowsthe
SolarflareUEFIdrivertobeloadedbytheUEFIplatformwhichcanbeconfiguredto
PXEbootfromtheSolarflareadapter.
Theboot‐typeoptionsallowstheusertoselectPXEbootortodisablePXEboot.
Thisiseffectiveonthenextreboot.
NOTE:Ifnetworkbootingisnotrequired,startuptimecanbedecreasedwhenthe
boot‐imageoptionis‘disabled’sothattheCTRL‐Boptionisnotexposedduring
systemstartup.
PXEEnabled
SomeSolarflaredistributorsareabletoshipSolarflareadapterswithPXEboot
enabled.Customersshouldcontacttheirdistributorforfurtherinformation.
SolarflareSFN8000seriesadaptersareshippedwiththePXEbootenabledandset
toPXEboot.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 375
NOTE:PXE,UEFInetworkbootisnotsupportedforSolarflareadaptersonIBM
Systempservers.
FirmwareUpgrade‐Recommended
BeforeconfiguringtheSolarflareBootManager,itisrecommendthatserversare
runningthelatestadapterfirmwarewhichcanbeupdatedasfollows:
•FromaWindowsenvironmentusethesuppliedCommandLineTool
sfupdate.exe.SeeSfupdate:FirmwareUpdateToolonpage198formore
details.
•FromaLinuxorVMwareenvironmentupdatethefirmwareviasfupdate.See
OSspecificsectionsofthisdocumentforsfupdatecommands.
Thissectioncoversthefollowingsubjects.
•SolarflareBootManageronpage375
•iPXESupportonpage376
•sfupdateOptionsforPXEupgrade/downgradeonpage376
•StartingPXEBootonpage378
•iPXEImageCreateonpage382
•MultiplePF‐PXEBootonpage384
9.2SolarflareBootManager
ThestandardSolarflareBootManager,basedongPXE,issupportedonall
Solarflareadapters.
ThebootROMagent,pre‐programmedintotheadapter’sflashimage,runsduring
themachinebootupstageand,ifenabled,supportsPXEbootingtheserver.
TheBootManagercanbeconfiguredusingitsembeddedsetupscreens(enteredvia
Ctrl+Bduringsystemboot)orviatheSolarflare‐suppliedsfbootutility.
ThebootROMagentfirmwareversioncanbeupgradedusingtheSolarflare‐
suppliedsfupdateutility.RefertotheOSspecificsectionsofthisdocumentfor
detailsofsfupdatecommands.
TheuseoftheSolarflareBootManagerisfullysupportedbySolarflare(including
meetinganySLAagreementsinplaceforprioritisedandout‐of‐hourssupport).
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 376
9.3iPXESupport
iPXEbootissupportedonSolarflareXtremeScale™SFN8000series(andlater
adapters).
AniPXEbootimagecanbeprogrammedintotheadapter’sflashviatheSolarflare‐
suppliedsfupdateutility.
iPXEisanalternativeopen‐sourcenetworkbootfirmwareprovidingbothPXE
supportandadditionalfeaturessuchasHTTPandiSCSIboot.Solarflarehave
integrated,maintainandsupportiPXEdriversfortheSFN8000seriesadaptersin
theiPXEopensourcecodebase.
UserscanuseiPXEfeaturesnotprovidedwithinthegPXEbasedSolarflareBoot
ROMagent.However,iPXEisanopensourceprojectwithitsowndevelopmentand
testprocessnotunderthedirectcontroloftheSolarflareengineeringteam.
SolarflarewillmonitortheiPXEdevelopmentmailinglistsandparticipatetoensure
theiPXEdriverforSolarflareadaptersoperatescorrectly.
NOTE:ItisrecommendedthatcustomershavingsupportquestionsontheiPXE
featuresetworkdirectlywiththeiPXEopensourcecommunity.
9.4sfupdateOptionsforPXEupgrade/downgrade
Thissectiondescribessfupdatewhenusedtoinstall/upgrade/downgradePXE
images.RefertosfupdateinOSspecificsectionsofthisdocumentforacompletelist
ofsfupdateoptions.
EachversionofsfupdatecontainsafirmwareimageandSolarflareBootManager
image.
CurrentVersions
Runthesfupdatecommandtoidentifycurrentimageversions:
enp5s0f0‐MAC:00‐0F‐53‐41‐C7‐00sfb
Firmwareversion:v6.3.0
Controllertype:SolarflareSFC9200family
Controllerversion:v6.2.5.1000
BootROMversion:v5.0.3.1002
UEFIROMversion:v2.4.3.1
WhenaniPXEimagehasbeenflashedovertheSolarflareBootManager:
enp5s0f0‐MAC:00‐0F‐53‐41‐C7‐00
Controllertype:SolarflareSFC9200family
Controllerversion:v6.2.5.1000
BootROMversion:iPXE
UEFIROMversion:v2.4.3.1
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 377
NOTE:sfupdateisnotabletodisplayversionnumbersforiPXEimages.
sfupdate‐SolarflareBootManagerimage
•ToinstallthefirmwareimageandSolarflare,gPXEbased,BootManagerimage:
#sfupdate[‐‐adapter=]‐‐write[‐‐force][‐‐backup]
•ToreinstallfirmwareandSolarflareBootManagerimagefromsfupdate:
#sfupdate[‐‐adapter=]‐‐write‐‐restore‐bootrom
•ToreinstallonlyaSolarflareBootManagerimagefrombackup:
#sfupdate[‐‐adapter=]‐‐write‐‐img=<image.dat>
Usethe‐‐forceoptionwhendowngrading.Usethe‐‐backupoptiontocreatea
backupimage(.dat)fileofthecurrentfirmwareandSolarflareBootManagerimage.
sfupdate‐iPXEimage
•ToinstalltheiPXEimage,butkeepcurrentfirmware:
#sfupdate[‐‐adapter=]‐‐write[‐‐backup]‐‐ipxe‐image=<image.mrom>
Usethe‐‐backupoptiontocreateabackupoftheexistingfirmwareandPXEboot
ROMimage.
•ToupgradefirmwareandretaintheiPXEimage:
#sfupdate[‐‐adapter=]‐‐write[‐‐force]
Usingthe‐‐forceoptionallowsfirmwaretobedowngradedbutkeepsthecurrent
iPXEimage.
CAUTION:sfupdatedoesnotdoversioncheckingforiPXEthereforeitispossibleto
downgradetheimagewithoutanydisplayedwarningandwithoutusingthe‐‐force
option.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 378
9.5StartingPXEBoot
TheBootManagercanbeconfiguredusinganyofthefollowingmethods:
•Onserverstartup,pressCtrl+Bwhenpromptedduringthebootsequence.This
startstheSolarflareBootManagerGUI.
•FromaWindowsEnvironment,youcan:
‐ UseSAM.SeeUsingSAMforBootROMConfigurationonpage181.
‐ Usethesuppliedsfbootcommandlinetool.SeeSfboot:BootROM
ConfigurationToolonpage190.
•FromaLinuxenvironment,youcanusethesfbootutility.SeeConfiguring
theBootManagerwithsfbootonpage88.
•FromaVMwareenvironment,youcanusethesfbootutility.See
SolarflareUtilitiesPackageonpage270.
sfbootisacommandlineutilityprogramfromtheSolarflareLinuxUtilitiesRPM
package(SF‐107601‐LS)availablefromsupport@solarflare.com.
PXErequiresDHCPandTFTPServers,theconfigurationoftheseserversdependson
thedeploymentserviceused.
Linux
SeeUnattendedInstallation‐RedHatEnterpriseLinuxonpage68andUnattended
Installation‐SUSELinuxEnterpriseServeronpage69formoredetailsof
unattendedinstallationonLinux
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 379
ConfiguringtheBootManagerforPXE
ThissectiondescribesconfiguringtheadapterviatheCtrl+Boptionduringserver
startup.
NOTE:IftheBIOSsupportsconsoleredirection,andyouenableit,thenSolarflare
recommendsthatyouenableANSIterminalemulationonboththeBIOSandyour
terminal.SomeBIOSsareknowntonotrendertheSolarflareBootManager
properlywhenusingvt100terminalemulation.
1Onstartingorre‐startingtheserver,pressCtrl+Bwhenprompted.The
SolarflareBootManagerisdisplayed.
TheinitialSelectAdapterpageliststheavailableadapters.Intheabove
example,thataretwoadapters,onPCIbus04andPCIbus05.
2UsethearrowkeystohighlighttheadapteryouwanttobootviaPXEandpress
Enter.TheAdapterMenuisdisplayed.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 380
3UsethearrowkeystohighlighttheGlobaladapterOptionsandpressEnter.The
GlobalAdapterOptionsmenuisdisplayed.
4Selecttherequiredbootimage:
a) UsethearrowkeystohighlighttheBootImage.
b) Usethespacebartochoosetherequiredimage.
c) PresstheEsckeytoexittheGlobalAdapterOptions.
TheAdapterMenuisagaindisplayed.
5UsethearrowkeystohighlightthePFyouwanttobootviaPXEandpressEnter.
ThePFOptionsmenuisdisplayed.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 381
6SetthePFtousePXEboot:
a) UsethearrowkeystohighlighttheBootType.
b) UsethespacebartoselectPXE.
Solarflarerecommendleavingothersettingsattheirdefaultvalues.Fordetails
onthedefaultvaluesforthevariousadaptersettings,seeTable9.8on
page387.
7PresstheEsckeyrepeatedlyuntiltheSolarflareBootManagerexits.
8ChooseSaveChangesandexit.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 382
9.6iPXEImageCreate
Solarflaredonotprovidepre‐builtiPXEimages.
TheSolarflareiPXEbootROMimagecanbegeneratedfromtherom‐o‐maticiPXE
webbuilderwizardavailablefrom:
https://rom‐o‐matic.eu/
1SelecttheAdvancedoption:
2SelectanOutputformat:
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 383
3EnterNICDetails:
a) EntertheSolarflarePCIvendoridentifier:1924.
b) EntertheSFN8000PCIDeviceCode:0a03
c) SelecttheGITversion(masterisrecommended).
4Generatetheimagefile.
ClicktheProceedbuttontostartimagegenerationthendownloadthecreated
imagefiletothetargetserver.
5ApplytheimagetotheSolarflareadapterusingsfupdate:
#sfupdate[‐‐adapter=]‐‐write‐‐ipxe‐image=<filename.mrom>
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 384
9.7MultiplePF‐PXEBoot
Usingthesfbootcommandlineutilityv4.5.0(orlaterversion)itispossibletoPXE
bootwhenmultiplePhysicalFunctionshavebeenenabled.Theprimaryfunctionon
eachport(PF0/PF1)isaprivilegedfunctionandcanbeselectedforconfiguration.
OtherPFsinheritfromtheirprivilegedfunction‐so,forexample,withtwophysical
portsand2PFsperport:
•PF0andPF2willhavethesameboot‐type
•PF1andPF3willhavethesameboot‐type
Configurationofnon‐privilegedfunctionsisnotcurrentlysupported.
Inthefollowingexample2PFs(and2VFs)areenabledforeachphysicalinterface.
#sfboot
Solarflarebootconfigurationutility[v4.5.0]
eth2:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport2
MSI‐Xinterruptlimit32
NumberofVirtualFunctions2
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtags100,110
SwitchmodePartitioningwithSRIOV
eth3:
BootimageOptionROMonly
LinkspeedNegotiatedautomatically
Link‐updelaytime5seconds
Bannerdelaytime2seconds
Bootskipdelaytime5seconds
BoottypeDisabled
PhysicalFunctionsperport2
MSI‐Xinterruptlimit32
NumberofVirtualFunctions2
VFMSI‐Xinterruptlimit8
Firmwarevariantfullfeature/virtualization
InsecurefiltersDisabled
MACspoofingDisabled
VLANtags100,110
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 385
SwitchmodePartitioningwithSRIOV
eth4:
Interface‐specificbootoptionsarenotavailable.Adapter‐wideoptions
areavailableviaeth2(00‐0F‐53‐25‐39‐90).
eth5:
Interface‐specificbootoptionsarenotavailable.Adapter‐wideoptions
areavailableviaeth2(00‐0F‐53‐25‐39‐90).
UsingtheBootManager
WhenmultiplePhysicalFunctionshavebeenenabled,theSolarflareBootManger
GUIutility(CTRL‐B)willlistthem:
Figure59:BootManagerlistsmultiplePFs
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 386
However,thesettingsforeachPFareread‐only,andtheonlysupportedactionisto
FlashLEDsontheportbeingused.
Figure60:Read‐onlysettingsformultiplePFs
Recoveryfromincorrectsettings
CertainsettingsmustbecorrectforsuccessfulPXEbooting,suchas:
•portmode
•VLANtagging.
Ifthesesettingsbecomeincorrect,forexamplebecauseaserverismovedtoa
differentpartofthenetwork.PXEbootingwillthenfail.
Tocorrectthesesettings,youmustusetheSolarflareBootMangerGUIutility.(You
cannotusethesfbootcommandlineutility,becausethereisnoOStohostit.)This
ispossibleonlyinsinglePhysicalFunctionmode.
IfmultiplePhysicalFunctionshavebeenenabled,theincorrectsettingsareread‐
only.Insuchcases,youmustresettheadaptertoitsdefaultsettings(seeDefault
AdapterSettingsonpage387).ThisreturnstheadaptertoasinglePhysicalFunction
mode,andremovesallVLANtags.YoucanthenusetheBootMangertomakethe
settingsthatyourequire.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 387
9.8DefaultAdapterSettings
ResettinganadapterdoesnotchangethebootROMimage.Toresetanadapterto
itsdefaultsettings:
1Startorre‐starttheserverandwhenprompted,pressCtrl+B.TheSolarflare
BootManagerisdisplayed.
2UsethearrowkeystohighlighttheadapteryouwanttorestoreandpressEnter.
TheAdapterMenuisdisplayed.
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 388
3UsethearrowkeystohighlightResettoDefaultsandpressEnter.TheResetto
Defaultsconfirmationisdisplayed.
4UsethearrowkeystohighlightOKandpressEnter.Thesettingsareresettothe
defaults.
NOTE:UnderWindows,youcanalsoresetthesettingsbyclickingDefaultfrom
SAM.
Table9.8liststhevariousadaptersettingsandtheirdefaultvalues.
Table85:DefaultAdapterSettings
Setting DefaultValue
BootImage OptionROM&UEFI
Linkspeed Auto
Linkupdelay 5seconds
Bannerdelay 2seconds
Bootskipdelay 5seconds
BootType PXE
InitiatorDHCP
Initiator‐IQN‐DHCP
LUNbusyretrycount
Target‐DHCP
TCPport
BootLUN
SolarflareServerAdapterUserGuide
SolarflareBootManager
Issue20 ©SolarflareCommunications2017 389
DHCPVendor
MPIOattempts
MSIXLimit 32
Table85:DefaultAdapterSettings
Setting DefaultValue
SolarflareServerAdapterUserGuide
Issue20 ©SolarflareCommunications2017 390
Index
A
AcceleratedVirtualI/O1
B
BootFirmware
Configuring183
BootROMExposed374
C
Checksumoffload
ConfigureonVMware285
ConfigurewithSAM163
Completioncodes215
ConfigureMTU
FreeBSD306
Linux104
ConfigureQSFP+Adapter49
ConfiguretheBootManager181
CPUSpeedService
TuningonLinux116
D
Default387
DirectPathI/O370
Dynamiclinkaggregation
seealsoTeaming217
E
EthernetLinkSpeed
ConfigurewithSAM166
Ethtool
ConfigureInterruptmoderationon
Linux105
ConfigureInterruptmoderationon
VMware284
Configuresegmentationoffload
107
Configuringadapter70
Runningadapterdiagnosticson
Linux135
Runningadapterdiagnosticson
VMware269
ethtoolstatistics125
ExtractSolarflareDrivers149
F
Faulttolerantteams
seealsoTeaming220
Failover221
FiberOpticCable
Attaching36
I
Insertingtheadapter34
IntelQuickData
OnLinux117
OnVMware287
InterruptAffinity113
InterruptandIrqbalance
TuningonLinux113
InterruptModeration
ConfigureonFreeBSD307
ConfigurewithSAM163
TuningonWindows230
iPXEImageCreate382
iPXESupport376
J
JumboFrames
ConfiguringonLinux72
SolarflareServerAdapterUserGuide
Index
Issue20 ©SolarflareCommunications2017 391
K
KernelDriver1
KernelModulePackages(KMP)61
KVMDirectBridged337
KVMlibvirtBridged333
KVMLibvirtDirectPassthrough340
KVMNetworkArchitectures333
L
LargeReceiveOffload(LRO)
ConfigureonFreeBSD309
ConfigureonLinux107
ConfigureonVMware285
ConfigureonWindows233
LargeSendOffload(LSO)
ConfigureonWindows232
LED46
LicenseInstallwithsfkey100
Linkaggregation217
Linux
ConfigureMTU104
M
MaximumFrameSize
TuningonWindows230
Memorybandwidth
OnVMware287
OnWindows237
TuningonLinux117
N
NetworkAdapterProperties
Configuration184
NICPartitioning74
O
OpenOnload2
P
PCIExpressLaneConfiguration
OnFreeBSD311
OnLinux115
OnVMware286
OnWindows236
PF‐IOV346
PowerdService
TuningonFreeBSD312
PXE
ConfigurewiththeBootROM
agent379
PXEEnabled374
R
ReceiveFlowSteering(RFS)83
ReceiveSegmentCoalescing(RSC)
ConfigureonWindows232
ReceiveSideScaling(RSS)81
ConfigureonWindows233
ConfigurewithSAM163
TuningonVMware286
RedHat
Installingon63
RJ‐45cable
Attaching35
Specifications36
S
SAM
BootROMconfiguration181
BootROMLinksettings182
Disableadapterbooting183
Driverandcablediagnostics177
Viewingadapterstatistics176
Segmentationoffload
ConfigureonFreeBSD308
ConfigureonLinux107
ConfigureonVMware285
ServerPowerSavingMode
OnWindows238
sfboot
OnVMware271
OnWindows190
sfcable205
SolarflareServerAdapterUserGuide
Index
Issue20 ©SolarflareCommunications2017 392
sfnet211
sfteam
OnWindows200
sfupdate
OnFreeBSD303
OnVMware279
OnWindows198
sfupdateOptionsforPXEupgrade/
downgrade376
SingleOpticalFiber‐RXConfiguration
51
SolarflareAcceleratedRFS(SARFS)84
SolarflareAppFlex™Technology
Licensing18
SolarflareBootManager375
SolarflareBootROMAgent374
SR‐IOV331
SR‐IOVVirtualizationUsingESXi351
Standbyandpowermanagement
ConfigurewithSAM238
Staticlinkaggregation
seealsoTeaming219
SUSE
Installingon64
SystemRequirements
FreeBSD289
Linux59
VMware264
Windows137
T
TCPProtocolTuning
OnLinux109
OnVMware286
OnWindows238
Teaming
seealsosfteamonWindows200
AddingadapterswithSAM172
ConfigureonVMware267
DeletingfromSAM173
Keyadapter225
ReconfiguringwithSAM170
SettinguponLinux73
VLANs222
TransmitPacketSteering(XPS)85
TuningRecommendations
OnFreeBSD312
OnLinux118
OnWindows242
U
UnattendedInstallation
Driverdisks67
SUSE69
Windows150
V
VFPassthrough364
VirtualMachine358
VirtualNICsupport2
VLAN
DeletingfromSAM176
SettingupwithSAM174
VMware
ConfigureMTU283
ESXServiceConsole266
NetQueue282
VMwareTools282
vSwitchandPortGroupConfiguration
360
W
Windows
InstallingfromtheCommand
Prompt146
Repairingandmodifying
installation145
UsingADDLOCAL148
WindowsCommandLineUtilities189
Windowseventlogerrormessages
244
SolarflareServerAdapterUserGuide
Index
Issue20 ©SolarflareCommunications2017 393