17
Device Identification and Driver Management (DIDM) Anandhi Manikantan, Hewlett-Packard Gunjan Patel, Ciena Corporation #ODSummit

Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Device Identification and Driver Management (DIDM) Anandhi Manikantan, Hewlett-Packard Gunjan Patel, Ciena Corporation

#ODSummit  

Page 2: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Motivation

•  Problems:    •  Today  applica8ons  need  to  know  the  device’s  capabili8es  to  create  flow  mods  that  best  u8lize  the  capabili8es  of  the  device  

•  Controller  doesn’t  provide  a  common/consistent  device  specific  way  of  handling  CRUD  opera8ons  for  func8ons  such  as  VLAN  configura8on  

 

•  Mo8va8on:  •  Need  to  provide  Device  specific  func8onality  •  Extensible  -­‐Allow  new  device  specific  func8onality  to  be  dynamically  added,  and  allow  dynamic  support  for  new  device  types  

•  Standard/consistent  way  of  implemen8ng  device  specific  func8onality  

#ODSummit  

Page 3: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Scope

1)  Iden'fica'on  –determine  the  type  of  device  2)  Device  Driver  –  provide  device  specific  func8onality  3)  Synchroniza'on  –  collec8ng  and  pushing  data  to/from  a  device  4)  Define  Data  Models  for  Common  Features  –  define  data  models  for  

performing  common  func8on  such  as  VLAN  configura8on  5)  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 and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Design Considerations § Invoking  Drivers  

§ Standard  MD-­‐SAL  mechanisms  § RPCs  or  invoked  via  a  data  change  no8fica8on  

§ Iden'fica'on    § Framework  component  that  orchestrates  the  Iden8fica8on  process.    Drivers  provide  Iden8fica8on  component  with  informa8on  to  iden8fy  devices  via  MD-­‐SAL  mechanisms  

§ Synchroniza'on,  Driver  Registra'on  § Use  standard  MD-­‐SAL  mechanisms,  event  driven  via  no8fica8ons  (Decentralized)  

#ODSummit  

Page 5: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Dependencies § Creden8al  Manager  –  work  with  AAA  team    

§ SNMP  Plugin  

#ODSummit  

Page 6: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

MD-SAL enhancement Request Enhancement  requests  that  are  yet  to  be  implemented:  

§ Ability  to  control  how  much  processing  is  given  to  a  plugin  

§ Finer  filter  of  data  change  no8fica8ons:  § Eg,  no8fy  only  if  augmenta8on  equal  a  specified  value  

#ODSummit  

Page 7: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Component Diagram  Iden8fica8on  Manager  

#ODSummit  

Iden8ty  

MD-­‐SAL  

Device-­‐Types  

3800  

OF-­‐info:  HP,  3800  sysOid:  1.2.3.4.5.6.7.8  

5400  

Sync  

Device  Driver  

Config  

Iden'fica'on  Manager  Listen  for  

created  nodes  in  Ops  

No8fied  when  data  in  Device-­‐Types  tree  changes.  Read  new  device  type  info  

1

2  

Driver  (plugin)  

Write  iden8fica8on  info  to  Device-­‐Types  tree  in  Config  data  store   OF-­‐info:  HP,  5400  sysOid:  8.7.6.5.4.3.2.1  

Page 8: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Component Diagram  Iden8fica8on  Manager  

#ODSummit  

Creden8al  Manager  

Iden8ty  

MD-­‐SAL  Nodes  

Node  

3800  5400  

RS   Driver  

IID  3800  

VLAN  Driver  3800  

IID  5400  

VLAN  Driver  5400  

Routed  RPCS  

Create  inventory  node  in  Config  and  Opera8onal  data  store  

SNMP  library  

Sync  

Device  Driver  

Config  

Nodes  

Node  

3800  5400  

Opera'onal  

Discovery  Openflowplugin  

Iden'fica'on  Manager  Listen  for  

created  nodes  in  Ops  

No8fied  when  new  node  created  

Augment  with  Device  Type  

3

1

4  

Drivers  Registered   Drivers  Registered  

2  

Driver  (plugin)  

No8fied  when  Device  Type  

Augmenta8on  applied  

5  

Apply  augmenta8on  with  data  collected  

6  

Register  routed  RPCs  or  for  data  change  no8fica8ons  

7  

Page 9: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

DIDM Manual Discovery

•  Non-­‐OpenFlow  Discovery  •  Lifecycle  management  •  Device  Iden8fica8on  •  Future  work:  integra8on  with  Creden8al  Manager  from  AAA  project    •  Device  synchroniza8on    •  Communica8ons  down  •  Communica8ons  up    •  Managed/Unmanaged  state    

#ODSummit  

Page 10: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Discovery Request States

#ODSummit  

Ident-­‐Failed  

Sync-­‐Failed  

Iden'fying…  

Iden'fied  

Synchronizing…  

Synchronized  

Discovered!  

Comms-­‐down  

Comms-­‐up  

State  

Page 11: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Device States

#ODSummit  

Discovered/  Managed  

Deleted  

Unmanaged  

Unmanaged/  Comm  down  

Comms-­‐down  

Comms-­‐up  

Synchronizing  

Device  State  

Page 12: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

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    

Iden'fica'on  Mgr  

Determine type!

[Type  Iden8fied]  

[Type  Uniden8fied]  

Page 13: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

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!

fail!Connect!

fail!

Page 14: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

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 and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

#ODSummit  

Lithium  Deliverables   Beryllium  Goals  §  Common  model  augmenta'ons  for  device  

type  and  device  state      

•  Flow  Mod  driver      

§  Device  Drivers      

Data  models  and  APIs  for  common  “features”  such  as  VLAN  configura8on,  Flow  Mod  adjustment,  etc.  

•  Iden'fica'on  components   •  VLAN  driver      •  Add  VLAN    •  Delete  VLAN    •  Add  port    •  Remove  port    

   •  Documenta'on  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 and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Wiki and Trello •  DIDM  Wiki  

•  hips://wiki.opendaylight.org/view/DIDM:Main  •  Mee8ng  and  IRC  Slack  info  •  Team  members  •  Project  proposal  •  Link  to  Trello  board  •  Lithium  Release  plan  

•  Trello  Board  •  hips://trello.com/b/eUMAIoda/open-­‐daylight-­‐didm  

 

#ODSummit  

Page 17: Device Identification and Driver Management (DIDM) Anandhi ......Component Diagram )Iden8ficaon)Manager) #ODSummit) Creden8al) Manager) Iden8ty) MDOSAL) Nodes) Node 3800 5400 RS0

Thank  you!

#ODSummit