14c59ba41SMaros Marsalek= Honeycomb
24c59ba41SMaros Marsalek
34c59ba41SMaros MarsalekHoneycomb is an VPP agent that runs the same host as a VPP instance
44c59ba41SMaros Marsalekand exposes YANG models via NETCONF and RESTCONF to allow management of that VPP instance.
54c59ba41SMaros MarsalekHoneycomb uses jAPI to communicate with the VPP.
64c59ba41SMaros Marsalek
74c59ba41SMaros Marsalek[ditaa, "hc-architecture"]
84c59ba41SMaros Marsalek....
94c59ba41SMaros Marsalek                   /------------------\
104c59ba41SMaros Marsalek ODL               | RESTCONF/NETCONF |
114c59ba41SMaros Marsalek                   \-+--------------+-/
124c59ba41SMaros Marsalek                     |              ^
134c59ba41SMaros Marsalek---------------------|--------------|---------------------
144c59ba41SMaros Marsalek                     v              |
154c59ba41SMaros Marsalek                   /------------------\
164c59ba41SMaros Marsalek                   |    Data layer    |
174c59ba41SMaros Marsalek                   \-+--------------+-/
184c59ba41SMaros Marsalek                     |              ^
194c59ba41SMaros Marsalek Honeycomb           v              |
204c59ba41SMaros Marsalek               /-----+--------------+-----\
214c59ba41SMaros Marsalek               |     Translation layer    |
224c59ba41SMaros Marsalek               \----+----------------+----+
234c59ba41SMaros Marsalek                    |  VPP SPI impl  |
244c59ba41SMaros Marsalek                    +---+------+-----+
254c59ba41SMaros Marsalek                        |      ^
264c59ba41SMaros Marsalek------------------------|------|--------------------------
274c59ba41SMaros Marsalek                        v      |
284c59ba41SMaros Marsalek                       ++------++
294c59ba41SMaros Marsalek                       |  jAPI  |
304c59ba41SMaros Marsalek VPP              /----+--------+------\
314c59ba41SMaros Marsalek                  |        VPP         |
324c59ba41SMaros Marsalek                  \--------------------/
334c59ba41SMaros Marsalek
344c59ba41SMaros Marsalek....
354c59ba41SMaros Marsalek
364c59ba41SMaros Marsalek== NETCONF/RESTCONF layer
374c59ba41SMaros Marsalek
384c59ba41SMaros MarsalekNETCONF and RESTCONF support is provided by ODL (Honeycomb is an ODL application).
394c59ba41SMaros MarsalekIn the future we plan to minimize ODL dependencies or completely remove karaf.
404c59ba41SMaros Marsalek
414c59ba41SMaros MarsalekTransaction functionality is provided by the data layer.
424c59ba41SMaros Marsalek
434c59ba41SMaros Marsalek== Data layer
444c59ba41SMaros Marsalek
454c59ba41SMaros MarsalekModels CONFIG data store as a DataTree.
464c59ba41SMaros Marsalek
474c59ba41SMaros MarsalekOPERATIONAL data store reads are passed directly to the translation layer.
484c59ba41SMaros Marsalek
494c59ba41SMaros MarsalekProvides transaction functionality for NETCONF/RESTCONF layer.
504c59ba41SMaros Marsalek
514c59ba41SMaros Marsalek
524c59ba41SMaros Marsalek== Translation layer
534c59ba41SMaros Marsalek
544c59ba41SMaros MarsalekExtensible API for translation between Binding Aware data and actual device data.
554c59ba41SMaros MarsalekConsists of readers and writers responsible for communication with the device.
564c59ba41SMaros Marsalek
574c59ba41SMaros MarsalekProvides registry of readers and writers for the data layer.
584c59ba41SMaros Marsalek
593f3dfefaSMaros Marsalek== Supported features
603f3dfefaSMaros Marsalek
613f3dfefaSMaros MarsalekList of supported requests for RESTCONF northbound interface can be found in
623f3dfefaSMaros Marsalekpostman_rest_collection.json within the codebase. 
633f3dfefaSMaros MarsalekIt is a POSTMAN compatible collection and can be imported into POSTMAN application.
643f3dfefaSMaros Marsalek
654c59ba41SMaros Marsalek
664c59ba41SMaros Marsalek
674c59ba41SMaros Marsalek