VOL-1281 - Update OpenOLT protobufs to support per-interface device information
Updated DeviceInfo to provide a variable list of pools by interface and by type.
Change-Id: Idfcaa1736edb3f487f9e072b5be2ecccf91f019b
diff --git a/protos/openolt.proto b/protos/openolt.proto
index d357334..f6dd8cf 100644
--- a/protos/openolt.proto
+++ b/protos/openolt.proto
@@ -244,6 +244,11 @@
string model = 2;
string hardware_version = 3;
string firmware_version = 4;
+
+ // Total number of pon intf ports on the device
+ fixed32 pon_ports = 12;
+
+ // If using global per-device technology profile. To be deprecated
string technology = 5;
fixed32 onu_id_start = 6;
fixed32 onu_id_end = 7;
@@ -251,7 +256,39 @@
fixed32 alloc_id_end = 9;
fixed32 gemport_id_start = 10;
fixed32 gemport_id_end = 11;
- fixed32 pon_ports = 12;
+ fixed32 flow_id_start = 13;
+ fixed32 flow_id_end = 14;
+
+ message DeviceResourceRanges {
+
+ // List of 0 or more intf_ids that use the same technology and pools.
+ // If 0 intf_ids supplied, it implies ALL interfaces
+ repeated fixed32 intf_ids = 1;
+
+ // Technology profile for this pool
+ string technology = 2;
+
+ message Pool {
+ enum PoolType {
+ ONU_ID = 0;
+ ALLOC_ID = 1;
+ GEMPORT_ID = 2;
+ FLOW_ID = 3;
+ }
+
+ enum SharingType {
+ DEDICATED_PER_INTF = 0;
+ SHARED_BY_ALL_INTF = 1;
+ }
+
+ PoolType type = 1;
+ SharingType sharing = 2;
+ fixed32 start = 3; // lower bound on IDs allocated from this pool
+ fixed32 end = 4; // upper bound on IDs allocated from this pool
+ }
+ repeated Pool ranges = 3;
+ }
+ repeated DeviceResourceRanges ranges = 15;
}
message Classifier {