OpenDaylight Controller:RESTCONF Northbound APIs
Yang models are used in the MD-SAL and in MD-SAL-based applications to define all APIs: inter-component APIs, plugin APIs, northbound APIs, etc. Yang models are used to generate Java APIs at compile time with OpenDaylight Yang Tools and to render REST APIs at run time according to the RESTCONF specification. Plugins designed for MD-SAL define yang models for their northbound REST APIs, which are then exposed to applications via an MD-SAL RESTCONF adapter.
The following MD-SAL northbound APIs are currently available:
- Top-Level Inventory: list of all nodes known to the controller. Nodes can be of different types (OpenFlow, Netconf, ...), but they all share the common base node type defined here.
- OpenFlow Nodes: extends the top-level inventory node with OF-specific features that allow retrieving and programming of OF-specific state, such as ports, tables, flows, etc.
- Base Topology: list of all topologies known to the controller. Topologies can be of different types (L3 unicast, IS-IS, OSPF, OF), but they all share the common base topology type defined here.
- L3 unicast IGP topology: extends the Base topology with attributes common to all link-state IGPs.
- IS-IS topology: extends L3 unicast IGP topology with attributes specific to IS-IS
- OSPF topology: extends L3 unicast IGP topology with attributes specific to OSPF
- Traffic Engineering Database (TED): extends L3 unicast IGP topology with Traffic engineering attributes
The complete list of yang models currently used in the MD-SAL and in MD-SAL based plugins (OpenFlow 1.0/1.3, BGP/PCEP, Netconf) can be found here.