This commit consists of:
1) Dockerizing the netconf server
2) Update proto2yang to support module imports
3) Provide a set of yang modules derived from the proto files in voltha.
These files as well as the slight mmodifications to the proto files are
provided in the experiments/netconf/proto2yang directory
4) Code to automatically pull proto files from voltha into the netconf server,
compiles them and produce the yang equivalent files.
5) Add a getvoltha netconf API to provide voltha state information (basic at
this time). There is potential to make this generic once we experiment
with additional APIs
Change-Id: I94f3a1f871b8025ad675d5f9b9b626d1be8b8d36
diff --git a/experiments/netconf/proto2yang/common.proto b/experiments/netconf/proto2yang/common.proto
new file mode 100644
index 0000000..0ec8ce3
--- /dev/null
+++ b/experiments/netconf/proto2yang/common.proto
@@ -0,0 +1,71 @@
+syntax = "proto3";
+
+package voltha;
+
+// Convey a resource identifier
+message ID {
+ string id = 1;
+}
+
+
+// Logging verbosity level
+enum LogLevel {
+ DEBUG = 0;
+ INFO = 1;
+ WARNING = 2;
+ ERROR = 3;
+ CRITICAL = 4;
+}
+
+// Administrative State
+enum AdminState {
+
+ // The administrative state of the device is unknown
+ AS_UNKNOWN = 0;
+
+ // The device is pre-provisioned into Voltha, but not contacted by it
+ AS_PREPROVISIONED = 1;
+
+ // The device is enabled for activation and operation
+ AS_ENABLED = 3;
+
+ // The device is disabled and shall not perform its intended forwarding
+ // functions other than being available for re-activation.
+ AS_DISABLED = 2;
+}
+
+// Operational Status
+enum OperStatus {
+
+ // The status of the device is unknown at this point
+ OS_UNKNOWN = 0;
+
+ // The device has been discovered, but not yet activated
+ OS_DISCOVERED = 1;
+
+ // The device is being activated (booted, rebooted, upgraded, etc.)
+ OS_ACTIVATING = 2;
+
+ // Service impacting tests are being conducted
+ OS_TESTING = 3;
+
+ // The device is up and active
+ OS_ACTIVE = 4;
+
+ // The device has failed and cannot fulfill its intended role
+ OS_FAILED = 5;
+}
+
+// Connectivity Status
+enum ConnectStatus {
+
+ // The device connectivity status is unknown
+ CS_UNKNOWN = 0;
+
+ // The device cannot be reached by Voltha
+ CS_UNREACHABLE = 1;
+
+ // There is live communication between device and Voltha
+ CS_REACHABLE = 2;
+}
+