OAI EPC in Production Networks - OpenAirInterface

18
OAI EPC in Production Networks

Transcript of OAI EPC in Production Networks - OpenAirInterface

OAIEPCinProductionNetworks

Context

Facebookco-foundedtheTelecomInfraProject(TIP)in2016(www.telecominfraproject.com)◦ TheTelecomInfraProject(TIP)isanengineering-focusedinitiativedrivenbyoperators,infrastructureproviders,systemintegrators,andothertechnologycompaniesthataimtoreimaginethetraditionalapproachtobuildinganddeployingtelecomnetworkinfrastructure.

◦ TIPwillexplorenewapproachesandtechnologiesacrossthreeinitialfocusareas:access,backhaul,andcoreandmanagement.Theprojectgroupswithintheseareaswillleveragetheuniqueengineeringandoperationalexpertiseofeachmember.Theywillfocusondevelopingnewtechnologiesandexploringnewapproachestodeployinginbothdevelopedandemergingmarkets.

◦ Thiswillnotbeasmallundertakingandnosinglecompanycandoitalone.Opennessandcollaborationcanhelpeveryonemovefasterinunlockingnewefficienciesandinnovations,asproventhroughotherinitiativessuchasthe OpenComputeProject

OAIinTIP?

TIPaslegalframeworkallowingcompaniesto

participateandcollaborateontelecominfrastructure

innovations

TIPprovidingtoolingtocollaborate:generalcommunication,collaborationon

documentation,SWandHWprojects

Openreferenceimplementations:SWand

HW,fullyfunctionalreferencestobaseinnovationon

TIPcommunitylabs:spacestomeetphysically,innovatetogether,testand

enjoythesuccess

TIPprovidesaplacewhereopeninnovationontelecominfrastructurehappens

Fromreferenceimplementationtoproductionreadyde-factostandardimplementation

1991(September):Firstversionofthe Linuxkernel releasedtotheInternet

mid-1990s:LinuxrunsonclustercomputersatNASAandelsewhere

late1990s: Dell, IBM and Hewlett-Packard offercommercialsupportforLinuxontheirhardware; RedHat and VALinux have initialpublicofferings

2001(secondquarter):Linuxserverunitshipmentsrecordeda15%annualgrowthrate

2004:Linuxshippedonapproximately50%oftheworldwide serverblade units,and20%ofallrack-optimized servers

https://www.wikiwand.com/en/Linux_adoption

CriticaldomainsforproductiongradeOSS

CodeMaintenance:

Bugfixing

Stability

Performance

CodeEvolution:ArchitectureRefactoringto

ImprovePerformance

ImproveStability

TTMfornewfeatures

Functionality

Features

Roadmaps

Releases

Solution

Manageability

PackagingandDeployment

Documentation

Instrumentation

Completenessand

Correctness

Continuousbuild

Unittests

Interoperabilitytestingresults

Responsivemaintainerecosystemactivelymanagingthecodebase:

DrivingBroaderAdoption

Maintainerecosystemcoveringcriticaldomainsofproductionsoftware◦ Bugfixing,Stability,Performance◦ Features,roadmaps,releasemanagement◦ Architecture:Refactoringtoimproveperformance,stabilityandTTMfornewfeatures◦ Manageability,deployment,instrumentation◦ Interoperabilitytestingresults

Optionalforcommercialadoption◦ SupportecosystemofferingSLAs

Wherearewetoday?◦ PowerfulGitlab basedsourcecode repositoryandwikipages– enterpriseeditionneeded?

◦ CodeReviewflows◦ RoadmapsandFeatures

◦ Roomformoretransparencyonroadmapsandcodereviewprocess

WorkingmoreformallywithGitLab

Whathavewebeenlookingintosofar

FocusisCN,noteNBstack(currently).AlsonoworkonmajorenhancementsinthedirectionHetNet/multiRAT,interoperability,interconnectto2G/3GPSandCSdomains.

Robustness:cornercases(couldbeconsideredasfeatures),like◦ HandlingforthescenariowhenIMSIisnotpresentinHSS◦ DuplicateSession/Contextduetoincompletecleanup◦ FailifMTUcannotbereadcorrectly◦ Removehashtableinsertfromemm_ctx_set_valid_imsi◦ Fixfree_wrappertoactuallysettheunderlyingpointertoNULL◦ HandleSCTPreset◦ Clearouts11stateaftersessiondelete

Stability:memorymanagementandsharedobjectaccess

Listofsubmittedpatches• ServiceRequest• PeriodicTrackingAreaUpdatew/oActiveFlagandwithActiveFlag• MMEUEContext- KeyManagement• MoveallocationofMME_UE_S1AP_IDfromNAStoMME_APPmodule• HandlingofS1AP:InitialUEmessagewhenitcomeswithS-TMSI• HandlingtheUEContextReleaseRequestwithCauseUserInactivity• UEContextReleaseRequestProcedure- Enhancements,cleanupandfixes• SupportforMobileReachabilityTimerandImplicitDetachtimer• SupportforImplicitDetach• EPCStatistics– NewStats• S1APUEcontextreleaseimplicitly• ERRORIND- Gracefulhandling• UEContextReleaseProcedureGuardTimerinS1AP• T3450timerexpiry- Retx ofAttachAccept• T3460Timerexpiry- Retx ofSMCandAUTHrequestwhicheverisapplicable• FixforMMEsegmentationfaultduringrepeatedUEAttach/DetachusingGUTI• RemovalofassertinthecodeforanyincomingS1APinitiatingmessagethatisnot

handledcurrently• DLandULAMBRinInitialcontextsetupRequest– AlignitwithAPN-AMBRvalue

sentinNASmessage• LocalcleanupandUEcontextreleaseprocedureaftersendingRejectmessagetoUE

NAS.• UEIPaddressallocationFailure:Attach+PDNConnectivityReject• UEnotknowninHSS/Subscriber:AttachReject- SessionCleanup• MMECrashduringencodingofAttachReject+PDNConnectivityRejectencoding• PDNConnectivityRequest- OptionalIEDeviceProperties- DecodeFailure(LTEUE

SamsungGalaxyS7phone• FixforAuthenticaion failurewithcausesyncfailure

• AuthenticationFailure:S1Signalingrelease,S1,MMEandNAScontextrelease

• HandlingforthescenariowhenIMSIisnotpresentinHSS• DuplicateSession/Contextduetoincompletecleanup• FailifMTUcannotbereadcorrectly• Removehashtableinsertfromemm_ctx_set_valid_imsi• Fixfree_wrapper toactuallysettheunderlyingpointertoNULL• HandleSCTPreset• Clearouts11stateaftersessiondelete• Fixforheapoverflowcrash• Fixdoublefreeofemm_data args pointer• FixSCTPhandlinginMMEpreventingdoublefrees• FixEMMintegrityprotection• EnhanceDetachbygenerating“UEContextRelease”messageafterDetach-Accept• PreventstackoverwritewhileaccessingIMSI• CleanupUE-initiateddetach(non-switchoff /normal)scenario• RemoveSGWcheckforoptional“address_allocation_via_nas_signalling”• SendUEsecuritycapabilityinInitialContextSetup• Attachresultmessagenowdependsonattachrequesttype."EPS-only”• succeedsasnormal,withEPS-onlyattach.CombinedEPS/IMSIsucceedswithEPS-only

attachandanEMMcauseIE."• IPv4AllocationmechanismdefaultstoviaNASsignalingintheabsenceofUE

preferenceinPCO• HandlingUE-initiatedidledetach• CachingUEradiocapabilitiesdatainMMEtobeusedinsubsequentInitialcontext

setuprequestmessagetooptimizeradioresourceusageb/weNB andUE• Fixforue radiocapfornotenoughbufferspace(UEswithinterRATcapabilities)• Misc cleanupandfixesrelatedtocleanupofEMMandESMcontextduringUEcontext

deletion

BranchDetailsFixesavailableinhttps://gitlab.eurecom.fr/oai/openair-cn/commits/fixed_broadband branch.Thiswasbranched-offinSeptember2016.

Gettingmergedinhttps://gitlab.eurecom.fr/oai/openair-cn/commits/integ_broadband

Stability/Robustness– 32UEssimultaneoussignalinganddata

[OAI- Enhancement]MemoryLeaks

[OAIEPCFeature]IntegrationofOVSkernelmodule- Replacingtheosmocom GTP-UkernelmodulewithOVSkernelmodule

[OAIEPCFeature]PagingforDLdataarrivalfortheUEinidlemode(noS1-Utunnel)

[OAIEPCFeature]SupportforGTP-Uechorequest/response

[OAIEPCFeature]SupportforGTP-UErrorIndication(incorrectTE-ID)

[OAIEPCFeature]SupportforHandlingofeNBReset

[OAI- Refactor]emm_proc_attach_request()waytocomplex/long/nested- Restructureitandenhancehandlingofattachrequestwithsamecontent

[OAIEPCFeature]S1APindicationofnon-deliveredNASPDU

[OAIEPCFeature]GuardTimerinNASforauth_info_request/rsp (S6amessage)procedurewithHSSoverS6ainterface

====================================================================

*BLUE– Wish-listfeatures(notcommitted)

[OAIEPCFeature]AddSupportforsendingEMMInformationmessagejustaftercompletionofsuccessfulAttach.[OAIEPCFeature]HandlingofEMMstatusmessage[OAIEPCFeature] AddsupportinOAIEPCforMultiplePDNconnections[OAIEPCFeature]AddsupportinOAIEPCforMultipleBearersperUEperPDN.[OAIEPCFeature]Initialcontextsetup- Timerexpiryandfailure[OAIEPCFeature]MME_UE_S1AP_ID-Management(allocation/free)- Newalgorithm[OAIEnhancement]TE-IDforGTP-Callocation- NewAlgorithm- AtpresentUEcontextaddressisusedasS11GTP-CTE-IDandthismaybeoneofthepotentialreasonforinstabilityincaseofduplicatesessioncreation[OAIEnhancement]DynamicallyallocatespaceforUEradiocap[OAIEPCFeature]S1APErrorIndication– Properhandling[OAIFeature]Detach(Networkinitiated)================================================================*BLUE– Wish-listfeatures(notcommitted)

*GREEN– AssumedthatthesearealreadysupportedinlatestdevelopbranchofOAI(notplannedtoimplement)

[OAIEnhancement]LoggingdoesnotworkinOAIduringinitialization[OAIInvestigate]InvestigatetheITTImessageinterfacenotworkingwhenS11interfaceisnotspecified.Andfixit.[OAIEnhancement]Cleanupoldgtp tunnelwhenduplicatedgtp tunnelsetupfound[OAIInvestigate]HashtableimplementationinOAIisveryerrorprone[OAIEnhancement]Removereferencesto_imsi andalwaysuse_imsi64invarioushash-tablesMISCCrashes;◦ [Bug]SPGWcrashduringsessioncreation(duplicateSession)◦ [Bug]MMEcrashduringmulti-UEconnect/data/disconnectinloop[OAI–

[OAIInvestigate]InterfaceisbasedonGTPV1(GTP-C)– Thisis3rdpartyOSScodewithinOAI(nwEPC)andhasbasicsupportforGTP-C.Doesnottakecareoferrorcases.Needreviewandcleanupofbasicmessages================================================================*BLUE– Wish-listfeatures(notcommitted)

OtherOpportunities

CollapsedeNB – WiFi routertypeeNB integratingminimalcorenetwork(eventuallyincludesomeoftheeNB++sildes)

Authenticationasplugin– e2eauthenticationwithoutSIMcards

Metering,DPI,PolicywithSDNframeworks

SDNFrameworksinTelecomInfra

CoreNetworkOpportunities◦ Metering,QoS withOVS◦ Re-ArchitectingEPCwithmorestrictsplitofcontrolanduserplane

RANopportunities◦ Resource/SpectrummanagementviaSDNcontroller◦ Hierarchicalcontrollerarchitecture

Node-basedVerticalvs.Function-basedHorizontalArchitecture

17

• Mobiletransactionispartiallyprocessedateachnode• Rigidassemblyofindividualnodesleadstoscaling,planning/

modeling,andmonitoringchallenges• Repetitiveencap/decap atnodeboundaries,statereplication

ControlPlane

SessionState

DataPlane

MME HSS PGWSGW RegroupedArchitecture

Interface

Forwardingfunctions

Protocolhandling

Eventloop

Sessioncontext

Statemachine

InterfaceEncap/Decap

Protocolhandling

Eventloop

Sessioncontext

Mobilitycontext

Statemachine

Protocolhandling

Sessioncontext

Mobilitycontext

Forwardingfunctions

Protocolhandling

Eventloop

Sessioncontext

Statemachine

• Breaktheboundaryofthenodes…thereisnoMMEorS/P-GWanymore!

• Inter-nodeencap/decap becomesunnecessary• Nowweareleftwithfunctionsonly• Removetheduplicatefunctions• Extractcommonfunctions

Lookingforwardto…

Seeingyouonthemailinglist,discussfeaturesandroadmapsandcontribute