Device Identification & Driver Management (DIDM)
-
Upload
gunjan-patel -
Category
Technology
-
view
32 -
download
3
Transcript of Device Identification & Driver Management (DIDM)
![Page 1: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/1.jpg)
Device Identification and Driver Management (DIDM)Anandhi Manikantan, Hewlett-Packard
Gunjan Patel, Ciena Corporation
#ODSummit
![Page 2: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/2.jpg)
Motivation
• Problems: • Today applications need to know the device’s capabilities to create flow mods that best utilize the
capabilities of the device• Controller doesn’t provide a common/consistent device specific way of handling CRUD operations for
functions such as VLAN configuration
• Motivation:• Need to provide Device specific functionality• Extensible -Allow new device specific functionality to be dynamically added, and allow dynamic support
for new device types• Standard/consistent way of implementing device specific functionality
#ODSummit
![Page 3: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/3.jpg)
Scope
1) Identification –determine the type of device2) Device Driver – provide device specific functionality3) Synchronization – collecting and pushing data to/from a device4) Define Data Models for Common Features – define data models for
performing common function such as VLAN configuration5) Define RPCs for Common Features – define APIs (RPCs) for common
features such as Flow Mod adjustment 6) Discovery - discover a non-OpenFlow device (manual discovery)
#ODSummit
![Page 4: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/4.jpg)
Design Considerations
Invoking DriversStandard MD-SAL mechanismsRPCs or invoked via a data change notification
Identification Framework component that orchestrates the Identification process.
Drivers provide Identification component with information to identify devices via MD-SAL mechanisms
Synchronization, Driver RegistrationUse standard MD-SAL mechanisms, event driven via notifications
(Decentralized)
#ODSummit
![Page 5: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/5.jpg)
Dependencies
Credential Manager – work with AAA team SNMP Plugin
#ODSummit
![Page 6: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/6.jpg)
MD-SAL enhancement Request
Enhancement requests that are yet to be implemented:Ability to control how much processing is given to a pluginFiner filter of data change notifications:
Eg, notify only if augmentation equal a specified value
#ODSummit
![Page 7: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/7.jpg)
Component Diagram Identification Manager
#ODSummit
Identity
MD-SAL
Device-Types
3800
OF-info: HP, 3800sysOid: 1.2.3.4.5.6.7.8
5400
Sync
Device Driver
Config
Identification ManagerListen for
created nodes in Ops
Notified when data in Device-Types tree changes. Read new device type info
1
2
Driver (plugin)
Write identification info to Device-Types tree in Config data store OF-info: HP, 5400sysOid: 8.7.6.5.4.3.2.1
![Page 8: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/8.jpg)
Component Diagram Identification Manager
#ODSummit
Credential Manager
Identity
MD-SAL
Nodes
Node
38005400
RS Driver
IID 3800
VLAN Driver 3800
IID 5400
VLAN Driver 5400
Routed RPCS
Create inventory node in Config and Operational data store
SNMP library
Sync
Device Driver
Config
Nodes
Node
38005400
Operational
DiscoveryOpenflowplugin
Identification ManagerListen for
created nodes in Ops
Notified when new node created
Augment with Device Type
3
1
4
Drivers Registered Drivers Registered
2
Driver (plugin)
Notified when Device Type
Augmentation applied
5
Apply augmentation with data collected
6
Register routed RPCs or for data change notifications
7
![Page 9: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/9.jpg)
DIDM Manual Discovery
• Non-OpenFlow Discovery• Lifecycle management• Device Identification• Future work: integration with Credential Manager from AAA project • Device synchronization • Communications down• Communications up • Managed/Unmanaged state
#ODSummit
![Page 10: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/10.jpg)
Discovery Request States
#ODSummit
Ident-Failed
Sync-Failed
Identifying…
Identified
Synchronizing…
Synchronized
Discovered!
Comms-down
Comms-up
State
![Page 11: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/11.jpg)
Device States
#ODSummit
Discovered/ Managed
Deleted
Unmanaged
Unmanaged/ Comm down
Comms-down
Comms-up
Synchronizing
Device State
![Page 12: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/12.jpg)
Discovery flow (1/2) [animation]
#ODSummit
Client
PUT inv:node {IP}
Oper
CHANGE Inv:node{ip}
PUBLISH unidentified device
Config NE Plugin
PUT Inv:node {ip, type}
Device
Connect
ok
Protocol Plugin (SNMP)
Connect
ok
MD-SAL Identification Mgr
Determine type
[Type Identified]
[Type Unidentified]
![Page 13: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/13.jpg)
Discovery flow (2/2) [animation]
#ODSummit
Client Oper
RECEIVE Unidentified device
Config
PUT Inv:node {ip, type}
Device
Connect
ok
Protocol Plugin (TL1/CORBA)
Connect
ok
MD-SAL NE Plugin (Ciena 6500)
RECEIVE Unidentified device
NE Plugin (Ciena 5430)
Connect
failConnect
fail
![Page 14: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/14.jpg)
Synchronization [animation]
#ODSummit
Client
PUT inv:node {‘syncing’}
Oper
Data change {‘sync’}
MERGE Inv:node <<data>>, {state:’synchronized’}
Config NE Plugin
PUT inv:node {state: ‘synching’}
Device
Get data
<data>
Protocol Plugin
Get data
<data>
![Page 15: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/15.jpg)
#ODSummit
Lithium Deliverables Beryllium Goals Common model augmentations for device
type and device state
• Flow Mod driver
Device Drivers
Data models and APIs for common “features” such as VLAN configuration, Flow Mod adjustment, etc.
Identification components • VLAN driver • Add VLAN • Delete VLAN • Add port • Remove port
Documentation and sample driver • Non-OpenFlow discovery (Manual discovery)
Abstract/helper classes • Didm-feature-all (to install all the features)
• Tutorial on how to write a driver/use DIDM framework
![Page 16: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/16.jpg)
Wiki and Trello• DIDM Wiki
• https://wiki.opendaylight.org/view/DIDM:Main• Meeting and IRC Slack info• Team members• Project proposal• Link to Trello board• Lithium Release plan
• Trello Board• https://trello.com/b/eUMAIoda/open-daylight-didm
#ODSummit
![Page 17: Device Identification & Driver Management (DIDM)](https://reader033.fdocuments.in/reader033/viewer/2022052401/55d3859abb61eb353f8b469f/html5/thumbnails/17.jpg)
Thank you!
#ODSummit