Planefedora16
fedora16 时间:2021-05-01 阅读:(
)
ReleaseNotesRelease2.
0.
0April24,2015CONTENTS1DescriptionofRelease21.
1UsingDPDKUpgradePatches21.
2DocumentationRoadmap22NewFeatures53SupportedFeatures74SupportedOperatingSystems135UpdatingApplicationsfromPreviousVersions145.
1DPDK1.
7toDPDK1.
8145.
2IntelDPDK1.
6toDPDK1.
7145.
3IntelDPDK1.
5toIntelDPDK1.
6145.
4IntelDPDK1.
4toIntelDPDK1.
5155.
5IntelDPDK1.
3toIntelDPDK1.
4.
x155.
6IntelDPDK1.
2toIntelDPDK1.
3155.
7IntelDPDK1.
1toIntelDPDK1.
2166KnownIssuesandLimitations176.
1UnitTestforLinkBondingmayfailattest_tlb_tx_burst(176.
2PauseFrameForwardingdoesnotworkproperlyonigb176.
3InpacketsprovidedbythePMD,someagsaremissing186.
4Therte_malloclibraryisnotfullyimplemented186.
5HPETreadingisslow186.
6HPETtimersdonotworkontheOsagecustomerreferenceplatform196.
7NotallvariantsofsupportedNICtypeshavebeenusedintesting206.
8Multi-processsampleapprequiresexactmemorymapping216.
9Packetsarenotsentbythe1GbE/10GbESR-IOVdriverwhenthesourceMACaddressisnottheMACaddressassignedtotheVFNIC216.
10SR-IOVdriversdonotfullyimplementtherte_ethdevAPI226.
11PMDdoesnotworkwith–no-hugeEALcommandlineparameter226.
12Somehardwareoff-loadfunctionsarenotsupportedbytheVFDriver236.
13KernelcrashonIGBportunbinding236.
14TwinpondandIronpondNICsdonotreportlinkstatuscorrectly246.
15DiscrepanciesbetweenstatisticsreportedbydifferentNICs246.
16ErrorreportedopeninglesonDPDKinitialization256.
17IntelQuickAssistTechnologysampleapplicationdoesnotworkona32-bitOSonShumway25i6.
18IEEE1588supportpossiblynotworkingwithanIntelEthernetControllerI210NIC266.
19DifferencesinhowdifferentIntelNICshandlemaximumpacketlengthforjumboframe266.
20BindingPCIdevicestoigb_uiofailsonLinux*kernel3.
9whenmorethanonedeviceisused276.
21GCCmightgenerateIntelAVXinstructionsforprocessorswithoutIntelAVXsupport276.
22Ethertypeltercouldreceiveotherpackets(non-assigned)inNiantic286.
23CannotsetlinkspeedonIntel40GEthernetcontroller286.
24StoppingtheportdoesnotdownthelinkonIntel40GEthernetcontroller.
.
.
296.
25Devicesboundtoigb_uiowithVT-denableddonotworkonLinux*kernel3.
15-3.
17307ResolvedIssues317.
1RunningTestPMDwithSRIOVinDomainUmaycauseittohangwhenXEN-VIRTswitchison317.
2Vhost-xencannotdetectDomainUapplicationexitonXenversion4.
0.
1.
.
.
.
327.
3VirtioincorrectheaderlengthusedifMSI-Xisdisabledbykerneldriver327.
4Unstablesystemperformanceacrossapplicationexecutionswith2MBpages.
.
337.
5LinkstatuschangenotworkingwithMSIinterrupts337.
6KNIdoesnotprovideEthtoolsupportforallNICssupportedbythePoll-ModeDrivers347.
7LinuxIPv4forwardingisnotstablewithvhost-switchonhighpacketrate.
.
.
.
347.
8PCAPlibraryoverwritesmbufdatabeforedataisused357.
9MPClientExampleapp-ushingpartofTXisnotworkingforsomeportsifsetspecicportmaskwithskippedports357.
10PackettruncationwithIntelI350GigabitEthernetController367.
11DeviceinitializationfailurewithIntelEthernetServerAdapterX520-T2367.
12DPDKkernelmoduleisincompatiblewithLinuxkernelversion3.
3377.
13InitializationfailurewithIntelEthernetControllerX540-T2377.
14rte_eth_dev_stop()functiondoesnotbringdownthelinkfor1GBNICports.
.
377.
15Itisnotpossibletoadjusttheduplexsettingfor1GBNICports387.
16Callingrte_eth_dev_stop()onaportdoesnotfreeallthembufsinusebythatport387.
17PMDdoesnotalwayscreateringsthatareproperlyalignedinmemory397.
18ChecksumofoadmightnotworkcorrectlywhenmixingVLAN-taggedandor-dinarypackets397.
19PortnotfoundissuewithIntel82580GigabitEthernetController407.
20Packetmbufsmaybeleakedfrommempoolifrte_eth_dev_start()functionfails.
407.
21Promiscuousmodefor82580NICscanonlybeenabledafteracalltorte_eth_dev_startforaport417.
22IncorrectCPUsocketinformationreportedin/proc/cpuinfocanpreventtheDPDKfromrunning417.
23L3FWDsampleapplicationmayfailtotransmitpacketsunderextremeconditions427.
24L3FWD-VFmightloseCRCbytes427.
2532-bitDPDKsampleapplicationsfailswhenusingmorethanone1GBhugepage427.
26l2fwdfailstolaunchiftheNICistheIntel82571EBGigabitEthernetController437.
2732-bitDPDKapplicationsmayfailtoinitializeon64-bitOS437.
28Lpmissuewhenusingprexes>24437.
29IXGBEPMDhangsonportshutdownwhennotallpacketshavebeensent.
.
.
44ii7.
30Conglechangecancausebuildtofail447.
31rte_cmdlinelibraryshouldnotbeusedinproductioncodeduetolimitedtesting457.
32Some*_INITIALIZERmacrosarenotcompatiblewithC+457.
33Notrafcthroughbridgewhenusingexception_pathsampleapplication467.
34SegmentationFaultintestpmdaftercongfails467.
35Linuxkernelpci_cfg_access_lock()APIcanbepronetodeadlock467.
36Whenrunningmulti-processapplications,"rte_malloc"functionscannotbeusedinsecondaryprocesses477.
37ConguringmaximumpacketlengthforIGBwithVLANenabledmaynottakeintoaccountthelengthofVLANtag477.
38IntelI210EthernetcontrolleralwaysstripsCRCofincomingpackets487.
39EALcansilentlyreservelessmemorythanrequested487.
40SSHconnectivitywiththeboardmaybelostwhenstartingaDPDKapplication.
487.
41Remotenetworkconnectionslostwhenrunningautotestsorsampleapplications497.
42KNImaynotworkproperlyinamulti-processenvironment497.
43Hashlibrarycannotbeusedinmulti-processapplicationswithmultiplebinaries507.
44Unusedhugepagelesarenotclearedafterinitialization507.
45Packetreceptionissueswhenvirtualizationisenabled517.
46DoubleVLANdoesnotworkonIntel40GbEEthernetcontroller518ABIpolicy528.
1ExamplesofDeprecationNotices528.
2DeprecationNotices539FrequentlyAskedQuestions(FAQ)549.
1Whenrunningthetestapplication,Iget"EAL:map_all_hugepages():openfailed:PermissiondeniedCannotinitmemory"549.
2IfIwanttochangethenumberofTLBHugepagesallocated,howdoIremovetheoriginalpagesallocated549.
3IfIexecute"l2fwd-cf-m64–n3–-p3",Igetthefollowingoutput,indicatingthattherearenosocket0hugepagestoallocatethembufandringstructuresto549.
4Iamrunninga32-bitDPDKapplicationonaNUMAsystem,andsometimestheapplicationinitializesnebutcannotallocatememory.
Whyisthathappening.
559.
5Onapplicationstartup,thereisalotofEALinformationprinted.
Isthereanywaytoreducethis559.
6HowcanItunemynetworkapplicationtoachievelowerlatency559.
7WithoutNUMAenabled,mynetworkthroughputislow,why569.
8Iamgettingerrorsaboutnotbeingabletoopenles.
Why569.
9DoesmykernelrequirepatchingtoruntheDPDK579.
10VFdriverforIXGBEdevicescannotbeinitialized.
579.
11Isitsafetoaddanentrytothehashtablewhilerunning579.
12Whatisthepurposeofsettingiommu=pt579.
13Whentryingtosendpacketsfromanapplicationtoitself,meaningsmac==dmac,usingIntel(R)82599VFpacketsarelost.
589.
14CanIsplitpacketRXtouseDPDKandhaveanapplication'shigherorderfunc-tionscontinueusingLinux*pthread589.
15IsitpossibletoexchangedatabetweenDPDKprocessesandregularuserspaceprocessesviasomesharedmemoryorIPCmechanism589.
16CanthemultiplequeuesinIntel(R)I350beusedwithDPDK589.
17Howcanhugepage-backedmemorybesharedamongmultipleprocesses.
.
.
58iiiReleaseNotes,Release2.
0.
0PackageVersion:2.
0April24,2015ContentsCONTENTS1CHAPTERONEDESCRIPTIONOFRELEASEThesereleasenotescoverthenewfeatures,xedbugsandknownissuesforDataPlaneDevelopmentKit(DPDK)releaseversion2.
0.
0.
Forinstructionsoncompilingandrunningtherelease,seetheDPDKGettingStartedGuide.
1.
1UsingDPDKUpgradePatchesForminorupdatestothemainDPDKreleases,thesoftwaremaybemadeavailablebothasanewfullpackageandasapatchletobeappliedtothepreviouslyreleasedpackage.
Inthelattercase,thefollowingcommandsshouldbeusedtoapplythepatchontopofthealready-installedpackageforthepreviousrelease:#cd$RTE_SDK#patch-p1pkt.
data_lenshouldbereplacebybuf->data_len.
Anydirectreferencestothedataeldofthembuf(originalbuf->pkt.
data)shouldnowbereplacebythemacrorte_pktmbuf_mtodtogetacomputeddataaddressinsidethembufbufferarea.
Anyreferencestothein_portmbufeldshouldbereplacebyreferencestotheporteld.
NOTE:Theabovelistisnotexhaustive,butonlyincludesthemostcommonlyrequiredchangestocodeusingmbufs.
5.
2IntelDPDK1.
6toDPDK1.
7Notethefollowingdifferencebetween1.
6and1.
7:The"default"targethasbeenrenamedto"native"5.
3IntelDPDK1.
5toIntelDPDK1.
6Notethefollowingdifferencebetween1.
5and1.
6:TheCONFIG_RTE_EAL_UNBIND_PORTScongurationoption,whichwasdeprecatedinIntelDPDK1.
4.
x,hasbeenremovedinIntelDPDK1.
6.
x.
ApplicationsusingtheIntelDPDKmustbeexplicitlyunboundtotheigb_uiodriverusingthedpdk_nic_bind.
py14ReleaseNotes,Release2.
0.
0scriptincludedintheIntelDPDKreleaseanddocumentedintheIntelDPDKGettingStartedGuide.
5.
4IntelDPDK1.
4toIntelDPDK1.
5Notethefollowingdifferencebetween1.
4and1.
5:Startingwithversion1.
5,thetop-leveldirectorycreatedfromunzippingthereleasepack-agewillnowcontainthereleaseversionnumber,thatis,DPDK-1.
5.
2/ratherthanjustDPDK/.
5.
5IntelDPDK1.
3toIntelDPDK1.
4.
xNotethefollowingdifferencebetweenreleases1.
3and1.
4.
x:InRelease1.
4.
x,IntelDPDKapplicationswillnolongerunbindthenetworkportsfromtheLinux*kerneldriverwhentheapplicationinitializes.
Instead,anyportstobeusedbyIntelDPDKmustbeunboundfromtheLinuxdriverandboundtotheigb_uiodriverbeforetheapplicationstarts.
Thiscanbedoneusingthepci_unbind.
pyscriptincludedwiththeIntelDPDKreleaseanddocumentedintheIntelDPDKGettingStartedGuide.
IftheportunbindingbehaviorpresentinpreviousIntelDPDKreleasesisrequired,thiscanbere-enabledusingtheCONFIG_RTE_EAL_UNBIND_PORTSsettingintheappropriateIntelDPDKcompile-timecongurationle.
InRelease1.
4.
x,HPETsupportisdisabledintheIntelDPDKbuildcongurationles,whichmeansthattheexistingrte_eal_get_hpet_hz()andrte_eal_get_hpet_cycles()APIsarenotavailablebydefault.
ForapplicationsthatrequiretimingAPIs,butnottheHPETtimerspecically,itisrecommendedthattheAPIcallsrte_get_timer_cycles()andrte_get_timer_hz()beusedinsteadoftheHPET-specicAPIs.
ThesegenericAPIscanworkwitheitherTSCorHPETtimesources,dependingonwhatisrequestedbyanapplication,andonwhatisavailableonthesystematruntime.
Formoredetailsonthisandhowtore-enabletheHPETifitisneeded,pleaseconsulttheIntelDPDKGettingStartedGuide.
5.
6IntelDPDK1.
2toIntelDPDK1.
3Notethefollowingdifferencebetweenreleases1.
2and1.
3:Inrelease1.
3,theIntelDPDKsupportstwodifferent1GbEdrivers:igbandem.
Bothofthemarelocatedinthesamelibrary:lib_pmd_e1000.
a.
Therefore,thenameofthelibrarytolinkwithfortheigbPMDhaschangedfromlibrte_pmd_igb.
atoli-brte_pmd_e1000.
a.
Therte_common.
hmacros,RTE_ALIGN,RTE_ALIGN_FLOORandRTE_ALIGN_CEILwererenamedto,RTE_PTR_ALIGN,RTE_PTR_ALIGN_FLOORandRTE_PTR_ALIGN_CEIL.
Theoriginalmacrosarestillavailablebuttheyhavedif-ferentbehavior.
Notupdatingthemacrosresultsinstrangecompilationerrors.
5.
4.
IntelDPDK1.
4toIntelDPDK1.
515ReleaseNotes,Release2.
0.
0Therte_tailqisnowdenedstatically.
Therte_tailqAPIshavealsobeenchangedfrombeingpublictointernaluseonly.
TheoldpublicAPIsaremaintainedforbackwardcom-patibilityreasons.
DetailscanbefoundintheIntelDPDKAPIReference.
ThemethodformanagingmbufsontheNICRXringshasbeenmodiedtoimproveperformance.
Toallowapplicationstousethenewer,moreoptimized,codepath,itisrecommendedthattherx_free_thresheldintherte_eth_confstructure,whichispassedtothePollModeDriverwheninitializinganetworkport,besettoavalueof32.
5.
7IntelDPDK1.
1toIntelDPDK1.
2Notethefollowingdifferencebetweenrelease1.
1andrelease1.
2:Thenamesofthe1Gand10GEthernetdrivershavechangedbetweenreleases1.
1and1.
2.
Whiletheolddrivernamesstillwork,itisrecommendedthatcodebeupdatedtothenewnames,sincetheoldnamesaredeprecatedandmayberemovedinafuturerelease.
Theitemsaffectedareasfollows:–AnymacrosreferringtoRTE_LIBRTE_82576_PMDshouldbeupdatedtorefertoRTE_LIBRTE_IGB_PMD.
–AnymacrosreferringtoRTE_LIBRTE_82599_PMDshouldbeupdatedtorefertoRTE_LIBRTE_IXGBE_PMD.
–Anycallstotherte_82576_pmd_init()functionshouldbereplacedbycallstorte_igb_pmd_init().
–Anycallstotherte_82599_pmd_init()functionshouldbereplacedbycallstorte_ixgbe_pmd_init().
ThemethodusedformanagingmbufsontheNICTXringsforthe10GbEdriverhasbeenmodiedtoimproveperformance.
Asaresult,differentparametervaluesshouldbepassedtotherte_eth_tx_queue_setup()function.
Therecommendeddefaultvaluesaretohavetx_thresh.
tx_wthresh,tx_free_thresh,aswellasthenewparametertx_rs_thresh(allinthestructrte_eth_txconfdatatype)settozero.
Seethe"CongurationofTransmitandReceiveQueues"sectionintheIntelDPDKProgrammer'sGuideformoredetails.
Note:Ifthetx_free_thresheldissettoTX_RING_SIZE+1,aswaspreviouslyusedinsomecasestodisablefreethresholdcheck,thenanerrorisgeneratedatportinitializationtime.
Toavoidthiserror,conguretheTXthresholdvaluesassuggestedabove.
5.
7.
IntelDPDK1.
1toIntelDPDK1.
216CHAPTERSIXKNOWNISSUESANDLIMITATIONSThissectiondescribesknownissueswiththeDPDKsoftware.
6.
1UnitTestforLinkBondingmayfailattest_tlb_tx_burst()TitleUnitTestforLinkBondingmayfailattest_tlb_tx_burst()Reference#IXA00390304DescriptionUnittestswillfailattest_tlb_tx_burstfunctionwitherrorforunevendistributionofpackets.
ImplicationUnittestlink_bonding_autotestwillfailResolution/WorkaroundThereisnoworkaroundavailable.
AffectedEnvironment/PlatformFedora20Driver/ModuleLinkBonding6.
2PauseFrameForwardingdoesnotworkproperlyonigbTitlePauseFrameforwardingdoesnotworkproperlyonigbReference#IXA00384637DescriptionForigbdevicesrte_eth_ow_ctrl_setisnotworkingasexpected.
Pauseframesarealwaysforwardedonigb,regardlessoftheRFCE,MPMCFandDPFregisters.
ImplicationPauseframeswillneverberejectedbythehoston1GNICsandtheywillalwaysbeforwarded.
Resolution/WorkaroundThereisnoworkaroundavailable.
AffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)17ReleaseNotes,Release2.
0.
06.
3InpacketsprovidedbythePMD,someagsaremissingTitleInpacketsprovidedbythePMD,someagsaremissingReference#3DescriptionInpacketsprovidedbythePMD,someagsaremissing.
Theapplicationdoesnothaveaccesstoinformationprovidedbythehardware(packetisbroadcast,packetismulticast,packetisIPv4andsoon).
ImplicationThe"ol_ags"eldinthe"rte_mbuf"structureisnotcorrectandshouldnotbeused.
ResolutionTheapplicationhastoparsetheEthernetheaderitselftogettheinformation,whichisslower.
AffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)6.
4Therte_malloclibraryisnotfullyimplementedTitleTherte_malloclibraryisnotfullyimplementedReference#6DescriptionTherte_malloclibraryisnotfullyimplemented.
ImplicationAlldebuggingfeaturesofrte_malloclibrarydescribedinarchitecturedocumentationarenotyetimplemented.
ResolutionNoworkaroundavailable.
AffectedEnvironment/PlatformAllDriver/Modulerte_malloc6.
5HPETreadingisslowTitleHPETreadingisslowReference#7DescriptionReadingtheHPETchipisslow.
ImplicationAnapplicationthatcalls"rte_get_hpet_cycles()"or"rte_timer_manage()"runsslower.
ResolutionTheapplicationshouldnotcallthesefunctionstooofteninthemainloop.
AnalternativeistousetheTSCregisterthrough"rte_rdtsc()"whichisfaster,butspecictoanlcoreandisacyclereference,notatimereference.
AffectedEnvironment/PlatformAllDriver/ModuleEnvironmentAbstractionLayer(EAL)6.
3.
InpacketsprovidedbythePMD,someagsaremissing18ReleaseNotes,Release2.
0.
06.
6HPETtimersdonotworkontheOsagecustomerreferenceplatformTitleHPETtimersdonotworkontheOsagecustomerreferenceplatformReference#17DescriptionHPETtimersdonotworkontheOsagecustomerreferenceplatformwhichincludesanIntelXeonprocessor5500seriesprocessor)usingthereleasedBIOSfromIntel.
ImplicationOnOsageboards,theimplementationofthe"rte_delay_us()"functionmustbechangedtonotusetheHPETtimer.
ResolutionThiscanbeaddressedbybuildingthesystemwiththe"CONFIG_RTE_LIBEAL_USE_HPET=n"congurationoptionorbyusingthe–no-hpetEALoption.
AffectedEnvironment/PlatformTheOsagecustomerreferenceplatform.
OthervendorplatformswithIntelXeonprocessor5500seriesprocessorsshouldworkcorrectly,providedtheBIOSsupportsHPET.
Driver/Modulelib/librte_eal/common/include/rte_cycles.
h6.
6.
HPETtimersdonotworkontheOsagecustomerreferenceplatform19ReleaseNotes,Release2.
0.
06.
7NotallvariantsofsupportedNICtypeshavebeenusedintest-ingTitleNotallvariantsofsupportedNICtypeshavebeenusedintestingReference#28DescriptionThesupportednetworkinterfacecardscancomeinanumberofvariantswithdifferentdeviceID's.
NotallofthesevariantshavebeentestedwiththeIntelDPDK.
TheNICdeviceidentiersusedduringtest-ing:IntelEthernetControllerXL710for40GbEQSFP+[8086:1584]IntelEthernetControllerXL710for40GbEQSFP+[8086:1583]IntelEthernetControllerX710for10GbESFP+[8086:1572]Intel82576GigabitEthernetCon-troller[8086:10c9]Intel82576QuadCopperGigabitEthernetController[8086:10e8]Intel82580DualCopperGigabitEth-ernetController[8086:150e]IntelI350QuadCopperGigabitEth-ernetController[8086:1521]Intel82599DualFibre10GigabitEth-ernetController[8086:10fb]IntelEthernetServerAdapterX520-T2[8086:151c]IntelEthernetControllerX540-T2[8086:1528]Intel82574LGigabitNetworkCon-nection[8086:10d3]EmulatedIntel82540EMGigabitEth-ernetController[8086:100e]EmulatedIntel82545EMGigabitEth-ernetController[8086:100f]IntelEthernetServerAdapterX520-4[8086:154a]IntelEthernetControllerI210[8086:1533]ImplicationRiskofissueswithuntestedvariants.
ResolutionUsetestedNICvariants.
Forthosesup-portedEthernetcontrollers,additionaldeviceIDsmaybeaddedtothesoftwareifrequired.
AffectedEnvironment/PlatformAllDriver/ModulePoll-modedrivers6.
7.
NotallvariantsofsupportedNICtypeshavebeenusedintesting20ReleaseNotes,Release2.
0.
06.
8Multi-processsampleapprequiresexactmemorymappingTitleMulti-processsampleapprequiresexactmemorymappingReference#30DescriptionThemulti-processexampleapplicationassumesthatitispossibletomapthehugepagememorytothesamevirtualaddressesinclientandserverapplications.
Occasionally,veryrarelywith64-bit,thisdoesnotoccurandaclientapplicationwillfailonstartup.
TheLinux"address-spacelayoutrandomization"securityfeaturecansometimescausethistooccur.
ImplicationAmulti-processclientapplicationfailstoinitialize.
ResolutionSeethe"Multi-processLimitations"sectionintheIntelDPDKProgrammer'sGuideformoreinformation.
AffectedEnvironment/PlatformAllDriver/ModuleMulti-processexampleapplication6.
9Packetsarenotsentbythe1GbE/10GbESR-IOVdriverwhenthesourceMACaddressisnottheMACaddressassignedtotheVFNICTitlePacketsarenotsentbythe1GbE/10GbESR-IOVdriverwhenthesourceMACaddressisnottheMACaddressassignedtotheVFNICReference#IXA00168379DescriptionThe1GbE/10GbESR-IOVdrivercanonlysendpacketswhentheEthernetheader'ssourceMACaddressisthesameasthatoftheVFNIC.
ThereasonforthisisthattheLinux"ixgbe"drivermoduleinthehostOShasitsanti-spoongfeatureenabled.
ImplicationPacketssentusingthe1GbE/10GbESR-IOVdrivermusthavethesourceMACaddresscorrectlysettothatoftheVFNIC.
PacketswithothersourceaddressvaluesaredroppedbytheNICiftheapplicationattemptstotransmitthem.
Resolution/WorkaroundConguretheEthernetsourceaddressineachpackettomatchthatoftheVFNIC.
AffectedEnvironment/PlatformAllDriver/Module1GbE/10GbEVFPollModeDriver(PMD)6.
8.
Multi-processsampleapprequiresexactmemorymapping21ReleaseNotes,Release2.
0.
06.
10SR-IOVdriversdonotfullyimplementtherte_ethdevAPITitleSR-IOVdriversdonotfullyimplementtherte_ethdevAPIReference#59DescriptionTheSR-IOVdriversonlysupportsthefollow-ingrte_ethdevAPIfunctions:rte_eth_dev_congure()rte_eth_tx_queue_setup()rte_eth_rx_queue_setup()rte_eth_dev_info_get()rte_eth_dev_start()rte_eth_tx_burst()rte_eth_rx_burst()rte_eth_dev_stop()rte_eth_stats_get()rte_eth_stats_reset()rte_eth_link_get()rte_eth_link_get_no_wait()ImplicationCallinganunsupportedfunctionwillresultinanapplicationerror.
Resolution/WorkaroundDonotuseotherrte_ethdevAPIfunctionsinapplicationsthatusetheSR-IOVdrivers.
AffectedEnvironment/PlatformAllDriver/ModuleVFPollModeDriver(PMD)6.
11PMDdoesnotworkwith–no-hugeEALcommandlineparam-eterTitlePMDdoesnotworkwith–no-hugeEALcommandlineparameterReference#IXA00373461DescriptionCurrently,theDPDKdoesnotstoreanyinformationaboutmemoryallocatedbymalloc()(forexample,NUMAnode,physicaladdress),hencePMDdriversdonotworkwhenthe–no-hugecommandlineparameterissuppliedtoEAL.
ImplicationSendingandreceivingdatawithPMDwillnotwork.
Resolution/WorkaroundUsehugepagememoryoruseVFIOtomapdevices.
AffectedEnvironment/PlatformSystemsrunningtheDPDKonLinuxDriver/ModulePollModeDriver(PMD)6.
10.
SR-IOVdriversdonotfullyimplementtherte_ethdevAPI22ReleaseNotes,Release2.
0.
06.
12Somehardwareoff-loadfunctionsarenotsupportedbytheVFDriverTitleSomehardwareoff-loadfunctionsarenotsupportedbytheVFDriverReference#IXA00378813DescriptionCurrently,congurationofthefollowingitemsisnotsupportedbytheVFdriver:IP/UDP/TCPchecksumofoadJumboFrameReceiptHWStripCRCImplicationAnycongurationfortheseitemsintheVFregisterwillbeignored.
Thebehaviorisde-pendentonthecurrentPFsetting.
Resolution/WorkaroundForthePF(PhysicalFunction)statusonwhichtheVFdriverdepends,thereisanop-tionitemunderPMDinthecongle.
Forothers,theVFwillkeepthesamebehaviorasPFsetting.
AffectedEnvironment/PlatformAllDriver/ModuleVF(SR-IOV)PollModeDriver(PMD)6.
13KernelcrashonIGBportunbindingTitleKernelcrashonIGBportunbindingReference#74DescriptionKernelcrashmayoccurwhenunbinding1Gportsfromtheigb_uiodriver,on2.
6.
3xkernelssuchasshippedwithFedora14.
ImplicationKernelcrashoccurs.
Resolution/WorkaroundUsenewerkernelsordonotunbindports.
AffectedEnvironment/Platform2.
6.
3xkernelssuchasshippedwithFedora14Driver/ModuleIGBPollModeDriver(PMD)6.
12.
Somehardwareoff-loadfunctionsarenotsupportedbytheVFDriver23ReleaseNotes,Release2.
0.
06.
14TwinpondandIronpondNICsdonotreportlinkstatuscor-rectlyTitleTwinpondandIronpondNICsdonotreportlinkstatuscorrectlyReference#IXA00378800DescriptionTwinPond/IronPondNICsdonotbringthephysicallinkdownwhenshuttingdowntheport.
ImplicationThelinkisreportedasupevenafterissuing"shutdown"commandunlessthecableisphysicallydisconnected.
Resolution/WorkaroundNone.
AffectedEnvironment/PlatformTwinPondandIronPondNICsDriver/ModulePollModeDriver(PMD)6.
15DiscrepanciesbetweenstatisticsreportedbydifferentNICsTitleDiscrepanciesbetweenstatisticsreportedbydifferentNICsReference#IXA00378113DescriptionGigabitEthernetdevicesfromIntelincludeCRCbyteswhencalculatingpacketreceptionstatisticsregardlessofhardwareCRCstrippingstate,while10-GigabitEthernetdevicesfromInteldosoonlywhenhardwareCRCstrippingisdisabled.
ImplicationTheremaybeadiscrepancyinhowdifferentNICsdisplaypacketreceptionstatistics.
Resolution/WorkaroundNoneAffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)6.
14.
TwinpondandIronpondNICsdonotreportlinkstatuscorrectly24ReleaseNotes,Release2.
0.
06.
16ErrorreportedopeninglesonDPDKinitializationTitleErrorreportedopeninglesonDPDKinitializationReference#91DescriptionOnDPDKapplicationstartup,errorsmaybereportedwhenopeninglesaspartoftheinitializationprocess.
Thisoccursifalargenumber,forexample,500ormore,orifhugepagesareused,duetotheper-processlimitonthenumberofopenles.
ImplicationTheDPDKapplicationmayfailtorun.
Resolution/WorkaroundIfusing2MBhugepages,considerswitchingtoafewernumberof1GBpages.
Alternatively,usethe"ulimit"commandtoincreasethenumberofleswhichcanbeopenedbyaprocess.
AffectedEnvironment/PlatformAllDriver/ModuleEnvironmentAbstractionLayer(EAL)6.
17IntelQuickAssistTechnologysampleapplicationdoesnotworkona32-bitOSonShumwayTitleIntelQuickAssistTechnologysampleapplicationsdoesnotworkona32-bitOSonShumwayReference#93DescriptionTheIntelCommunicationsChipset89xxSeriesdevicedoesnotfullysupportNUMAona32-bitOS.
Consequently,thesampleapplicationcannotworkproperlyonShumway,sinceitrequiresNUMAonbothnodes.
ImplicationThesampleapplicationcannotworkin32-bitmodewithemulatedNUMA,onmulti-socketboards.
Resolution/WorkaroundThereisnoworkaroundavailable.
AffectedEnvironment/PlatformShumwayDriver/ModuleAll6.
16.
ErrorreportedopeninglesonDPDKinitialization25ReleaseNotes,Release2.
0.
06.
18IEEE1588supportpossiblynotworkingwithanIntelEther-netControllerI210NICTitleIEEE1588supportmaynotworkwithanIntelEthernetControllerI210NICReference#IXA00380285DescriptionIEEE1588supportisnotworkingwithanIntelEthernetControllerI210NIC.
ImplicationIEEE1588packetsarenotforwardedcorrectlybytheIntelEthernetControllerI210NIC.
Resolution/WorkaroundThereisnoworkaroundavailable.
AffectedEnvironment/PlatformAllDriver/ModuleIGBPollModeDriver6.
19DifferencesinhowdifferentIntelNICshandlemaximumpacketlengthforjumboframeTitleDifferencesinhowdifferentIntelNICshandlemaximumpacketlengthforjumboframeReference#96Description10GigabitEthernetdevicesfromInteldonottakeVLANtagsintoaccountwhencalculatingpacketsizewhileGigabitEthernetdevicesdosoforjumboframes.
ImplicationWhenreceivingpacketswithVLANtags,theactualmaximumsizeofusefulpayloadthatIntelGigabitEthernetdevicesareabletoreceiveis4bytes(or8bytesinthecaseofpacketswithextendedVLANtags)lessthanthatofIntel10GigabitEthernetdevices.
Resolution/WorkaroundIncreasetheconguredmaximumpacketsizewhenusingIntelGigabitEthernetdevices.
AffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)6.
18.
IEEE1588supportpossiblynotworkingwithanIntelEthernetControllerI210NIC26ReleaseNotes,Release2.
0.
06.
20BindingPCIdevicestoigb_uiofailsonLinux*kernel3.
9whenmorethanonedeviceisusedTitleBindingPCIdevicestoigb_uiofailsonLinux*kernel3.
9whenmorethanonedeviceisusedReference#97DescriptionAknownbugintheuiodriverincludedinLinux*kernelversion3.
9preventsmorethanonePCIdevicetobeboundtotheigb_uiodriver.
ImplicationThePollModeDriver(PMD)willcrashoninitialization.
Resolution/WorkaroundUseearlierorlaterkernelversions,orapplythefollowingpatch.
AffectedEnvironment/PlatformLinux*systemswithkernelversion3.
9Driver/Moduleigb_uiomodule6.
21GCCmightgenerateIntelAVXinstructionsforprocessorswithoutIntelAVXsupportTitleGccmightgenerateIntelAVXinstructionsforprocessorswithoutIntelAVXsupportReference#IXA00382439DescriptionWhencompilingIntelDPDK(andanyDPDKapp),gccmaygenerateIntelAVXinstructions,evenwhentheprocessordoesnotsupportIntelAVX.
ImplicationAnyDPDKappmightcrashwhilestartingup.
Resolution/WorkaroundEithercompileusingiccorsetEXTRA_CFLAGS='-O3'priortocompilation.
AffectedEnvironment/PlatformPlatformswhichprocessordoesnotsupportIntelAVX.
Driver/ModuleEnvironmentAbstractionLayer(EAL)6.
20.
BindingPCIdevicestoigb_uiofailsonLinux*kernel3.
9whenmorethanonedeviceisused27ReleaseNotes,Release2.
0.
06.
22Ethertypeltercouldreceiveotherpackets(non-assigned)inNianticTitleEthertypeltercouldreceiveotherpackets(non-assigned)inNianticReference#IXA00169017DescriptionOnIntelEthernetController82599EB:WhenEthertypelter(priorityenable)wasset,unmatchedpacketsalsocouldbereceivedontheassignedqueue,suchasARPpacketswithout802.
1qtagsorwiththeuserprioritynotequaltosetvalue.
LaunchthetestpmdbydisablingRSSandwithmultiplyqueues,thenaddtheethertypelterlike:"add_ethertype_lter0ethertype0x0806priorityenable3queue2index1",andthenstartforwarding.
WhensendingARPpacketswithout802.
1qtagandwithuserpriorityasnon-3bytester,alltheARPpacketscanbereceivedontheassignedqueue.
ImplicationTheuserprioritycomparinginEthertypeltercannotworkprobably.
ItistheNIC'sissueduetotheresponsefromPAE:"Infact,ETQF.
UPisnotfunctional,andtheinformationwillbeaddedinerrataof82599andX540.
"Resolution/WorkaroundNoneAffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)6.
23CannotsetlinkspeedonIntel40GEthernetcontrollerTitleCannotsetlinkspeedonIntel40GEthernetcontrollerReference#IXA00386379DescriptionOnIntel40GEthernetController:Itcannotsetthelinktospecicspeed.
ImplicationThelinkspeedcannotbechangedforcibly,thoughitcanbeconguredbyapplication.
Resolution/WorkaroundNoneAffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)6.
22.
Ethertypeltercouldreceiveotherpackets(non-assigned)inNiantic28ReleaseNotes,Release2.
0.
06.
24StoppingtheportdoesnotdownthelinkonIntel40GEth-ernetcontrollerTitleStoppingtheportdoesnotdownthelinkonIntel40GEthernetcontrollerReference#IXA00386380DescriptionOnIntel40GEthernetController:Stoppingtheportdoesnotreallydowntheportlink.
ImplicationTheportlinkwillbestillupafterstoppingtheport.
Resolution/WorkaroundNoneAffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)6.
24.
StoppingtheportdoesnotdownthelinkonIntel40GEthernetcontroller29ReleaseNotes,Release2.
0.
06.
25Devicesboundtoigb_uiowithVT-denableddonotworkonLinux*kernel3.
15-3.
17TitleDevicesboundtoigb_uiowithVT-denableddonotworkonLinux*kernel3.
15-3.
17DescriptionWhenVT-disenabled(iommu=ptintel_iommu=on),devicesare1:1mapped.
IntheLinux*kernelunbindingdevicesfromdriversremovesthatmappingwhichresultinIOMMUerrors.
IntroducedinLinuxkernel3.
15commit,solvedinLinuxkernel3.
18commit.
ImplicationDeviceswillnotbeallowedtoaccessmemory,resultinginfollowingkernelerrors:dmar:DRHD:handlingfaultstatusreg2dmar:DMAR:[DMARead]Requestdevice[02:00.
0]faultaddra0c58000DMAR:[faultreason02]PresentbitincontextentryisclearResolution/WorkaroundUseearlierorlaterkernelversions,oravoiddriverbindingonbootbyblacklistingthedrivermodules.
ie.
inthecaseofixgbe,wecanpassthekernelcommandlineoption:modprobe.
blacklist=ixgbeThiswaywedonotneedtounbindthedevicetobindittoigb_uio.
AffectedEnvironment/PlatformLinux*systemswithkernelversions3.
15to3.
17Driver/Moduleigb_uiomodule6.
25.
Devicesboundtoigb_uiowithVT-denableddonotworkonLinux*kernel3.
15-3.
1730CHAPTERSEVENRESOLVEDISSUESThissectiondescribespreviouslyknownissuesthathavebeenresolvedsincereleaseversion1.
2.
7.
1RunningTestPMDwithSRIOVinDomainUmaycauseittohangwhenXENVIRTswitchisonTitleRunningTestPMDwithSRIOVinDomainUmaycauseittohangwhenXENVIRTswitchisonReference#IXA00168949DescriptionWhenTestPMDisrunwithonlySRIOVport/testpmd-cf-n4–-i,thefollowingerroroccurs:PMD:gntalloc:ioctlerrorEAL:Error-exitingwithcode:1Cause:Creationofmbufpoolforsocket0failedThen,alternatelyrunSRIOVportandvirtIOwithtestpmd:testpmd-cf-n4–-itestpmd-cf-n4–use-dev="eth_xenvirt0"–-iImplicationDomUwillnotbeaccessibleafteryourepeatthisactionsometimesResolution/WorkaroundRuntestpmdwitha"–total-num-mbufs=N(Nid[port]);"AffectedEnviron-ment/PlatformAllDriver/ModuleClient-ServerMulti-processSampleapplication7.
8.
PCAPlibraryoverwritesmbufdatabeforedataisused35ReleaseNotes,Release2.
0.
07.
10PackettruncationwithIntelI350GigabitEthernetControllerTitlePackettruncationwithIntelI350GigabitEthernetControllerReference#IXA00372461DescriptionThesettingofthehw_strip_crceldintherte_eth_confstructurepassedtotherte_eth_dev_congure()functionisnotrespectedandhardwareCRCstrippingisalwaysenabled.
Iftheeldissetto0,thenthesoftwarealsotriestostriptheCRC,resultinginpackettruncation.
ImplicationThelast4bytesofthepacketsreceivedwillbemissing.
Resolu-tion/WorkaroundFixedanomissionindeviceinitialization(settingtheSTRCRCbitintheDVMOLRregister)torespecttheCRCstrippingselectioncorrectly.
AffectedEnviron-ment/PlatformSystemsusingtheIntelI350GigabitEthernetControllerDriver/Module1GbEPollModeDriver(PMD)7.
11DeviceinitializationfailurewithIntelEthernetServerAdapterX520-T2TitleDeviceinitializationfailurewithIntelEthernetServerAdapterX520-T2Reference#55DescriptionIfthisdeviceisboundtotheLinuxkernelIXGBEdriverwhentheDPDKisinitialized,DPDKisinitialized,thedeviceinitializationfailswitherrorcode-17"IXGBE_ERR_PHY_ADDR_INVALID".
ImplicationThedeviceisnotinitializedandcannotbeusedbyanapplication.
Resolu-tion/WorkaroundIntroducedasmalldelayindeviceinitializationtoallowDPDKtoalwaysndthedevice.
AffectedEnviron-ment/PlatformSystemsusingtheIntelEthernetServerAdapterX520-T2Driver/Module10GbEPollModeDriver(PMD)7.
10.
PackettruncationwithIntelI350GigabitEthernetController36ReleaseNotes,Release2.
0.
07.
12DPDKkernelmoduleisincompatiblewithLinuxkernelver-sion3.
3TitleDPDKkernelmoduleisincompatiblewithLinuxkernelversion3.
3Reference#IXA00373232DescriptionTheigb_uiokernelmodulefailstocompileonsystemswithLinuxkernelversion3.
3duetoAPIchangesinkernelheadersImplicationThecompilationfailsandEthernetcontrollersfailtoinitializewithouttheigb_uiomodule.
Resolu-tion/WorkaroundKernelfunctionspci_block_user_cfg_access()/pci_cfg_access_lock()andpci_unblock_user_cfg_access()/pci_cfg_access_unlock()areautomaticallyselectedatcompiletimeasappropriate.
AffectedEnviron-ment/PlatformLinuxsystemsusingkernelversion3.
3orlaterDriver/ModuleUIOmodule7.
13InitializationfailurewithIntelEthernetControllerX540-T2TitleInitializationfailurewithIntelEthernetControllerX540-T2Reference#57DescriptionThisdevicecausesafailureduringinitializationwhenthesoftwaretriestoreadthepartnumberfromthedeviceEPROM.
ImplicationDevicecannotbeused.
Resolu-tion/WorkaroundRemoveunnecessarycheckofthePBAnumberfromthedevice.
AffectedEnviron-ment/PlatformSystemsusingtheIntelEthernetControllerX540-T2Driver/Module10GbEPollModeDriver(PMD)7.
14rte_eth_dev_stop()functiondoesnotbringdownthelinkfor1GBNICportsTitlerte_eth_dev_stop()functiondoesnotbringdownthelinkfor1GBNICportsReference#IXA00373183DescriptionWhentherte_eth_dev_stop()functionisusedtostopaNICport,thelinkisnotbroughtdownforthatport.
ImplicationLinksarestillreportedasup,eventhoughtheNICdevicehasbeenstoppedandcannotperformTXorRXoperationsonthatport.
ResolutionTherte_eth_dev_stop()functionnowbringsdownthelinkwhencalled.
AffectedEnviron-ment/PlatformAllDriver/Module1GbEPollModeDriver(PMD)7.
12.
DPDKkernelmoduleisincompatiblewithLinuxkernelversion3.
337ReleaseNotes,Release2.
0.
07.
15Itisnotpossibletoadjusttheduplexsettingfor1GBNICportsTitleItisnotpossibletoadjusttheduplexsettingfor1GBNICportsReference#66DescriptionTherte_eth_confstructuredoesnothaveaparameterthatallowsaporttobesettohalf-duplexinsteadoffull-duplexmode,therefore,1GBNICscannotbeconguredexplicitlytoafull-orhalf-duplexvalue.
Implication1GBportduplexcapabilitycannotbesetmanually.
ResolutionThePMDnowusesaneweldaddedtotherte_eth_confstructuretoallow1GBportstobeconguredexplicitlyashalf-orfull-duplex.
AffectedEnviron-ment/PlatformAllDriver/Module1GbEPollModeDriver(PMD)7.
16Callingrte_eth_dev_stop()onaportdoesnotfreeallthembufsinusebythatportTitleCallingrte_eth_dev_stop()onaportdoesnotfreeallthembufsinusebythatportReference#67DescriptionTherte_eth_dev_stop()functioninitiallyfreesallmbufsusedbythatport'sRXandTXrings,butsubsequentlyrepopulatestheRXringagainlaterinthefunction.
ImplicationNotallmbufsusedbyaportarefreedwhentheportisstopped.
ResolutionThedrivernolongerre-populatestheRXringintherte_eth_dev_stop()function.
AffectedEnviron-ment/PlatformAllDriver/ModuleIGBandIXGBEPollModeDrivers(PMDs)7.
15.
Itisnotpossibletoadjusttheduplexsettingfor1GBNICports38ReleaseNotes,Release2.
0.
07.
17PMDdoesnotalwayscreateringsthatareproperlyalignedinmemoryTitlePMDdoesnotalwayscreateringsthatareproperlyalignedinmemoryReference#IXA00373158DescriptionTheNIChardwareusedbythePMDrequiresthattheRXandTXringsusedmustbealignedinmemoryona128-byteboundary.
ThememzonereservationfunctionusedinsidethePMDonlyguaranteesthattheringsarealignedona64-byteboundary,soerrorscanoccuriftheringsarenotalignedona128-byteboundary.
ImplicationUnintendedoverwritingofmemorycanoccurandPMDbehaviormayalsobeeffected.
ResolutionAnewrte_memzone_reserve_aligned()APIhasbeenaddedtoallowmemoryreservationsfromhugepagememoryatalignmentsotherthan64-bytes.
ThePMDhasbeenmodiedsothattheringsareallocatedusingthisAPIwithminimumalignmentof128-bytes.
AffectedEnviron-ment/PlatformAllDriver/ModuleIGBandIXGBEPollModeDrivers(PMDs)7.
18ChecksumofoadmightnotworkcorrectlywhenmixingVLAN-taggedandordinarypacketsTitleChecksumofoadmightnotworkcorrectlywhenmixingVLAN-taggedandordinarypacketsReference#IXA00378372DescriptionIncorrecthandlingofprotocolheaderlengthsinthePMDdriverImplicationThechecksumforoneofthepacketsmaybeincorrect.
Resolu-tion/WorkaroundCorrectedtheoffsetcalculation.
AffectedEnvironment/PlatformAllDriver/ModulePollModeDriver(PMD)7.
17.
PMDdoesnotalwayscreateringsthatareproperlyalignedinmemory39ReleaseNotes,Release2.
0.
07.
19PortnotfoundissuewithIntel82580GigabitEthernetCon-trollerTitlePortnotfoundissuewithIntel82580GigabitEthernetControllerReference#50DescriptionAftergoingthroughmultipledriverunbind/bindcycles,anIntel82580EthernetControllerportmaynolongerbefoundandinitializedbytheDPDK.
ImplicationTheportwillbeunusable.
Resolu-tion/WorkaroundIssuewasnotreproducibleandthereforenolongerconsideredanissue.
AffectedEnviron-ment/PlatformAllDriver/Module1GbEPollModeDriver(PMD)7.
20Packetmbufsmaybeleakedfrommempoolifrte_eth_dev_start()functionfailsTitlePacketmbufsmaybeleakedfrommempoolifrte_eth_dev_start()functionfailsReference#IXA00373373DescriptionTherte_eth_dev_start()functionallocatesmbufstopopulatetheNICRXrings.
Ifthestartfunctionsubsequentlyfails,thesembufsarenotfreedbacktothememorypoolfromwhichtheycame.
Implicationmbufsmaybelosttothesystemifrte_eth_dev_start()failsandtheapplicationdoesnotterminate.
Resolu-tion/Workaroundmbufsarecorrectlydeallocatedifacalltorte_eth_dev_start()fails.
AffectedEnviron-ment/PlatformAllDriver/ModulePollModeDriver(PMD)7.
19.
PortnotfoundissuewithIntel82580GigabitEthernetController40ReleaseNotes,Release2.
0.
07.
21Promiscuousmodefor82580NICscanonlybeenabledafteracalltorte_eth_dev_startforaportTitlePromiscuousmodefor82580NICscanonlybeenabledafteracalltorte_eth_dev_startforaportReference#IXA00373833DescriptionFor82580-basednetworkports,therte_eth_dev_start()functioncanoverwritethesettingofthepromiscuousmodeforthedevice.
Therefore,therte_eth_promiscuous_enable()APIcallshouldbecalledafterrte_eth_dev_start()forthesedevices.
ImplicationPromiscuousmodecanonlybeenabledifAPIcallsareinaspecicorder.
Resolu-tion/WorkaroundTheNICnowrestoresmostofitscongurationafteracalltorte_eth_dev_start().
AffectedEnviron-ment/PlatformAllDriver/ModulePollModeDriver(PMD)7.
22IncorrectCPUsocketinformationreportedin/proc/cpuinfocanpreventtheDPDKfromrunningTitleIncorrectCPUsocketinformationreportedin/proc/cpuinfocanpreventtheIntelDPDKfromrunningReference#63DescriptionTheDPDKusersinformationsuppliedbytheLinuxkerneltodeterminethehardwarepropertiesofthesystembeingused.
Onrareoccasions,informationsuppliedby/proc/cpuinfodoesnotmatchthatreportedelsewhere.
Insomecases,ithasbeenobservedthattheCPUsocketnumberinggivenin/proc/cpuinfoisincorrectandthiscanpreventDPDKfromoperating.
ImplicationTheDPDKcannotrunonsystemswhere/proc/cpuinfodoesnotreportthecorrectCPUsockettopology.
Resolu-tion/WorkaroundCPUsocketinformationisnowreadfrom/sys/devices/cpu/pcuN/topologyAffectedEnviron-ment/PlatformAllDriver/ModuleEnvironmentAbstractionLayer(EAL)7.
21.
Promiscuousmodefor82580NICscanonlybeenabledafteracalltorte_eth_dev_startforaport41ReleaseNotes,Release2.
0.
07.
23L3FWDsampleapplicationmayfailtotransmitpacketsunderextremeconditionsTitleL3FWDsampleapplicationmayfailtotransmitpacketsunderextremeconditionsReference#IXA00372919DescriptionUnderveryheavyload,theL3Forwardingsampleapplicationmayfailtotransmitpacketsduetothesystemrunningoutoffreembufs.
ImplicationSendingandreceivingdatawiththePMDmayfail.
Resolution/WorkaroundThenumberofmbufsisnowcalculatedbasedonapplicationparameters.
AffectedEnviron-ment/PlatformAllDriver/ModuleL3Forwardingsampleapplication7.
24L3FWD-VFmightloseCRCbytesTitleL3FWD-VFmightloseCRCbytesReference#IXA00373424DescriptionCurrently,theCRCstrippingcongurationdoesnotaffecttheVFdriver.
ImplicationPacketstransmittedbytheDPDKintheVMmaybelacking4bytes(packetCRC).
Resolution/WorkaroundSet"strip_crc"to1inthesampleapplicationsthatusetheVFPMD.
AffectedEnvironment/PlatformAllDriver/ModuleIGBandIXGBEVFPollModeDrivers(PMDs)7.
2532-bitDPDKsampleapplicationsfailswhenusingmorethanone1GBhugepageTitle32-bitIntelDPDKsampleapplicationsfailswhenusingmorethanone1GBhugepageReference#31Description32-bitapplicationsmayhaveproblemswhenrunningwithmultiple1GBpagesona64-bitOS.
Thisisduetothelimitedaddressspaceavailableto32-bitprocesses.
Implication32-bitprocessesneedtouseeither2MBpagesorhavetheirmemoryuseconstrainedto1GBifusing1GBpages.
ResolutionEALnowlimitsvirtualmemoryto1GBperpagesize.
AffectedEnviron-ment/Platform64-bitsystemsrunning32-bitIntelDPDKwith1GBhugepagesDriver/ModuleEnvironmentAbstractionLayer(EAL)7.
23.
L3FWDsampleapplicationmayfailtotransmitpacketsunderextremeconditions42ReleaseNotes,Release2.
0.
07.
26l2fwdfailstolaunchiftheNICistheIntel82571EBGigabitEthernetControllerTitlel2fwdfailstolaunchiftheNICistheIntel82571EBGigabitEthernetControllerReference#IXA00373340DescriptionThe82571EBNICcanhandleonlyoneTXperport.
Theoriginalimplementationallowedforamorecomplexhandlingofmultiplequeuesperport.
ImplicationThel2fwdapplicationfailstolaunchiftheNICis82571EB.
Resolutionl2fwdnowusesonlyoneTXqueue.
AffectedEnviron-ment/PlatformAllDriver/ModuleSampleApplication7.
2732-bitDPDKapplicationsmayfailtoinitializeon64-bitOSTitle32-bitDPDKapplicationsmayfailtoinitializeon64-bitOSReference#IXA00378513DescriptionTheEALuseda32-bitpointertodealwithphysicaladdresses.
Thiscouldcreateproblemswhenthephysicaladdressofahugepageexceedsthe4GBlimit.
Implication32-bitapplicationsmaynotinitializeona64-bitOS.
Resolu-tion/WorkaroundThephysicaladdresspointerisnow64-bit.
AffectedEnviron-ment/Platform32-bitapplicationsina64-bitLinux*environmentDriver/ModuleEnvironmentAbstractionLayer(EAL)7.
28Lpmissuewhenusingprexes>24TitleLpmissuewhenusingprexes>24Reference#IXA00378395DescriptionExtendedtbl8'sareoverwrittenbymultiplelpmruleentrieswhenthedepthisgreaterthan24.
ImplicationLPMtbl8entriesremovedbyadditionalrules.
Resolution/WorkaroundAddingtbl8entriestoavalidgrouptoavoidmakingtheentiretableinvalidandsubsequentlyoverwritten.
AffectedEnviron-ment/PlatformAllDriver/ModuleSampleapplications7.
26.
l2fwdfailstolaunchiftheNICistheIntel82571EBGigabitEthernetController43ReleaseNotes,Release2.
0.
07.
29IXGBEPMDhangsonportshutdownwhennotallpacketshavebeensentTitleIXGBEPMDhangsonportshutdownwhennotallpacketshavebeensentReference#IXA00373492DescriptionWhenthePMDisforwardingpackets,andthelinkgoesdown,andportshutdowniscalled,theportcannotshutdown.
Instead,ithangsduetotheIXGBEdriverincorrectlyperformingtheportshutdownprocedure.
ImplicationTheportcannotshutdownanddoesnotcomebackupuntilre-initialized.
Resolu-tion/WorkaroundTheportshutdownprocedurehasbeenrewritten.
AffectedEnviron-ment/PlatformAllDriver/ModuleIXGBEPollModeDriver(PMD)7.
30ConglechangecancausebuildtofailTitleConglechangecancausebuildtofailReference#IXA00369247DescriptionIfachangeinacongleresultsinsomeDPDKlesthatwereneedednolongerbeingneeded,thebuildwillfail.
Thisisbecausethe*.
olewillstillexist,andthelinkerwilltrytolinkit.
ImplicationDPDKcompilationfailureResolutionTheMakelenowprovidesinstructionstocleanoutoldkernelmoduleobjectles.
AffectedEnviron-ment/PlatformAllDriver/ModuleLoadbalancesampleapplication7.
29.
IXGBEPMDhangsonportshutdownwhennotallpacketshavebeensent44ReleaseNotes,Release2.
0.
07.
31rte_cmdlinelibraryshouldnotbeusedinproductioncodeduetolimitedtestingTitlerte_cmdlinelibraryshouldnotbeusedinproductioncodeduetolimitedtestingReference#34DescriptionTherte_cmdlinelibraryprovidesacommandlineinterfaceforuseinsampleapplicationsandtestapplicationsdistributedaspartofDPDK.
However,itisnotvalidatedtothesamestandardasotherDPDKlibraries.
ImplicationItmaycontainbugsorerrorsthatcouldcauseissuesinproductionapplications.
ResolutionTherte_cmdlinelibraryisnowtestedcorrectly.
AffectedEnviron-ment/PlatformAllDriver/Modulerte_cmdline7.
32Some*_INITIALIZERmacrosarenotcompatiblewithC++TitleSome*_INITIALIZERmacrosarenotcompatiblewithC++Reference#IXA00371699DescriptionThesemacrosdonotworkwithC++compilers,sincetheyusetheC99methodofnamedeldinitialization.
TheTOKEN_*_INITIALIZERmacrosinlibrte_cmdlinehavethisproblem.
ImplicationC++applicationusingthesemacroswillfailtocompile.
Resolution/WorkaroundMacrosarenowcompatiblewithC++code.
AffectedEnviron-ment/PlatformAllDriver/Modulerte_timer,rte_cmdline7.
31.
rte_cmdlinelibraryshouldnotbeusedinproductioncodeduetolimitedtesting45ReleaseNotes,Release2.
0.
07.
33Notrafcthroughbridgewhenusingexception_pathsampleapplicationTitleNotrafcthroughbridgewhenusingexception_pathsampleapplicationReference#IXA00168356DescriptionOnsomesystems,packetsaresentfromtheexception_pathtothetapdevice,butarenotforwardedbythebridge.
ImplicationThesampleapplicationdoesnotworkasdescribedinitssampleapplicationguide.
Resolu-tion/WorkaroundIfyoucannotgetpacketsthoughthebridge,itmightbebecauseIPpacketlteringrulesareupbydefaultonthebridge.
Inthatcaseyoucandisableitusingthefollowing:#foriin/proc/sys/net/bridge/bridge_nf-*;doecho0>$i;doneAffectedEnviron-ment/PlatformLinuxDriver/ModuleExceptionpathsampleapplication7.
34SegmentationFaultintestpmdaftercongfailsTitleSegmentationFaultintestpmdaftercongfailsReference#IXA00378638DescriptionStartingtestpmdwithaparameterthatcausesportqueuesetuptofail,forexample,setTXWTHRESHtonon0whentx_rs_threshisgreaterthan1,thendoing"portstartall".
ImplicationSegfaultintestpmdResolution/WorkaroundTestpmdnowforcesportrecongurationiftheinitialcongurationfailed.
AffectedEnviron-ment/PlatformAllDriver/ModuleTestpmdSampleApplication7.
35Linuxkernelpci_cfg_access_lock()APIcanbepronetodead-lockTitleLinuxkernelpci_cfg_access_lock()APIcanbepronetodeadlockReference#IXA00373232DescriptionThekernelAPIsusedforlockingintheigb_uiodrivercancauseadeadlockincertainsituations.
ImplicationUnknownatthistime;dependsontheapplication.
Resolution/WorkaroundTheigb_uiodrivernowusesthepci_cfg_access_trylock()functioninsteadofpci_cfg_access_lock().
AffectedEnviron-ment/PlatformAllDriver/ModuleIGBUIODriver7.
33.
Notrafcthroughbridgewhenusingexception_pathsampleapplication46ReleaseNotes,Release2.
0.
07.
36Whenrunningmulti-processapplications,"rte_malloc"func-tionscannotbeusedinsecondaryprocessesTitleWhenrunningmulti-processapplications,"rte_malloc"functionscannotbeusedinsecondaryprocessesReference#35DescriptionTherte_malloclibraryprovidesasetofmalloc-typefunctionsthatreservememoryfromhugepagesharedmemory.
Sincesecondaryprocessescannotreservememorydirectlyfromhugepagememory,rte_mallocfunctionscannotbeusedreliably.
ImplicationThelibrte_mallocfunctions,forexample,rte_malloc(),rte_zmalloc()andrte_realloc()cannotbeusedreliablyinsecondaryprocesses.
Resolution/WorkaroundInadditiontore-entrancysupport,theIntelDPDKnowsupportsthereservationofamemzonefromtheprimarythreadorsecondarythreads.
Thisisachievedbyputtingthereservation-relatedcontroldatastructureofthememzoneintosharedmemory.
Sincerte_mallocfunctionsrequestmemorydirectlyfromthememzone,thelimitationforsecondarythreadsnolongerapplies.
AffectedEnviron-ment/PlatformAllDriver/Modulerte_malloc7.
37ConguringmaximumpacketlengthforIGBwithVLANen-abledmaynottakeintoaccountthelengthofVLANtagTitleConguringmaximumpacketlengthforIGBwithVLANenabledmaynottakeintoaccountthelengthofVLANtagReference#IXA00379880DescriptionForIGB,themaximumpacketlengthconguredmaynotincludethelengthoftheVLANtagevenifVLANisenabled.
ImplicationPacketswithaVLANtagwithasizeclosetothemaximummaybedropped.
Resolu-tion/WorkaroundNICregistersarenowcorrectlyinitialized.
AffectedEnviron-ment/PlatformAllwithIGBNICsDriver/ModuleIGBPollModeDriver(PMD)7.
36.
Whenrunningmulti-processapplications,"rte_malloc"functionscannotbeusedinsecondaryprocesses47ReleaseNotes,Release2.
0.
07.
38IntelI210EthernetcontrolleralwaysstripsCRCofincomingpacketsTitleIntelI210EthernetcontrolleralwaysstripsCRCofincomingpacketsReference#IXA00380265DescriptionTheIntelI210Ethernetcontroller(NIC)removes4bytesfromtheendofthepacketregardlessofwhetheritwasconguredtodosoornot.
ImplicationPacketswillbemissing4bytesiftheNICisnotconguredtostripCRC.
Resolution/WorkaroundNICregistersarenowcorrectlyinitialized.
AffectedEnviron-ment/PlatformAllDriver/ModuleIGBPollModeDriver(PMD)7.
39EALcansilentlyreservelessmemorythanrequestedTitleEALcansilentlyreservelessmemorythanrequestedReference#IXA00380689DescriptionDuringapplicationinitialization,theEALcansilentlyreservelessmemorythanrequestedbytheuserthroughthe-mapplicationoption.
ImplicationTheapplicationfailstostart.
ResolutionEALwilldetectifthisconditionoccursandwillgiveanappropriateerrormessagedescribingstepstoxtheproblem.
AffectedEnviron-ment/PlatformAllDriver/ModuleEnvironmentalAbstractionLayer(EAL)7.
40SSHconnectivitywiththeboardmaybelostwhenstartingaDPDKapplicationTitleSSHconnectivitywiththeboardmaybelostwhenstartingaDPDKapplicationReference#26DescriptionCurrently,theIntelDPDKtakesoveralltheNICsfoundontheboardthataresupportedbytheDPDK.
ThisresultsintheseNICsbeingremovedfromtheNICsethandledbythekernel,whichhasthesideeffectofanySSHconnectionbeingterminated.
Seealsoissue#27.
ImplicationLossofnetworkconnectivitytoboard.
ResolutionDPDKnownolongerbindsportsonstartup.
PleaserefertotheGettingStartedGuideforinformationonhowtobind/unbindportsfromDPDK.
AffectedEnviron-ment/PlatformSystemsusingaIntelDPDKsupportedNICforremotesystemaccessDriver/ModuleEnvironmentAbstractionLayer(EAL)7.
38.
IntelI210EthernetcontrolleralwaysstripsCRCofincomingpackets48ReleaseNotes,Release2.
0.
07.
41RemotenetworkconnectionslostwhenrunningautotestsorsampleapplicationsTitleRemotenetworkconnectionslostwhenrunningautotestsorsampleapplicationsReference#27DescriptionThePCIautotestandsampleapplicationswillscanforPCIdevicesandwillremovefromLinux*controlthoserecognizedbyit.
Thismayresultinthelossofnetworkconnectionstothesystem.
ImplicationLossofnetworkconnectivitytoboardwhenconnectedremotely.
ResolutionDPDKnownolongerbindsportsonstartup.
PleaserefertotheGettingStartedGuideforinformationonhowtobind/unbindportsfromDPDK.
AffectedEnviron-ment/PlatformSystemsusingaDPDKsupportedNICforremotesystemaccessDriver/ModuleSampleapplications7.
42KNImaynotworkproperlyinamulti-processenvironmentTitleKNImaynotworkproperlyinamulti-processenvironmentReference#IXA00380475DescriptionSomeofthenetworkinterfaceoperationssuchas,MTUchangeorlinkUP/DOWN,whenexecutedonKNIinterface,mightfailinamulti-processenvironment,althoughtheyarenormallysuccessfulintheDPDKsingleprocessenvironment.
ImplicationSomenetworkinterfaceoperationsonKNIcannotbeusedinaDPDKmulti-processenvironment.
ResolutionTheifcongcallbacksarenowexplicitlysetineithermasterorsecondaryprocess.
AffectedEnviron-ment/PlatformAllDriver/ModuleKernelNetworkInterface(KNI)7.
41.
Remotenetworkconnectionslostwhenrunningautotestsorsampleapplications49ReleaseNotes,Release2.
0.
07.
43Hashlibrarycannotbeusedinmulti-processapplicationswithmultiplebinariesTitleHashlibrarycannotbeusedinmulti-processapplicationswithmultiplebinariesReference#IXA00168658DescriptionThehashfunctionusedbyagivenhash-tableimplementationisreferencedinthecodebywayofafunctionpointer.
Thismeansthatitcannotworkincaseswherethehashfunctionisatadifferentlocationinthecodesegmentindifferentprocesses,asisthecasewhereaDPDKmulti-processapplicationusesanumberofdifferentbinaries,forexample,theclient-servermulti-processexample.
ImplicationTheHashlibrarywillnotworkifsharedbymultipleprocesses.
Resolu-tion/WorkaroundNewAPIwasaddedformultiprocessscenario.
PleaserefertoDPDKProgrammer'sGuideformoreinformation.
AffectedEnviron-ment/PlatformAllDriver/Modulelibrte_hashlibrary7.
44UnusedhugepagelesarenotclearedafterinitializationTitleHugepagelesarenotclearedafterinitializationReference#IXA00383462DescriptionEALleaveshugepagesallocatedatinitializationinthehugetlbfseveniftheyarenotused.
ImplicationReservedhugepagesarenotfreedbacktothesystem,preventingotherapplicationsthatusehugepagesfromrunning.
Resolu-tion/WorkaroundReservedandunusedhugepagesarenowfreedbacktothesystem.
AffectedEnviron-ment/PlatformAllDriver/ModuleEAL7.
43.
Hashlibrarycannotbeusedinmulti-processapplicationswithmultiplebinaries50ReleaseNotes,Release2.
0.
07.
45PacketreceptionissueswhenvirtualizationisenabledTitlePacketreceptionissueswhenvirtualizationisenabledReference#IXA00369908DescriptionPacketsarenottransmittedorreceivedonwhenVT-disenabledintheBIOSandIntelIOMMUisused.
Morerecentkernelsdonotexhibitthisissue.
ImplicationAnapplicationrequiringpackettransmissionorreceptionwillnotfunction.
Resolu-tion/WorkaroundDPDKPollModeDrivernowhastheabilitytomapcorrectphysicaladdressestothedevicestructures.
AffectedEnviron-ment/PlatformAllDriver/ModulePollmodedrivers7.
46DoubleVLANdoesnotworkonIntel40GbEEthernetcon-trollerTitleDoubleVLANdoesnotworkonIntel40GbEEthernetcontrollerReference#IXA00369908DescriptionOnIntel40GbEEthernetcontrollerdoubleVLANdoesnotwork.
ThiswasconrmedasaFirmwareissuewhichwillbexedinlaterversionsofrmware.
ImplicationAftersettingdoublevlantobeenabledonaport,nopacketscanbetransmittedoutonthatport.
Resolu-tion/WorkaroundResolvedinlatestreleasewithrmwareupgrade.
AffectedEnviron-ment/PlatformAllDriver/ModulePollmodedrivers7.
45.
Packetreceptionissueswhenvirtualizationisenabled51CHAPTEREIGHTABIPOLICYABIversionsaresetatthetimeofmajorreleaselabeling,andABImaychangemultipletimesbetweenthelastlabelingandtheHEADlabelofthegittreewithoutwarning.
ABIversions,oncereleasedareavailableuntilsuchtimeastheirdeprecationhasbeennotedhereforatleastonemajorreleasecycle,afterithasbeentagged.
E.
g.
theABIforDPDK2.
0isshipped,andthenthedecisiontoremoveitismadeduringthedevelopmentofDPDK2.
1.
Thedecisionwillberecordedhere,shippedwiththeDPDK2.
1release,andactuallyremovedwhenDPDK2.
2ships.
ABIversionsmaybedeprecatedinwhole,orinpartasneededbyagivenupdate.
SomeABIchangesmaybetoosignicanttoreasonablymaintainmultipleversionsof.
InthoseeventsABI'smaybeupdatedwithoutbackwardcompatibilityprovided.
Therequirementsfordoingsoare:1.
Atleast3acknowledgmentsoftheneedonthedpdk.
org2.
Afulldeprecationcyclemustbemadetoofferdownstreamconsumerssufcientwarningofthechange.
E.
g.
ifdpdk2.
0isunderdevelopmentwhenthechangeisproposed,adeprecationnoticemustbeaddedtothisle,andreleasedwithdpdk2.
0.
Thenthechangemaybeincorporatedfordpdk2.
13.
TheLIBABIVERvariableinthemakele(s)wheretheABIchangesareincorporatedmustbeincrementedinparallelwiththeABIchangesthemselvesNotethattheaboveprocessforABIdeprecationshouldnotbeundertakenlightly.
ABIstabilityisextremelyimportantfordownstreamconsumersoftheDPDK,especiallywhendistributedinsharedobjectform.
EveryeffortshouldbemadetopreserveABIwheneverpossible.
Forinstance,reorganizingpublicstructureeldforaestheticorreadabilitypurposesshouldbeavoidedasitwillcauseABIbreakage.
Onlysignicant(e.
g.
performance)reasonsshouldbeseenascausetoalterABI.
8.
1ExamplesofDeprecationNoticesTheMacro#RTE_FOOisdeprecatedandwillberemovedwithversion2.
0,tobere-placedwiththeinlinefunctionrte_bar()Thefunctionrte_mbuf_grokhasbeenupdatedtoincludenewparameterinversion2.
0.
Backwardscompatibilitywillbemaintainedforthisfunctionuntilthereleaseofversion2.
152ReleaseNotes,Release2.
0.
0Themembersstructfoohavebeenreorganizedinrelease2.
0.
Existingbinaryapplica-tionswillhavebackwardscompatibilityinrelease2.
0,whilenewlybuiltbinarieswillneedtoreferencenewstructurevariantstructfoo2.
Compatibilitywillberemovedinrelease2.
2,andallapplicationswillrequireupdatingandrebuildingtothenewstructureatthattime,whichwillberenamedtotheoriginalstructfoo.
SignicantABIchangesareplannedforthelibrte_dostufflibrary.
Theupcomingrelease2.
0willnotcontainthesechanges,butrelease2.
1will,andnobackwardscompatibilityisplannedduetotheinvasivenatureofthesechanges.
Binariesusingthislibrarybuiltpriortoversion2.
1willrequireupdatingandrecompilation.
8.
2DeprecationNotices8.
2.
DeprecationNotices53CHAPTERNINEFREQUENTLYASKEDQUESTIONS(FAQ)9.
1Whenrunningthetestapplication,Iget"EAL:map_all_hugepages():openfailed:PermissiondeniedCannotinitmemory"Thisismostlikelyduetothetestapplicationnotbeingrunwithsudotopromotetheusertoasuperuser.
Alternatively,applicationscanalsoberunasregularuser.
Formoreinformation,pleaserefertoDPDKGettingStartedGuide.
9.
2IfIwanttochangethenumberofTLBHugepagesallocated,howdoIremovetheoriginalpagesallocatedThenumberofpagesallocatedcanbeseenbyexecutingthecat/proc/meminfo|grepHugecommand.
Onceallthepagesaremmappedbyanapplication,theystaythatway.
Ifyoustartatestapplicationwithlessthanthemaximum,thenyouhavefreepages.
Whenyoustopandrestartthetestapplication,itlookstoseeifthepagesareavailableinthe/dev/hugedirectoryandmmapsthem.
Ifyoulookinthedirectory,youwillseennumberof2Mpagesles.
Ifyouspecied1024,youwillsee1024les.
Thesearethenplacedinmemorysegmentstogetcontiguousmemory.
Ifyouneedtochangethenumberofpages,itiseasiertorstremovethepages.
Thetools/setup.
shscriptprovidesanoptiontodothis.
Seethe"QuickStartSetupScript"sec-tionintheDPDKGettingStartedGuideformoreinformation.
9.
3IfIexecute"l2fwd-cf-m64–n3–-p3",Igetthefollowingout-put,indicatingthattherearenosocket0hugepagestoallocatethembufandringstructurestoIhavesetupatotalof1024Hugepages(thatis,allocated5122MpagestoeachNUMAnode).
The-mcommandlineparameterdoesnotguaranteethathugepageswillbereservedonspecicsockets.
Therefore,allocatedhugepagesmaynotbeonsocket0.
Torequestmemorytobereservedonaspecicsocket,pleaseusethe–socket-memcommand-lineparameterinsteadof-m.
54ReleaseNotes,Release2.
0.
09.
4Iamrunninga32-bitDPDKapplicationonaNUMAsystem,andsometimestheapplicationinitializesnebutcannotallocatememory.
Whyisthathappening32-bitapplicationshavelimitationsintermsofhowmuchvirtualmemoryisavailable,hencethenumberofhugepagestheyareabletoallocateisalsolimited(1GBperpagesize).
Ifyoursystemhasalot(>1GBperpagesize)ofhugepagememory,notallofitwillbeallocated.
DuetohugepagestypicallybeingallocatedonalocalNUMAnode,thehugepagesallocationtheapplicationgetsduringtheinitializationdependsonwhichNUMAnodeitisrunningon(theEALdoesnotafnitizecoresuntilmuchlaterintheinitializationprocess).
Sometimes,theLinuxOSrunstheDPDKapplicationonacorethatislocatedonadifferentNUMAnodefromDPDKmastercoreandthereforeallthehugepagesareallocatedonthewrongsocket.
Toavoidthisscenario,eitherlowertheamountofhugepagememoryavailableto1GBperpagesize(orless),orruntheapplicationwithtasksetafnitizingtheapplicationtoawould-bemastercore.
Forexample,ifyourEALcoremaskis0xff0,themastercorewillusuallybetherstcoreinthecoremask(0x10);thisiswhatyouhavetosupplytotaskset,forexample,taskset0x10.
/l2fwd-c0xff0-n2.
Inthisway,thehugepageshaveagreaterchanceofbeingallocatedtothecorrectsocket.
Additionally,a–socket-memoptioncouldbeusedtoensuretheavailabilityofmemoryforeachsocket,sothatifhugepageswereallocatedonthewrongsocket,theapplicationsimplywillnotstart.
9.
5Onapplicationstartup,thereisalotofEALinformationprinted.
IsthereanywaytoreducethisYes,eachEALhasacongurationlethatislocatedinthe/congdirectory.
Withineachcongurationle,youwillndCONFIG_RTE_LOG_LEVEL=8.
Youcanchangethistoalowervalue,suchas6toreducethisprintoutofdebuginformation.
ThefollowingisalistofLOGlevelsthatcanbefoundintherte_log.
hle.
Youmustremove,thenrebuild,theEALdirectoryforthechangetobecomeeffectiveasthecongurationlecreatestherte_cong.
hleintheEALdirectory.
#defineRTE_LOG_EMERG1U/*Systemisunusable.
*/#defineRTE_LOG_ALERT2U/*Actionmustbetakenimmediately.
*/#defineRTE_LOG_CRIT3U/*Criticalconditions.
*/#defineRTE_LOG_ERR4U/*Errorconditions.
*/#defineRTE_LOG_WARNING5U/*Warningconditions.
*/#defineRTE_LOG_NOTICE6U/*Normalbutsignificantcondition.
*/#defineRTE_LOG_INFO7U/*Informational.
*/#defineRTE_LOG_DEBUG8U/*Debug-levelmessages.
*/9.
6HowcanItunemynetworkapplicationtoachievelowerla-tencyTraditionally,thereisatrade-offbetweenthroughputandlatency.
Anapplicationcanbetunedtoachieveahighthroughput,buttheend-to-endlatencyofanaveragepackettypicallyin-creasesasaresult.
Similarly,theapplicationcanbetunedtohave,onaverage,alowend-to-endlatencyatthecostoflowerthroughput.
9.
4.
Iamrunninga32-bitDPDKapplicationonaNUMAsystem,andsometimestheapplicationinitializesnebutcannotallocatememory.
Whyisthathappening55ReleaseNotes,Release2.
0.
0Toachievehigherthroughput,theDPDKattemptstoaggregatethecostofprocessingeachpacketindividuallybyprocessingpacketsinbursts.
Usingthetestpmdapplicationasanexam-ple,the"burst"sizecanbesetonthecommandlinetoavalueof16(alsothedefaultvalue).
Thisallowstheapplicationtorequest16packetsatatimefromthePMD.
Thetestpmdappli-cationthenimmediatelyattemptstotransmitallthepacketsthatwerereceived,inthiscase,all16packets.
Thepacketsarenottransmitteduntilthetailpointerisupdatedonthecorrespond-ingTXqueueofthenetworkport.
ThisbehaviorisdesirablewhentuningforhighthroughputbecausethecostoftailpointerupdatestoboththeRXandTXqueuescanbespreadacross16packets,effectivelyhidingtherelativelyslowMMIOcostofwritingtothePCIe*device.
However,thisisnotverydesirablewhentuningforlowlatency,becausetherstpacketthatwasreceivedmustalsowaitfortheother15packetstobereceived.
Itcannotbetransmitteduntiltheother15packetshavealsobeenprocessedbecausetheNICwillnotknowtotransmitthepacketsuntiltheTXtailpointerhasbeenupdated,whichisnotdoneuntilall16packetshavebeenprocessedfortransmission.
Toconsistentlyachievelowlatencyevenunderheavysystemload,theapplicationdevelopershouldavoidprocessingpacketsinbunches.
Thetestpmdapplicationcanbeconguredfromthecommandlinetouseaburstvalueof1.
Thisallowsasinglepackettobeprocessedatatime,providinglowerlatency,butwiththeaddedcostoflowerthroughput.
9.
7WithoutNUMAenabled,mynetworkthroughputislow,whyIhaveadualIntelXeonE5645processors@2.
40GHzwithfourIntel8259910GigabitEthernetNICs.
UsingeightlogicalcoresoneachprocessorwithRSSsettodistributenetworkloadfromtwo10GbEinterfacestothecoresoneachprocessor.
WithoutNUMAenabled,memoryisallocatedfrombothsockets,sincememoryisinterleaved.
Therefore,each64Bchunkisinterleavedacrossbothmemorydomains.
Therst64Bchunkismappedtonode0,thesecond64Bchunkismappedtonode1,thethirdtonode0,thefourthtonode1.
Ifyouallocated256B,youwouldgetmemorythatlookslikethis:256BbufferOffset0x00-Node0Offset0x40-Node1Offset0x80-Node0Offset0xc0-Node1Therefore,packetbuffersanddescriptorringsareallocatedfrombothmemorydomains,thusincurringQPIbandwidthaccessingtheothermemoryandmuchhigherlatency.
Forbestper-formancewithNUMAdisabled,onlyonesocketshouldbepopulated.
9.
8Iamgettingerrorsaboutnotbeingabletoopenles.
WhyAstheDPDKoperates,itopensalotofles,whichcanresultinreachingtheopenleslimits,whichissetusingtheulimitcommandorinthelimits.
confle.
Thisisespeciallytruewhenusingalargenumber(>512)of2MBhugepages.
Pleaseincreasetheopenlelimitifyourapplicationisnotabletoopenles.
Thiscanbedoneeitherbyissuingaulimitcommandoreditingthelimits.
confle.
PleaseconsultLinux*manpagesforusageinformation.
9.
7.
WithoutNUMAenabled,mynetworkthroughputislow,why56ReleaseNotes,Release2.
0.
09.
9DoesmykernelrequirepatchingtoruntheDPDKAnykernelgreaterthanversion2.
6.
33canbeusedwithoutanypatchesapplied.
Thefollowingkernelsmayrequirepatchestoprovidehugepagesupport:kernelversion2.
6.
32requiresthefollowingpatchesapplied:–addhugepagesupporttopagemap–xhugepagememoryleak–addnodemaskargtohugepagealloc(notmandatory,butrecommendedonaNUMAsystemtosupportper-NUMAnodehugepagesallocation)kernelversion2.
6.
31,requiresthefollowingpatchesapplied:–xhugepagememoryleak–addhugepagesupporttopagemap–adduionameattributesandportregions–addnodemaskargtohugepagealloc(notmandatory,butrecommendedonaNUMAsystemtosupportper-NUMAnodehugepagesallocation)Note:Bluetextinthelistsabovearedirectlinkstothepatchdownloads.
9.
10VFdriverforIXGBEdevicescannotbeinitialized.
SomeversionsofLinux*IXGBEdriverdonotassignarandomMACaddresstoVFdevicesatinitialization.
Inthiscase,thishastobedonemanuallyontheVMhost,usingthefollowingcommand:iplinksetvfmacwherebeingtheinterfaceprovidingthevirtualfunctionsforexample,eth0,beingthevirtualfunctionnumber,forexample0,andbeingthedesiredMACaddress.
9.
11IsitsafetoaddanentrytothehashtablewhilerunningCurrentlythetableimplementationisnotathreadsafeimplementationandassumesthatlock-ingbetweenthreadsandprocessesishandledbytheuser'sapplication.
Thisislikelytobesupportedinfuturereleases.
9.
12Whatisthepurposeofsettingiommu=ptDPDKusesa1:1mappinganddoesnotsupportIOMMU.
IOMMUallowsforsimplerVMphys-icaladdresstranslation.
ThesecondroleofIOMMUistoallowprotectionfromunwanted9.
9.
DoesmykernelrequirepatchingtoruntheDPDK57ReleaseNotes,Release2.
0.
0memoryaccessbyanunsafedevicethathasDMAprivileges.
Unfortunately,theprotectioncomeswithanextremelyhighperformancecostforhighspeedNICs.
iommu=ptdisablesIOMMUsupportforthehypervisor.
9.
13Whentryingtosendpacketsfromanapplicationtoitself,meaningsmac==dmac,usingIntel(R)82599VFpacketsarelost.
CheckonregisterLLE(PFVMTXSSW[n]),whichallowsanindividualpooltosendtrafcandhaveitloopedbacktoitself.
9.
14CanIsplitpacketRXtouseDPDKandhaveanapplication'shigherorderfunctionscontinueusingLinux*pthreadTheDPDK'slcorethreadsareLinux*pthreadsboundontospeciccores.
ConguretheDPDKtodoworkonthesamecoresandruntheapplication'sotherworkonothercoresusingtheDPDK's"coremask"settingtospecifywhichcoresitshouldlaunchitselfon.
9.
15IsitpossibletoexchangedatabetweenDPDKprocessesandregularuserspaceprocessesviasomesharedmemoryorIPCmechanismYes-DPDKprocessesareregularLinux/BSDprocesses,andcanuseallOSprovidedIPCmechanisms.
9.
16CanthemultiplequeuesinIntel(R)I350beusedwithDPDKI350hasRSSsupportand8queuepairscanbeusedinRSSmode.
Itshouldworkwithmulti-queueDPDKapplicationsusingRSS.
9.
17Howcanhugepage-backedmemorybesharedamongmulti-pleprocessesSeethePrimaryandSecondaryexamplesinthemulti-processsampleapplication.
9.
13.
Whentryingtosendpacketsfromanapplicationtoitself,meaningsmac==dmac,usingIntel(R)82599VFpacketsarelost.
58
WHloud Date(鲸云数据),原做大数据和软件开发的团队,现在转变成云计算服务,面对海内外用户提供中国大陆,韩国,日本,香港等多个地方节点服务。24*7小时的在线支持,较为全面的虚拟化构架以及全方面的技术支持!官方网站:https://www.whloud.com/WHloud Date 韩国BGP云主机少量补货随时可以开通,随时可以用,两小时内提交退款,可在工作日期间全额原路返回!支持pa...
主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...
IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...
fedora16为你推荐
wordpress模板我在wordpress模板下载了一套模板,做了www.xuanqianbao.com这个站,模板的原站是www.rrzdm.com.一样的模板,我在文件在插入图片,却不能在首页显示,他的网站却可以.直asp.net空间哪里可以申请asp空间的?360公司迁至天津请问360公司的全称是什么?支付宝注册网站在哪里注册支付宝账号抢米网什么意思抢小米手机刚刚网刚刚在网上认识了一个女孩子,不是很了解她,就跟她表白了。闪拍网闪拍网之类的网站怎么回事?drupal教程搭建一个多店家订餐网站,可以用joomla,wordpress完成吗?求教程qq头像上传失败我怎么总是QQ上传头像失败,团购程序有什么好用的社区团购小程序?
网址域名注册 域名注册使用godaddy 最新代理服务器ip 免费二级域名申请 个人域名备案流程 万网域名解析 花生壳域名贝锐 新加坡服务器 payoneer 名片模板psd 香港新世界电讯 云鼎网络 个人免费空间 40g硬盘 ftp教程 国外代理服务器地址 可外链相册 海外空间 游戏服务器出租 网页加速 更多