Edgecore ASFvOLT16 VOLTHA Adapter and Driver Kim ......MT08.3.17 Edgecore ASFvOLT16 VOLTHA Adapter...

Post on 27-Jul-2021

7 views 0 download

transcript

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