Presentation is loading. Please wait.

Presentation is loading. Please wait.

OpenOMCI Framework Proposal

Similar presentations


Presentation on theme: "OpenOMCI Framework Proposal"— Presentation transcript:

1 OpenOMCI Framework Proposal
A refactored OMCI Communications Channel & Frame Generator Voltha Lockdown Meeting January 10th, 2018 ADTRAN, Inc

2 Proposed Framework Vendor ONU Device Adapter MIB Synchronizer
OMCI State Machine MIB Synchronizer Tasks MIB Sync Alarm Sync PM Collection ME Database New Classes LCI Service Software Download Others... Existing VOLTHA v1.1x Classes/Code OMCI CC MEFrame OMCI Message OMCIFrame EntityClass

3 Base Philosophy & Requirements
For all applicable classes being proposed: Make it easy for ONU Adapters to derive and overload functionality Python classes for use in a vendor’s ONU Device Adaptor (not a separate docker container) Additions/modifications to any existing classes should avoid breaking any existing functionality Focus on needs of initial use cases Clear documentation for each class and for a class’s methods 90%+ Unit test coverage for any new classes Allow ONU Device Adapter access to some of the classes and class attributes (not all interactions go through the state machine)

4 ONU State Machine This is the main interface from an ONU Device Adapter into the OpenOMCI Stack Provides Startup/Shutdown of OMCI Stack. Lifetime starts at ONU Activation completion. A set of task classes responsible for various ONU OMCI Stack actions such as: MIB Synchronization ONU Physical and Software Capability Discovery Alarm Synchronization Various Service Instantiations (LCI, VoIP, Video, ...) - Based on required use cases Software Image Download, Commit, and Activation PM Statistics (and OLT time synch, but not Time of Day) Others as needed (power shedding, ToD) Each task runs to completion before next task handled. Task queue has tasks in a defined priority so next highest runs when Stack is free Each task (and main state machine) is a single class that can be overloaded as needed by an ONU DA to customize

5 OMCI State Machine Initialization method will:
Register all known tasks. You can derive your own if you wish use customized tasks Start/Stop method to control the state machine Task start method to add or schedule a new task to be executed. Responsible for ME database Probably several additional methods to support task functionality Reference T-REC-G.Imp S!!MSW-E.doc (ITU)

6 ME Database An External DB to contain ME attribute values that were discovered during MIB Synchronization Needed to allow for hitless recovery after an ONU Device Adapter container migration or restart Leverage information in the EntityClass ME definition to create the storage attributes

7 Common OMCI CC class Add a common class to handle all OMCI Tx and Rx tasks that can be used (and extended as needed) for all ONU Device Adapters to .../voltha/extensions/omci Basic Requirements: User settable timeout for OMCI responses Matches Rx TID to Tx TID Send() returns a deferred that fires on Rx Separate queues for autonomous messages Statistics to help in diagnosing issues Much of this code already exists in the ADTRAN ONU Device Adapter. Still one or two check-ins still needed, but should be complete by 1/17/18

8 MEFrame - ME Message Creation
An Python base-class that wraps message attributes and provides methods for generating proper ME actions (create, delete, get, set, …) Basic Requirements: Extensive checking of input parameters to validate data is correct during frame generation Flexible method to supply ME attributes to ME Frame initializer A majority of MEs can be coded in two lines or less Much of this code already exists in the ADTRAN ONU Device Adapter. Still one or two check-ins still needed, but should be complete by 1/17/18

9 ONU MIB Synchronizer Responsible for synchronizing the ONU Device Adapters MIB with that of the ONU Hardware Performs ONT Bring up (MIB Reset, MIB upload, and MIB Download) Monitors/sinks AVC notifications from the ONU Maintains ONU Device Adapter MIB synchronization/resynchronization with that of the ONU Hardware

10 ONU Alarm Synchronizer
The ONU Alarm Synchronizer is responsible for monitoring the alarm status of the ONU hardware Monitor/sinks Alarm notifications from the ONU Performs alarm audit and resynchronization as needed with the ONU

11 Misc. Existing EntityClass work: Existing OMCFrame work:
Validate the current settings Add additional Entities that are needed to cover the initial use cases Property to allow access to some of the settings such as attribute names. Useful for error checking Add additional attributes (from the ITU and AT&T OpenOMCI spec) that may help some tasks easier to implement or provide for better error checking (max/min values, whether or not it can be reported in an AVC notification, …) Existing OMCFrame work: Finish coding several of the frames (notably ones that my have tables) Add any additional ones required to cover initial use cases

12 Original Picture from TST 1/4/18
Vendor ONU Device Adapter Future OpenOMCI Classes ONU State Machine Alarm Synchronizer MIB Synchronizer Proposed Classes Existing VOLTHA Classes OMCI_CC MEFrame OMCI Message OMCIFrame EntityClass AdapterAgent (Proxy Rx/Tx methods)


Download ppt "OpenOMCI Framework Proposal"

Similar presentations


Ads by Google