summaryrefslogtreecommitdiffstats
path: root/v3po
diff options
context:
space:
mode:
Diffstat (limited to 'v3po')
-rw-r--r--v3po/Readme.adoc61
-rw-r--r--v3po/config/Readme.adoc10
-rw-r--r--v3po/data-api/Readme.adoc10
-rw-r--r--v3po/data-impl/Readme.adoc43
-rw-r--r--v3po/translate-api/Readme.adoc9
-rw-r--r--v3po/translate-impl/Readme.adoc9
-rw-r--r--v3po/translate-spi/Readme.adoc4
-rw-r--r--v3po/translate-utils/Readme.adoc3
-rw-r--r--v3po/v3po2vpp/Readme.adoc3
-rw-r--r--v3po/vpp-translate-utils/Readme.adoc3
10 files changed, 155 insertions, 0 deletions
diff --git a/v3po/Readme.adoc b/v3po/Readme.adoc
new file mode 100644
index 000000000..a2b6f4c4b
--- /dev/null
+++ b/v3po/Readme.adoc
@@ -0,0 +1,61 @@
+= Honeycomb
+
+Honeycomb is an VPP agent that runs the same host as a VPP instance
+and exposes YANG models via NETCONF and RESTCONF to allow management of that VPP instance.
+Honeycomb uses jAPI to communicate with the VPP.
+
+[ditaa, "hc-architecture"]
+....
+ /------------------\
+ ODL | RESTCONF/NETCONF |
+ \-+--------------+-/
+ | ^
+---------------------|--------------|---------------------
+ v |
+ /------------------\
+ | Data layer |
+ \-+--------------+-/
+ | ^
+ Honeycomb v |
+ /-----+--------------+-----\
+ | Translation layer |
+ \----+----------------+----+
+ | VPP SPI impl |
+ +---+------+-----+
+ | ^
+------------------------|------|--------------------------
+ v |
+ ++------++
+ | jAPI |
+ VPP /----+--------+------\
+ | VPP |
+ \--------------------/
+
+....
+
+== NETCONF/RESTCONF layer
+
+NETCONF and RESTCONF support is provided by ODL (Honeycomb is an ODL application).
+In the future we plan to minimize ODL dependencies or completely remove karaf.
+
+Transaction functionality is provided by the data layer.
+
+== Data layer
+
+Models CONFIG data store as a DataTree.
+
+OPERATIONAL data store reads are passed directly to the translation layer.
+
+Provides transaction functionality for NETCONF/RESTCONF layer.
+
+
+== Translation layer
+
+Extensible API for translation between Binding Aware data and actual device data.
+Consists of readers and writers responsible for communication with the device.
+
+Provides registry of readers and writers for the data layer.
+
+
+
+
diff --git a/v3po/config/Readme.adoc b/v3po/config/Readme.adoc
new file mode 100644
index 000000000..35151195e
--- /dev/null
+++ b/v3po/config/Readme.adoc
@@ -0,0 +1,10 @@
+= Honeycomb. Translation layer configuration
+
+Defines ReaderRegistry and WriterRegistry for VPP.
+Data layer delegates actual reads and writes to these registers.
+Registries define root readers and writers for supported YANG models.
+
+
+
+
+
diff --git a/v3po/data-api/Readme.adoc b/v3po/data-api/Readme.adoc
new file mode 100644
index 000000000..a13c5094f
--- /dev/null
+++ b/v3po/data-api/Readme.adoc
@@ -0,0 +1,10 @@
+= Honeycomb Data layer. API
+
+Provides data tree abstraction for data store modeling.
+ModifiableDataTree can be used to model CONFIG data store.
+ReadableDataTree can be used to model OPERATIONAL data store.
+
+
+
+
+
diff --git a/v3po/data-impl/Readme.adoc b/v3po/data-impl/Readme.adoc
new file mode 100644
index 000000000..61b2653b3
--- /dev/null
+++ b/v3po/data-impl/Readme.adoc
@@ -0,0 +1,43 @@
+= Honeycomb Data layer. Implementation
+
+Models CONFIG data store as a DataTree.
+
+Every read transaction reads directly from the DataTree.
+Every write transaction is validated, then passed to the translation layer.
+After successful update, config data tree is updated.
+
+OPERATIONAL data store reads are passed directly to the translation layer.
+
+Data transaction functionality for higher layers (i.e NETCONF/RESTCONF layer) is provided by DataBroker.
+
+[ditaa, "data-layer-architecture"]
+....
+ /------------------\
+ | RESTCONF/NETCONF |
+ \--------+---------/
+ |
+----------------------------|------------------------------------
+ v
+ /------------------\
+ | DataBroker |
+ \-+--------------+-/
+ | |
+ | read | read/write
+ Honeycomb v v
+ data layer /------+------\ /--+--------\ /----------\
+ | | | | | |
+ | Operational | | Config +------>+ DataTree +
+ | DataTree | | DataTree | | |
+ | | | | \----------/
+ \------+------/ \--+--------/
+ | |
+---------------------|--------------|----------------------------
+ v v
+ /-----+--------------+-----\
+ | Translation layer |
+ \--------------------------/
+....
+
+
+
+
diff --git a/v3po/translate-api/Readme.adoc b/v3po/translate-api/Readme.adoc
new file mode 100644
index 000000000..9e208744a
--- /dev/null
+++ b/v3po/translate-api/Readme.adoc
@@ -0,0 +1,9 @@
+= Honeycomb translation layer API
+
+Extensible API for translation between Binding Aware data and actual device data.
+Consists of readers and writers responsible for communication with the device.
+
+Provides registry of readers and writers for the data layer.
+For every supported YANG model there should be at least one reader and writer registered.
+Readers and writers form two tree structures matching corresponding YANG models.
+Readers and writers can be attached to any non-leaf YANG node. \ No newline at end of file
diff --git a/v3po/translate-impl/Readme.adoc b/v3po/translate-impl/Readme.adoc
new file mode 100644
index 000000000..1e5c63604
--- /dev/null
+++ b/v3po/translate-impl/Readme.adoc
@@ -0,0 +1,9 @@
+= Honeycomb translation layer implementation
+
+Provides composite implementations of child, list and root readers/writers.
+
+Root readers/writers can be used to provide data translation at root node level.
+List readers/writers help with data translation for nodes modeled as YANG lists.
+Child readers/writers can be used to provide data translation for non-leaf nodes.
+
+Readers and writers can be easily extended using customizers defined in the translate-spi module. \ No newline at end of file
diff --git a/v3po/translate-spi/Readme.adoc b/v3po/translate-spi/Readme.adoc
new file mode 100644
index 000000000..755538c07
--- /dev/null
+++ b/v3po/translate-spi/Readme.adoc
@@ -0,0 +1,4 @@
+= Honeycomb translation layer SPI
+
+Provides root, child and list customizer interfaces for extending readers/writers.
+Customizers can be used to implement actual data reads and writes. \ No newline at end of file
diff --git a/v3po/translate-utils/Readme.adoc b/v3po/translate-utils/Readme.adoc
new file mode 100644
index 000000000..17ebb6c6a
--- /dev/null
+++ b/v3po/translate-utils/Readme.adoc
@@ -0,0 +1,3 @@
+= Honeycomb translation layer utils
+
+Provides utility classes useful in translation layer implementation. \ No newline at end of file
diff --git a/v3po/v3po2vpp/Readme.adoc b/v3po/v3po2vpp/Readme.adoc
new file mode 100644
index 000000000..29e28528b
--- /dev/null
+++ b/v3po/v3po2vpp/Readme.adoc
@@ -0,0 +1,3 @@
+= Honeycomb translation layer SPI implementation for VPP
+
+Provides customizers for VPP YANG models translation. \ No newline at end of file
diff --git a/v3po/vpp-translate-utils/Readme.adoc b/v3po/vpp-translate-utils/Readme.adoc
new file mode 100644
index 000000000..1aaaea181
--- /dev/null
+++ b/v3po/vpp-translate-utils/Readme.adoc
@@ -0,0 +1,3 @@
+= Honeycomb. VPP translation layer utils
+
+Provides utility classes useful in translation layer implementation for the VPP. \ No newline at end of file