Edgecore ASFvOLT16 VOLTHA Adapter and Driver Kim ......MT08.3.17 Edgecore ASFvOLT16 VOLTHA Adapter...
Transcript of Edgecore ASFvOLT16 VOLTHA Adapter and Driver Kim ......MT08.3.17 Edgecore ASFvOLT16 VOLTHA Adapter...
MT08.3.17
Edgecore ASFvOLT16 VOLTHA Adapterand Driver
Kim Kempf, Sr. Systems ArchitectCORD Build 2017, San Jose
November 8, 2017
2
Edgecore ASFvOLT16 Whitebox OLT
VOLTHA
ASFvOLT16_oltadapter
• DisaggregatedOLTmeansminimizingtheamountofsoftwareinthedevice
• VOLTHAprovidesthevOLTcontrolabstraction• VOLTHAdeviceadapterinteractswithOLThardware• SWrequiredintheOLTtointerfacetotheadapter
• ButASFvOLT16hasnoexistingOLTcontrolsoftware• NoexistingopensourceOLTcontrolsoftware
In-OLTcontrolis:NETCONF?REST?
ThinAPI?Custom?
3
Edgecore ASFvOLT16 Whitebox OLT
• In-OLTsoftwareisneededfor:• EmbeddedCPUoperatingsystem• BroadcomMaplePONMACSoCs• BroadcomDNXQumranEthernetswitch• Otherhardwareandfunctions
• XFP,QSFP,Fans,Timing• Softwareupdate• Healthandstatus
4
Edgecore ASFvOLT16 Whitebox OLT
OpenNetworkLinux(OCP)
BroadcomMapleSDK
• Softwaresolutions:• ONLcanprovidefoundationforNOS• ONLPprovidesmostHWperipheralsupport• BroadcomMapleSDKforPONMAC• BroadcomSwitchSDKforQumranswitch• BroadcomBAL– BroadbandAbstractionLayer
• ProvidesabstractiontomanageMapleandQumranasanOLTsystem
• IntendedasfoundationforOLTcontrolFWBroadcomSwitchSDK
OtherHW andfunctions
BroadcomBAL
5
Edgecore ASFvOLT16 Whitebox OLT
• BALprovidesobjectorientedOLTaccessAPI
• HidesdetailsofPONMACandswitchAPIcalls
6
Edgecore ASFvOLT16 Whitebox OLT
• Theproblem?• BAL/MapleandQumranSDKsourcecodeisproprietaryandrequires
sourcecodelicenseagreement(SLA)betweenequipmentproviderandBroadcom
• NoequivalenttotheOF-DPACommunityDevelopmentPackage(CDP)forBALexistsfromBroadcom
• TheVOLTHAcommunitywantsASFvOLT16tobeasopensourceaspossible
• Thesolution?• WorkwithBroadcomtoopentheBALAPI(callsandobjectmodel)• ProposeASFvOLT16architecturetopartitionclosedandopensource
7
Edgecore ASFvOLT16 Whitebox OLT
• BALAPIisopen,adaptercanaccessallfunctionality• GRPCprovidesnaturalboundarybetweenopen
adapterandin-OLTdriverlinkingtoclosedBALAPIsourcecodefromBroadcom
Qumran
Maple
asfvolt16_oltadapter
Libbal_api_dist.sovoltha_bal_driver
UsingBALAPI
Bal_core_dist
Runtime dynamic linking
BAL API calls using GRPC
ASFvOLT16
BAL IPC messaging
8
ASFvOLT16 System Architecture Overview
• BroadcomBALisanimportantbuildingblockbutnotacompleteOLTsolution
• MoresoftwareisneededtomanageHWnotcoveredbyBAL• Fan,PSU,Opticalmodules,etc.• VitalProductData(S/N,Model,rev)• Softwareupdate/activate
• AnythingnotundercontrolofBALishandledbyDMTFRedfish®
vOLTHA
asfvolt16_oltadapter(Python)
ASFvOLT16OLTCPU
BALobjs
BALCore/Utils
QumranAPI
MapleSDK QumranSDK
BCM88470Qumran(QAX)
EthernetPSU/FAN(FPGA)
XFP/QSFP
SyncE/IEEE1588Timing
VPD(EEPROM)
Board(Reset/WD)
Uplink
Ethernet
Maple NNIPON Maple NNIPON Maple NNIPON Maple NNIPON
RedfishServer
HTTPS/REST
BoardConfigOpticssupervisionEquip/EnvAlarmsVPDextractOLTreset/rebootOLTSWupdate/activategRPC
ONLPAPI
MapleAPI
voltha_bal_driver
BALindobjects
C-GRPC
gRPC
vOLTHAIAdapterInterface
OpenNetworkLinux
ONIE
bal_core_dist
BALind
BALobjects
FlowsInterfaceStatisticsIndicationsOMCIPktProxyCPUPktProxy
vOLTHACore
OLTHWCtrlStatus(OHCS)
BAL_OLTAPImapping
StartupConfig
In-OLTDebug/Develcomponents
bcm_user_appl
bal_cli
bcm.user
onlpd
faultd
onlpdump
RedfishClient
C-GRPC
Thermalmonitor
9
ASFvOLT16 Whitebox OLT
• SourcecodeforASFvOLT16adapter• git clone https://gerrit.opencord.org/voltha• voltha/adapters/asfvolt16_olt
• InterfaceadapterforASFvOLT16• GRPCclient/serverconnectionclasses
• voltha/adapters/asfvolt16_olt/protos• Protobufs forBALobjectmodelandAPI
10
ASFvOLT16 Whitebox OLT
• SourcecodeforASFvOLT16driver(voltha_bal_driver)• git clone https://gerrit.opencord.org/asfvolt16-driver• Seesrc/README.mdforbuildinstructions• ThefollowingcomponentsarerequiredfromBroadcom:
• BAL/MapleSDK– version2.4.3.6• QumranSDK– version6.5.7• ASFvOLT16BALpatch– versionACCTON_BAL_2.4.3.6-V201710131639• ContactDaveBaron@BroadcomreferencecaseCS3233745
• ONLBuildenvironmentforASFvOLT16• https://wiki.opencord.org/download/attachments/2556712/ONL_Buil
d_Environment_Installation_Guide.pdf?api=v2
11
Edgecore ASFvOLT16
• Possible deployment scenarios• Similar to Edgecore OF-DPA• Pre-built binary package from Edgecore,
ONF or SI (system integrator)
12
Edgecore ASFvOLT16
• Future work• C++ based voltha_bal_driver• Use C++ based GRPC• In-band management support• OLT auto discovery• Expose more Maple features though BAL• Expanded use of syslog by voltha_bal_driver
13
• Accton/Edgecore• ALTEN Calsoft Labs • AT&T• Broadcom• Ciena• ONF• Radisys
Community Collaborators for ASFvOLT16
Thank You
14Radisys Corporation - CONFIDENTIAL
15
BACKUP
16
ASFvOLT16 Whitebox OLT
• ASFvOLT16DeviceManagementproposal(VOL-248epic)• CreateaRedfishRESTfulqueryandcontrolserviceinOLT• Redfishserverwillprovideaccesstofunctionssuchas:
• Firmwareupdateandactivate• OLTgracefulreboot• Monitoringoffansandpowersupplyunits(PSU)• MonitoringofXFP/QSFPopticalmodules• Sessionmanagement• Extractionofvitalproductdata
17
ASFvOLT16 Whitebox OLT
• ASFvOLT16DeviceManagementproposal(VOL-248epic)• CreateaRedfishclientserviceinasfvolt16_oltadapter• UsesRESTtoaccessRedfishserverinOLT• Redfishclientwillimplement:
• Sessionlogin• Getstatusoffans,PSUs,XFPs,QSFPs• Initiateandmonitorfirmwareupdateandactivation• OLTreboot• SubmitalarmstoVOLTHA• Configureboardoptions(watchdog,SyncE,portmodes)
18
ASFvOLT16 Whitebox OLT
Example:
Redfish Server Data Model for Health Status
19
• Accton/Edgecore• Reliable ASFvOLT16 hardware• Porting Broadcom BAL/Maple/Qumran SDK to ONL kernel for
x86_64 arch• BAL patch and patch versioning/build documentation• Redfish server support from OCP design
• Broadcom• Provided the open-source API for the BAL framework• Distributing the ASFvOLT16 BAL patch via CSP• Supporting PoC demos and driver development
Community Collaborators for ASFvOLT16
20
• ONF• Edgecore adapter project kickoff• Proposal for GRPC device simulator w/Juniper C-GRPC• BAL API .proto files• Asfvolt16_olt.py adapter initial framework and adapter class
• AT&T• Use case and feature set required from BAL API
• ALTEN Calsoft Labs/Ciena• Proposal for OLT device management using Redfish client/server• Redfish client in asfvolt16_olt adapter using REST APIs• Data models for management and configuration
Community Collaborators for ASFvOLT16
21
• Radisys• Leading community asfvolt16_olt adapter and in-OLT driver initiative• Developing in-OLT BAL API control driver (voltha_bal_driver)• Worked directly with Broadcom to:
• Develop understanding of VOLTHA community need for open BAL API• Negotiate required BAL API feature set• Define BAL package and patch distribution model suitable for SLA
• Worked directly with Edgecore/Accton to:• Transfer PoC result on Broadcom reference OLT to ASFvOLT16• Develop BAL acceptance test to ensure voltha_bal_driver foundation• Define BAL patch components and versioning method
Community Collaborators for ASFvOLT16